我正在看Wirehark中的几个wifi捕捉,我碰到了两个我以前从未见过的标本。首先,我认为IEEE 802.11数据帧将始终跟随LLC报头(802.2),前提是该帧实际包含数据。现在我有两个Wirehark捕获显示否则!
首先,我们可以看到wifi头后面的以太网II头:
现在这是我不明白的第一件事。在读取802.11数据标头时,接口应该如何知道它将成为以太网II? 802.11标头中没有字段指定接下来会发生什么。
其次是wifi头后面的“原始数据”。
和以前一样的问题,我们怎么知道Data正在关注,而不是LLC?
答案 0 :(得分:1)
第一个问题:
引用Wireshark 802.11解析器中的评论:
/* I guess some bridges take Netware Ethernet_802_3 frames,
which are 802.3 frames (with a length field rather than
a type field, but with no 802.2 header in the payload),
and just stick the payload into an 802.11 frame. I've seen
captures that show frames of that sort.
标题中没有字段说“这是桥接的Netware Ethernet_802_3帧”,因此Wireshark必须使用启发式方法。启发式是“如果有效载荷的前两个字节不是0xAA,有效载荷的前6个字节等于目的MAC地址,并且有效载荷的后6个字节等于源MAC地址,则这是桥接Netware Ethernet_802_3 frame“,在这种情况下,它调用以太网解析器。因为这是一种启发式方法,当然不能保证一直得到正确的答案。
IEEE Std 802.11-2012在第5.1.4节“MSDU格式”中说:
该标准是IEEE 802系列LAN标准的一部分,因此所有MSDU都是ISO / IEC 8802-2:1998中定义的LLC PDU。为了实现互操作性,建议实施者应用所描述的程序在ISO / IEC技术报告11802-5:1997(E)(以前称为IEEE Std 802.1H-1997 [B21])中,以及处理一些特定网络协议的选择性转换表(STT),特别注意将MSDU传递到LAN或使用以太网帧格式的操作系统组件时所需的操作。请注意,STA中可能需要此类翻译。
“ISO / IEC 8802-2:1998”也是ANSI / IEEE Std 802.2,1998版,因此说有效载荷应该以802.2标头开头。至少在我阅读IEEE Std 802.1H-1997时,没有802.2报头的以太网帧应当使用其以太网类型值转换为SNAP帧,当使用802.2桥接到LAN时,例如802.11 LAN。我想,由于Netware Ethernet_802_3帧没有有效的802.2 LLC头和没有类型字段(它们有一个长度字段;我认为,因为它们没有802.2以太网报头后面的标题,这意味着它们在技术上不是有效的以太网帧),它们不在相关规范的涵盖范围之内,因此从技术上讲,只要放入以太网数据包,从以太网报头开始,就不存在协议错误,进入数据领域。据推测,这些数据包只发送到网桥,假设网桥知道如何做正确的事情。
第二个问题:
在802.11标头之后看到“数据”的最常见原因是有问题的数据包是加密的(WEP或WPA / WPA2),而Wireshark没有网络密码(对于WPA / WPA2个人而言) /预共享密钥模式,捕获时没有初始EAPOL握手;不支持在Enterprise / 802.1X模式下解密。)
您是在“受保护”(WEP或WPA / WPA2)网络上捕获的吗?