深度解秘HTTP通信细节 (5)

剩余的数据部分即为TCP协议相关的。TCP也是20B固定长度+可变长度部分。

字节值 字节含义
0x1ba8   16bit源端口7080  
0xdb9b   16bit目的端口。56219  
0x6d03 e87d   32bit序列号。1828972669  
0xa59a 492f   32bit确认号。2778351919. 第三个包的序列号为2778351310, 加上数据长度609, 正好相等。  
0x8   4bit首部长度,以4byte为单位。共8*4=32字节。因此TCP报文的可选长度为32-20=12字节  
0b000000   6bit保留位。目前置为0.  
0b010000   6bitTCP标志位。从左到右依次是紧急 URG、确认 ACK、推送 PSH、复位 RST、同步 SYN 、终止 FIN。ack有效  
0x00ec   滑动窗口大小,滑动窗口即tcp接收缓冲区的大小,用于tcp拥塞控制。4117  
0xe04e   16bit校验和。  
0x0000   紧急指针。仅在 URG = 1时才有意义,它指出本报文段中的紧急数据的字节数。当 URG = 1 时,发送方 TCP 就把紧急数据插入到本报文段数据的最前面,而在紧急数据后面的数据仍是普通数据。  

可变长度部分,协议如下:

字节值 字节含义
0x01   无操作  
0x01   无操作  
0x0402   表示支持SACK  
0x080a 2e4c b2ef 0f20 3acf   时间戳。Ts val=253770487, ecr=776778479  

数据部分为空,这个包仅为确认包。

再来看第六个包,字节流如下:

0x0000: 4500 00f9 d28c 4000 4006 874a 0a60 5cd4 0x0010: ac17 ccdc 1ba8 db9b 6d03 e87d a59a 492f 0x0020: 8018 00ec e113 0000 0101 080a 0f20 3af8 0x0030: 2e4c b2ef 4854 5450 2f31 2e31 2032 3030 0x0040: 204f 4b0d 0a41 6363 6573 732d 436f 6e74 0x0050: 726f 6c2d 416c 6c6f 772d 4f72 6967 696e 0x0060: 3a20 2a0d 0a44 6174 653a 2054 6875 2c20 0x0070: 3033 204a 616e 2032 3031 3920 3132 3a32 0x0080: 333a 3437 2047 4d54 0d0a 436f 6e74 656e 0x0090: 742d 4c65 6e67 7468 3a20 3438 0d0a 436f 0x00a0: 6e74 656e 742d 5479 7065 3a20 7465 7874 0x00b0: 2f70 6c61 696e 3b20 6368 6172 7365 743d 0x00c0: 7574 662d 380d 0a0d 0a7b 2264 6174 6122 0x00d0: 3a7b 2261 7265 6122 3a34 3837 3634 3133 0x00e0: 3535 3937 2e38 3432 3630 367d 2c22 6572 0x00f0: 7273 7472 223a 2222 7d 字节值 字节含义
0x4   IP版本为ipv4  
0x5   首部长度为5 * 4字节=20B  
0x00   服务类型,现在基本都置为0  
0x00f9   总长度为249字节,即整个包的长度是249字节  
0xd28c   标识。同一个数据报的唯一标识。当IP数据报被拆分时,会复制到每一个数据中。  
0x4000   3bit 标志 + 13bit 片偏移。3bit 标志对应 R、DF、MF。目前只有后两位有效,DF位:为1表示不分片,为0表示分片。MF:为1表示“更多的片”,为0表示这是最后一片。13bit 片位移:本分片在原先数据报文中相对首位的偏移位。(需要再乘以8 )  
0x40   生存时间TTL。IP报文所允许通过的路由器的最大数量。每经过一个路由器,TTL减1,当为 0 时,路由器将该数据报丢弃。TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定。发送 ICMP 回显应答时经常把 TTL 设为最大值 255。TTL可以防止数据报陷入路由循环。 此处为64.  
0x06   协议类型。指出IP报文携带的数据使用的是哪种协议,以便目的主机的IP层能知道要将数据报上交到哪个进程。TCP 的协议号为6,UDP 的协议号为17。ICMP 的协议号为1,IGMP 的协议号为2。该 IP 报文携带的数据使用 TCP 协议,得到了验证。  
0x874a   16bitIP首部校验和。  
0x0a60 5cd4   32bit源ip地址。  
0xac17 ccdc   32bit目的ip地址。  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpywyy.html