Bry*_*mas 12 wireshark wifi 802.11
我有一个Wi-Fi捕获(.pcap),我正在分析,并在我看来是802.11规范和Wireshark对数据的解释之间的不一致.具体而言,我试图拆分的是2字节的802.11 帧控制字段.
摘自http://www4.ncsu.edu/~aliu3/802.bmp,帧控制字段的子字段格式如下:

以下是数据包的Wireshark屏幕上限让我感到困惑:

因此,根据Wireshark屏幕截图,帧控制字段的标志部分(最后8位)是0x22,这很好.如何将版本/类型/子类型0x08与Wireshark的框架描述相匹配让我感到困惑.
0x08= 0000 1000b,我认为会转换为Version = 00,Type = 00(我认为管理不是数据框)和Subtype = 1000(我认为它是一个信标框).所以我希望这个帧是一个管理帧,更具体地说,是一个信标帧.然而,Wireshark将其报告为数据框架.这是混淆了我的第二件事就是Wireshark是连拉0x20从线Type/Subtype: Data (0x20).
谁能澄清我对802.11 spec/Wireshark捕获的解释,以及为什么两者不一致?
Mat*_*lla 18
您的示例中的数据帧是0x08,因为帧控制(FC)的该字节的布局.0x08 = 00001000 - 前4位(0000)是子类型.0000是该帧的子类型 - 接下来的2位(10)是类型,它是2位小数,因此是数据类型帧 - 最后2位(00)是版本,即0
下表为多种帧类型转换FC的子类型 - 版本字节的十六进制值.将QoS数据与正常数据帧进行比较可能真的有助于减少这种情况.请注意,桌子可能会有一两个错误,因为我只是掀起了它.
你是对的,1000是一个信标框架,你只是看着错误的位.

你有一个radiotap头,你可以从pcap API获得类似的dec表示:
int type = pkt_data[20] >> 2;
Run Code Online (Sandbox Code Playgroud)