我一直在使用wireshark分析通过wifi捕获一些数据包。 如果我在监视模式的接口上捕获IEEE 802.11帧。 如果我在没有encryption的开放networking上捕获IEEE数据包,那么我看不到任何以太网报头。 但是,如果我捕获相同的数据包在一个通常的接口(不在监视器模式),那么我可以看到以太网头。 我无法解密在监视模式下捕获的wpa数据包以进行更多分析。 那么当IEEE数据包被传输时,实际上是否有一个以太网层? 还是在驱动程序将其添加到上层的应用程序之前?
这是一个丢失了以太网层的包。
这是数据包在通常的界面上捕获的样子(不在监视器中)
那么在IEEE数据包传输时,实际上是否有以太网层?
简短的回答:不
较长的回答:IEEE 802.11stream量不是IEEE 802.3以太网stream量。 它们在OSI模型中都是L2(和L1)协议,但它们不一样。
虽然他们有很多相似之处,但也有很大的不同。 首先,802.11最多有四个地址字段,根据帧的types不同可能有不同的用途,而802.3则有两个。
在你的例子中,“IEEE 802.11”部分应该包含你所有的L2信息。 所以它不会丢失。
还是在驱动程序将其添加到上层的应用程序之前?
恰恰相反。 在传送到上层的应用程序之前,较低层的标题被剥离。
你提供的例子对我来说似乎完全正常。 我会更好奇802.11stream量,包含一个802.3头,因为这可能表明其他事情正在进行。
注意:解密802.11的能力与查看标题无关。 802.11encryption仅在数据有效载荷上,所以标题保持可见。 实际上,在使用数据包捕获对无线进行故障排除时,很less有必要对802.11进行解密(如果您正在检查更高级别的协议,并且需要encryption数据,通常在AP的有线端捕获数据会更容易)。