有关wireshark和omnipeek抓包发现差4个字节

今天在分析DHCP数据包格式的时候,分别用wireshark和omnipeek分别看了下抓包的数据,这个时候发现一个问题,这两个抓包软件所显示的数据包长度不一样,如下图

Wireshark

有关wireshark和omnipeek抓包发现差4个字节_第1张图片

Omnipeek

有关wireshark和omnipeek抓包发现差4个字节_第2张图片

故从直接抓包的显示中,两个软件差了4个字节,为了验证,我们首先从IP层的数据包看起,因为在IP层的数据包中,我们可以知道IP层对应的SDU的length,从而加上二层头部,就是数据包应该的大小了。比如我们选择DHCP discover的包,在wireshark中标识为618字节,在omnipeek中标识为622字节。下图是其IP层对应的length字段

有关wireshark和omnipeek抓包发现差4个字节_第3张图片

该字段两个软件都是对应604,毕竟这个是直接从数据包解析的。所以问题肯定是出现在二层的数据包部分的,二层头部的格式如下

有关wireshark和omnipeek抓包发现差4个字节_第4张图片

从二层数据包头部是6+6+2,一共14字节。所以604+14=618,就是对应的wireshark的算法,而omnipeek对应的算法是包含了FCS校验部分的,即整个二层帧是不仅有头,也有尾的,即6+6+2+4=18字节,所以604+18=622字节,所以综上,貌似omnipeek的解析更加准确一些。

你可能感兴趣的:(网络工程,路由协议,CISCO)