[英]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.