我正在构建一个PcapNG解析器(在Python中)来分析WiFi数据包 我希望能够显示链接类型(例如,协议变体:802.11b,802.11a,802.11g或802.11n)。
然而,阅读PcapNG format definition我只看到以下内容:
有没有办法从PcapNG跟踪文件中提取WiFi协议类型?
答案 0 :(得分:0)
如果捕获数据包的接口的链路层头类型为LINKTYPE_IEEE802_11,否则无法获得协议变体。
如果捕获数据包的接口的链路层头类型是LINKTYPE_IEEE802_11_RADIOTAP(是的,这是正确的名称; wiretap.org pcap-NG规范中的链路层头类型列表已过期,最新列表为the tcpdump.org Link-Layer Header Types page),然后数据包以radiotap header开头,提供有关数据包的各种元数据。
如果radiotap标头包含Channel字段,那么从那里的信息中,您可以确定有关协议变体的一些信息:
(两种版本的802.11g之间的差异表明同一频道上是否也可能存在802.11b流量 - 这就是“动态CCK-OFDM频道”所指示的内容。
然而,如果存在MCS字段,则为802.11n,而不是其他任何类型,如果存在VHT字段,则为802.11ac。
可能还有一个XChannel字段,可以类似于Channel字段进行解释,但它也包含一些802.11n信息。