Wireshark能捕获整个以太网帧,包括前导码,CRC和帧间间隔吗?

我正在Wireshark中检查以太网帧。 根据“以太网帧”维基百科文章和附图,“一个帧以7个八位字节的前导码和1个八位字节的起始帧定界符(SFD)开始。

文章还强调,“前导码和起始帧定界符不被包嗅探软件显示,因为这些比特在OSI第1层被networking接口控制器剥离,然后被传送到OSI第2层,该第2层是包嗅探器收集他们的数据。“

我的问题是:有没有办法使用Wireshark捕获和显示整个以太网帧? 如果没有,是否有可能实现这一点,而不使用额外的硬件?

// SYNACK

我的问题是:有没有办法使用Wireshark捕获和显示整个以太网帧?

只有当networking适配器捕获整个帧并将其提供给主机时,该适配器的驱动程序才能设置适配器来执行此操作,而操作系统中的捕获机制(或者连接到libpcap / WinPcap)允许提供。

我知道没有提供前导码和SFD的以太网适配器。

但是,至less有一些适配器可能会提供CRC / FCS。 (我在很多年前使用的Mac上的适配器的确如此;我不认为现在的Mac中的适配器是这样做的。)Wireshark尝试猜测以太网数据包是否具有FCS,如果它认为是这样的话,则处理它。 (当我使用有问题的Mac时,我在Wireshark中添加了代码。)

如果没有,是否有可能实现这一点,而不使用额外的硬件?

不,正如答案的前一部分所表明的那样。

Hilscher GesellschaftfürSystemautomation mbH拥有一系列netAnalyzer设备 ,可以进入“透明模式”。 在这种模式下, 前导码,SFD和FCS都存在 ,Wireshark 可以读取这些设备产生的pcap文件。

据我所知,我认为Endace的DAG卡可以提供FCS,但是它们不能提供序言或SFD。

根据Wireshark的网站,某些操作系统的驱动程序可以让你看到比其他更多的东西。 它是指FCS,但我不确定这是否与您所询问的CRC相同。

http://www.wireshark.org/faq.html#q7.10

请注意,这不是事实:

我知道没有提供前导码和SFD的以太网适配器。

如果您查看飞思卡尔P2020 SoC (以及最有可能的所有其他networking硬件),它可以让您看到传入的前导码,更改前导码的长度, 并发出自定义前导码。

这在个人电脑中可能并不常见,但对于任何“严重”的networking设备来说,这似乎是非常普遍的。 不知道在这样的设备上运行的Wireshark是否能够通过某种方式与操作系统进行通信,也许只是将一个原始数据包嗅探器附加到物理networking上更容易一些。