我正在尝试将scapy用于我的一个项目。但是,当我测试它时会出现以下错误。
NameError:名称'sniff'未定义
import sys
from scapy import *
devices = set()
def PacketHandler(pkt):
if pkt.haslayer(Dot11) :
dot11_layer = pkt.getlayer(Dot11)
if dot11_layer.addr2 and ( dot11_layer.addr2 not in devices ):
devices.add(dot11_layer.addr2)
print dot11_layer.addr2
sniff(iface = sys.argv[1], count = int(sys.argv[2]), prn = PacketHandler)
如果我将模块名称更改为scapy.all,则表示没有模块。
Python版本:2.7 Scapy版本:2.3.3
我刚刚安装了pip install scapy.Any帮助将不胜感激。
答案 0 :(得分:1)
您必须将Scapy导入为from scapy.all import *
,您不得将脚本命名为scapy.py
(或当前目录中的任何其他脚本或PYTHONPATH
) !