Wireshark的“长度”列 – 它包括什么?

谁能告诉我WireShark中的“Length”列是指什么?

我很确定这是线路上整个框架的“大小”。 我做了一些计算,但没有得到WireShark报告的数字。

有谁知道“长度”包括什么? 我读过的地方是前导码(7个八位字节),帧定界符(1个八位字节)和FCS(4个八位字节)的开始通常不被捕获,但这是否意味着WireShark仍然添加这些数字以进行“长度”计算?

这是为特定帧捕获的字节数; 它将匹配wireshark窗口底部的原始数据的字节数。

捕获的内容取决于捕获如何完成,但通常捕获从头部开始到有效负载结束。

点击wireshark窗口中已解码的协议部分,将突出显示数据的哪些部分是哪个协议的一部分,以及不同头部所捕获的意思。

看Shane Madden的回答。

另请注意

  1. Wireshark不添加数字来获得这个长度,它从libpcap / WinPcap中获取数字,从底层捕获机制获取数据,通常从设备驱动程序获取数字,通常从硬件获取数字。
  2. 在以太网上,前导码和SOF分隔符很less被捕获(我不认为它曾经被常规的以太网硬件和普通的以太网设备驱动程序捕获),FCS通常不被捕获,但有时可能是(Wireshark具有启发式的原因试着猜测是否有一个FCS是至less有一台机器上的以太网适配器和Mac OS X驱动程序确实提供了FCS,所以传入的数据包包括FCS,尽pipe传出的数据包没有。
  3. 在其他networking上,它取决于(TM)。 对于802.11,您可能会也可能不会获得FCS,您也可能包含广播元数据(数据速率,信道等等)的802.11报头之前得到一个报头;该数据不是作为空中的比特传输的数据,而是它确实出现在分组数据中, 作为长度的一部分进行计数,对于PPP,你可能会也可能不会看到FCS,对于类似HDLC的帧中的PPP,你可能会也可能不会看到类似HDLC的头。

此外,对于以太网,看到我对这个问题的答案关于捕获前导码,SFD和FCS 。