今天分析一下TCP协议建立连接时的三帧数据,数据前34字节是以太网的帧头,在上一篇文章已经进行过分析,在这里就不分析了。
建立一个TCP连接一般需要收/发3个报,首先由客户机发送一个同步报,服务器收到后发送一个同步应答报,最后由客户机收到同步应答报后,发送一个应答报。成功建立之后就可以进行数据传输了。下面是截取数据包的具体分析。
//TCP
41 52 4d 4e 45 54 00 21 70 3c f5 02 08 00 45 00
00 30 9a e3 40 00 80 06 dd ef c0 a8 00 68 c0 a8
00 3c
0a f1 //源端口2801
03 20 //目标端口800
4f cd 6b ca //序列号(ISN)
00 00 00 00 //确认号(ACK)
70 //TCP帧头长度(高4位) 28字节
02 //标志(低6位) syn set , fin not set
ff ff //剩余缓冲区空间 65536
37 82 //校验和
00 00 //紧急指针
02 04 05 b4 01 01 04 02//操作8字节 最大段1460
00 21 70 3c f5 02 41 52 4d 4e 45 54 08 00 45 00
00 2c 00 00 00 00 ff 06 39 d7 c0 a8 00 3c c0 a8
00 68
03 20 //源端口号800
0a f1 //目标端口号2801
00 00 19 6e //序列号
4f cd 6b cb //确认号
60 //TCP帧头长度(高4位) 24字节
12 //标志(低6位) ack:set syn:set
08 00 //剩余缓冲区空间 2048
30 3e //校验和
00 00 //紧急指针
02 04 00 80 00 00 //options 4字节 why 6byte ?
41 52 4d 4e 45 54 00 21 70 3c f5 02 08 00 45 00
00 28 9a e4 40 00 80 06 dd f6 c0 a8 00 68 c0 a8
00 3c
0a f1 //源端口2801
03 20 //目标端口800
4f cd 6b cb //序列号(ISN)
00 00 19 6f //确认号(ACK)
50 //TCP帧头长度(高4位) 20字节
10 //标志(低6位) ack:set
ff ff //剩余缓冲区空间 65536
82 0f //校验和
00 00 //紧急指针
文章评论(0条评论)
登录后参与讨论