问答题 一个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连接。
【答案解析】