繁体   English   中英

Scapy:未定义变量“Dot11Beacon”和“Dot11Elt”

[英]Scapy: Undefined variable 'Dot11Beacon' and 'Dot11Elt'

我试图在 Ubuntu 上使用 scapy 做一个简单的 wifi 嗅探器,但是当我尝试运行该应用程序时遇到了以下问题:

Undefined variable 'Dot11Beacon' 
Undefined variable 'Dot11Elt'

现在我尝试在以下教程中运行代码: https : //www.shellvoide.com/python/how-to-code-a-simple-wireless-sniffer-in-python/

由于上述错误,它简单不起作用。 我正在使用 Python 3 和最新版本的 scapy,通过 pip 安装。

即使它与教程中的相同,以下是我正在使用的代码部分:

from scapy.all import *

sniff(iface=interface, prn=process_packet)

def process_packet(pak):
    if pak.haslayer(Dot11Beacon):
        if pak.getlayer(Dot11).addr2 not in F_bssids:
            F_bssids.append(pak.getlayer(Dot11).addr2)
            ssid = pak.getlayer(Dot11Elt).info
            if ssid == '' or pak.getlayer(Dot11Elt).ID != 0:
                print("Hidden Network Detected")
            print("Network Detected: %s" % (ssid))

如果编译器说变量未定义,则在您的库中定义它们而不使用* 用于from scapy.all import (Dot11,Dot11Beacon,Dot11Elt)而不是from scapy.all import *

您遇到的问题与https://stackoverflow.com/a/53402404/5459467相同,这同样适用于 PyCharm 和 Visual Studio。 看看我在那里的回答。

解决方法是从相关的 scapy 文件中导入您需要的任何内容,而不使用所有内容。 它更干净,但要做的时间更长。 或者,如果您不是在寻找干净的东西,您可以在 IDE 中使用“添加异常”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM