我有一个 Wi-Fi 捕获(.pcap
)我正在分析并发现 802.11 规范与 Wireshark 对数据的解释之间存在不一致之处。具体来说,我想要分解的是 2 字节 802.11帧控制 field.
取自http://www4.ncsu.edu/~aliu3/802.bmp http://www4.ncsu.edu/~aliu3/802.bmp,帧控制字段的子字段的格式如下:
下面是数据包的 Wireshark 屏幕截图,让我感到困惑:
因此,根据 Wireshark 屏幕截图,帧控制字段的标志部分(最后 8 位)是 0x22,这很好。版本/类型/子类型如何0x08
与 Wireshark 对框架的描述相符的是让我困惑的地方。
0x08
= 0000 1000b
,我认为它会翻译为 Version =00
, 类型 =00
(我以为这意味着管理 not data框架)和子类型 =1000
(我认为这是一个信标框架)。所以我希望这个框架是一个管理框架,更具体地说,是一个信标框架。然而,Wireshark 将其报告为数据帧。让我困惑的第二件事是 Wireshark 的作用0x20
从行中Type/Subtype: Data (0x20)
.
谁能帮我澄清我对 802.11 规范/Wireshark 捕获的解释以及为什么两者不一致?
由于帧控制 (FC) 的该字节的布局,示例中的数据帧为 0x08。 0x08 = 00001000
- 前 4 位 (0000) 是子类型。 0000 是该帧的子类型
- 接下来的 2 位 (10) 是类型,它是十进制 2,因此是数据类型帧
- 最后 2 位 (00) 是版本,即 0
下表将 FC 的子类型-类型-版本字节的十六进制值转换为多种帧类型。将 QoS 数据与正常数据帧进行比较可能确实有助于解决这一问题。请注意,该表可能有一两个错误,因为我刚刚整理了它。
你是对的,1000 是一个信标帧,你只是看到了错误的位。
您有一个 radiotap 标头,您可以从 pcap API 获取该类型的 dec 表示形式:
int type = pkt_data[20] >> 2;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)