关于wire shark抓到以太网包小于64字节讨论,如抓到了54字节、60字节。

关于wire shark抓到以太网包小于64字节讨论,如抓到了54字节、60字节。

用wire shark 抓网络包时,经常能看到一些数据包小于64字节。如TCP连接与断链时候就有60字节与54字节的出现。
在这里插入图片描述
在这里插入图片描述

以太网规定,以太网帧数据域部分最小为46字节,也就是以太网帧最小是 6 + 6 + 2 + 46 + 4 = 64。当数据字段的长度小于46字节时,MAC子层就会在数据字段的后面填充以满足数据帧长不小于64 字节。由于填充数据是由MAC子层负责,也就是设备驱动程序。

当数据帧到达网卡时,在物理层上网卡要先去掉前导同步码和帧开始定界符,然后对帧进行CRC检验,如果帧校验和出错,就丢弃此帧。如果校验和正确,就判断帧的目的硬件地址是否符合自己的接收条件(目的地址是自己的物理硬件地址、广播地址、可接收的多播硬件地址等),如果符合,就将帧交给“设备驱动程序”做进一步处理。这时我们抓包的软件才能抓到数据.

因此,抓包软件抓到的是去掉前导同步码、帧开始分界符、FCS之外的数据,其最大值是6 + 6 + 2 + 1500 = 1514;最小是 6 + 6 + 2 + 46 + 4 = 64。

以上讲了除去4个字节的FCS,因此,抓包时最小就是60字节。

所以抓包抓到60字节是正常的,而且可以看到第二章图中尾部两个字节的填充是mac层做的。符合书上的知识。

【注1】在wireshark中,捕捉到的ARP数据包的长度,很多时候是42bytes,有时候是60bytes。

这个长度决定发送ARP请求端的操作系统的ARP包编码方式
【是否在ARP数据包末端添加18个0x00的padding】

【注2】有的TCP或UDP数据包的长度也可能小于60bytes。

结论:偏向于3

1.wireshark 滤掉了后面padding的0;
但是60字节的那个padding却没有滤。//所以应该不是这个。
2.发送方没有进行填充。
因为前面说的60字节是服务器端发来的,本地客户端可能没有填充。//应该也不是。

3.发送方没来得及填充就已经被抓包了。

  • 54字节是电脑端的网络调试助手发送的,也可能是因为助手发送包给下层是没有填充的,已经被wireshark抓包了。(mac层负责填充到64字节)

#参考
https://blog.csdn.net/ellle_welcome/article/details/111591481
https://blog.csdn.net/shenwansangz/article/details/52858897

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值