IEEE 802.11 中是否有以太网标头

IEEE 802.11 中是否有以太网标头

我一直在使用 wireshark 通过 wifi 捕获一些数据包进行分析。如果我在监控模式下捕获接口上的 IEEE 802.11 帧。如果我在开放网络上捕获未加密的 IEEE 数据包,则看不到任何以太网报头。但是,如果我在通常的接口(非监控模式下)上捕获相同的数据包,则可以看到以太网报头。我无法解密在监控模式下捕获的 wpa 数据包以进行进一步分析。那么,在传输 IEEE 数据包时是否真的存在以太网层?还是驱动程序在将数据包传递给监听上层的应用程序之前将其添加到以太网层?

这是一个缺少以太网层的数据包。 在此处输入图片描述


这是在通常的接口(不是监视器)上捕获的数据包的样子在此处输入图片描述

答案1

那么,传输 IEEE 数据包时是否实际上存在以太网层?

简短回答:不

较长的回答:IEEE 802.11 流量不是 IEEE 802.3 以太网流量。它们都是 OSI 模型中的 L2(和 L1)协议,但它们并不相同。

虽然它们有许多相似之处,但也存在重大差异。首先,802.11 有最多四个地址字段,根据帧的类型,这些地址字段可能用于或不用于不同目的,而 802.3 只有两个。

在您的示例中,“IEEE 802.11”部分应包含所有 L2 信息。因此它不会丢失。

或者它是在传递给监听上层的应用程序之前由驱动程序添加到其中的吗?

恰恰相反,在将低层报头传送给上层应用程序之前,低层报头会被剥离。

您提供的示例对我来说似乎完全正常。我对包含 802.3 标头的 802.11 流量更感兴趣,因为这可能表明发生了其他事情。


附注:解密 802.11 的能力与查看报头的能力无关。802.11 加密仅针对数据有效负载,因此报头仍然可见。事实上,在使用数据包捕获排除无线故障时,很少需要解密 802.11(如果您正在检查更高级别的协议并且需要加密数据,则通常在 AP 的有线端捕获更容易)。

相关内容