我正在使用dpkt解析一些ieee80211数据包。
我发现创建的ieee80211对象有错误的值。
深入挖掘后,我发现ieee80211将数据视为大端,而实际上我提供的数据包是小端。
有没有办法在运行时检测数据包的字节序,以便在提供给dpkt.ieee80211之前将其转换为大端呢?
我正在使用dpkt解析一些ieee80211数据包。
我发现创建的ieee80211对象有错误的值。
深入挖掘后,我发现ieee80211将数据视为大端,而实际上我提供的数据包是小端。
有没有办法在运行时检测数据包的字节序,以便在提供给dpkt.ieee80211之前将其转换为大端呢?
如果你不知道字节序的情况下,唯一可以检测到它的方式是注入有效载荷并以相同的方式解析。
然后,您可以通过检查注入的有效载荷的标识来检查字节序。
IEEE80211_COMMON_OPT_BROKEN_FC
标志传递给解析器,但它们似乎都没有通过名称(wlan_bsfc
)或句柄调用dissect_ieee80211_bsfc
。我建议在https://ask.wireshark.org/或他们的开发邮件列表https://www.wireshark.org/lists/上提问。也许Wireshark的开发人员可以提供帮助。 - Malt