1

目前,我正在编写一些 python 代码,它遍历所有可用的 wifi 通道并嗅探 AP(信标)探测器并从中检索一些信息。

对于大多数探测,我的代码工作得非常好,它只是从信标中过滤掉 SSID、BSSID 和通道。

def sniffAP(packet):
    if((packet.haslayer(Dot11Beacon))):
        try:
            ssid       = packet[Dot11Elt].info
            bssid      = packet[Dot11].addr3
            channel    = int(ord(packet[Dot11Elt:3].info))
            print("ssid: \t bssid \t channel")
            print(str(ssid) + str(bssid) + str(channel))
        except Exception as e:
            print(e)
            return

但是,通过一些探测,我得到一个错误:ord() 期望一个字符,但找到了长度为 4 的字符串。所以,我在这里试图解决的问题是我想成功解析我收到的所有探测。有人可能有一些好的(python Scapy)代码吗?或有关如何改进我的代码的建议?

在此先感谢,卡斯帕

4

1 回答 1

0

我已经修好了。现在我使用 RadioTap 标头来检索频道信息。

packet[RadioTap].Channel
于 2019-06-18T08:38:31.420 回答