首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scapy:未定义变量“Dot11Beacon”和“Dot11Elt”

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

Stack Overflow用户
提问于 2020-01-11 09:20:09
回答 2查看 894关注 0票数 1

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

代码语言:javascript
复制
Undefined variable 'Dot11Beacon' 
Undefined variable 'Dot11Elt'

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

因为上面的错误,它很简单,不起作用。我正在使用Python 3和最新版本的替罪羊,通过pip安装。

即使它与本教程中的内容相同,下面是我使用的代码的部分:

代码语言:javascript
复制
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))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-11 11:35:04

您的问题与https://stackoverflow.com/a/53402404/5459467相同,在PyCharm和Visual中也是如此。看看我的答案。

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

票数 1
EN

Stack Overflow用户

发布于 2020-01-11 10:28:21

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59693107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档