问答题 主机H通过快速以太网连接到某网络中,H与服务器S使用TCP通信时,在H上捕获的其中2个IP分组如下表(a)所列:
表(a)
编号 IP分组的前40字节内容(十六进制)
1 45 00 00 30  3a 66 40 00  80 06 34 58  c0 a8 05 5f  c0 a8 05 5a
04 1a 00 15  6d 2a 1c 94  00 00 00 00  70 02 ff ff  69 28 00 00
2 45 00 00 30  1f 4d 40 00  80 06 4f 71  c0 a8 05 5a  c0 a8 05 5f
00 15 04 1a  17 29 2f 2f  6d 2a 1c 95  70 12 ff ff  22 bf 00 00
请回答下列问题。

问答题 表(a)中的IP分组中,是应用层哪种协议?主机H和服务器的IP地址分别是多少?
【正确答案】表(a)中的IP分组中,是应用层的FTP协议,主机H和服务器的IP地址分别是192.168.5.95和192.168.5.90。
【答案解析】
问答题 假如第三条报文是表(b)中报文,请问这是正确的么?如果有错误,请给出正确的报文字段填充和原因,注意不考虑校验和字段。
表(b)
3 45 00 00 28  3a 67 40 00  80 06 34 5f  c0 a8 05 5a  c0 a8 05 5f
04 1a 00 15  6d 2a 1c 95  17 29 2f 2f  50 12 ff ff  4f 83 00 00
【正确答案】正确报文如下表所示:

3 45 00 00 28  3a 67 40 00  80 06 34 5f  c0 a8 05 5f  c0 a8 05 5a
04 1a 00 15  6d 2a 1c 95  17 29 2f 30  50 10 ff ff  4f 83 00 00
【答案解析】
问答题 第三条报文如果在网络中正确传输,需要填充的数据是多少?
注:IP分组头和TCP段头结构分别如图(a)、图(b)所示。

【正确答案】还必须填充6个字节。
【答案解析】[解析] 本题考查应用层、传输层和网络层的协议分析,该类题目从截获的十六进制数据出发,根据协议的工作原理,考查协议的语义特点,以及原理的深化,本题中第二题涉及对数据纠错,是协议分析类题目的一个新方向。
问题一,如何从具体的数据包中得出应用层协议的类型呢?这一点要从传输层协议的端口号入手,不同的端口号标识了主机上的不同应用程序,进而通过端口所对应的IP地址,就可以分辨出源和目的所对应的客户端和服务器,针对这个题目,这里给出了两个报文所对应的协议树,见图(a)和图(b),所需要字段的值很容易就可以得出,如果对分组格式清晰的话,也可以直接求出所需要的字段的数值进行判断。
问题二是对第三条报文正确的判断,这里从第一和第二报文要分析出,这实际上是一个TCP三步握手的过程,第三条报文恰好是服务器反馈给客户端连接建立成功的报文,特点是,ACK序号要加1,源序号应该是报文二的ACK序号,ACK的标志位要设置为1,题目给出的报文可以看出,源和目的IP地址正好相反了,标志位设置错误,ACK序号没有加1。
问题三考查以太网最小数据帧长是46字节,目前IP和TCP包头分别占了20个字节,因此还必须填充6个字节。