以太帧、ip数据包、tcp数据报长度究竟怎么算?
1,抓包软件会去除帧的前导同步码、帧开始分界符、FCS,故6+6+2+46=60,46为必备要求,否则填充之。6+6+2+1500=1514
参见,https://blog.csdn.net/farmwang/article/details/64131318
2,ip包头最短20字节,最长60字节。变化原因在于有无可选字段
https://blog.csdn.net/Vindeselly/article/details/43150959
3,tcp报头长度亦可变,为20-60字节,区别也是有无可选字段。
https://blog.csdn.net/u012327735/article/details/105351572
4,udp报文头长度为8
案例:如下例:tcp含三个可选项,故总长度为32=20+3×4。
到了ip包阶段,没有options,故ip包头20。加起来32+20=52。
到了封帧阶段,由于前导同步码、帧开始分界符、FCS被wireshark剔除,故只剩下6+6+2+52=66
5,icmp
tcp/ip不准确,IP可承载多种协议如icmp。一般地icmp报文头长8,所以32+8+20+14=74
Kali linux上wireshark这个值似乎算错了。怎么算都对不上。windows的wireshark是对的。坑爹啊。

浙公网安备 33010602011771号