问答题
一个TCP的首部字节数据见下表,请分析后回答问题。
{{B}}一个TCP的首部字节数据{{/B}}
|
| 编号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
| 数据 |
0d |
28 |
00 |
15 |
00 |
5f |
a9 |
06 |
00 |
00 |
| 编号 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
| 数据 |
00 |
00 |
70 |
02 |
40 |
00 |
C0 |
29 |
00 |
00 |
问答题
本地端口号是多少?目的端口号是多少?
【正确答案】首先写出TCP首部的格式(考研时会直接给出的),如下图所示。然后根据首部格式来分析题目中的数据。
[*]
TCP首部的格式
源端口为第1、2字节,值是0d 28,转换为十进制是3368。第二个2B字段是00 15,表示目的端口,转换为十进制是21。
【答案解析】
问答题
发送的序列号是多少?确认号是多少?
【正确答案】第5~第8字节表示了顺序号,值是00 5f a9 06,转换为十进制是6269190。紧接着的4个字节是确认号,值是0。
【答案解析】
问答题
TCP首部的长度是多少?
【正确答案】第13字节的前4位表示TCP首部的长度,这里的值是7,乘以4后得到TCP的首部长度为28,说明该TCP首部还有8B的选项数据。
【答案解析】
问答题
这是一个使用什么协议的TCP连接?该TCP连接的状态是什么?
【正确答案】根据目标端口是21,可以知道这是一条FTP的连接。而TCP的状态则需要分析第14字节,第14字节的值是02,即SYN置位了,而且ACK=0表示该数据段没有捎带的确认域,这说明是第一次握手时发出的TCP连接。
【答案解析】