我正在尝试导入 scapy ,但出现此错误:
Traceback (most recent call last):
File "ip2.py", line 17, in <module>
ans, unans = srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst = ips), timeout = 2, iface=interface, inter = 0.1)
File "C:\Python27\lib\site-packages\scapy\sendrecv.py", line 378, in srp
a,b=sndrcv(s ,x,*args,**kargs)
File "C:\Python27\lib\site-packages\scapy\arch\windows\compatibility.py", line 14, in sndrcv
if not isinstance(pkt, Gen):
NameError: global name 'Gen' is not defined
这些是进口产品:
import sys
from datetime import datetime
from scapy.base_classes import Gen, SetGen
from scapy.utils import PcapReader
from scapy.data import MTU, ETH_P_ARP
我已经尝试了网上能找到的所有方法。没有任何帮助。 我使用的是 Windows 10 ,并且有最新版本的 scapy。我不知道这个错误从何而来或该怎么办。任何帮助,将不胜感激。谢谢。
考虑在程序开始时写入:
from scapy.all import *
之前:
from scapy.base_classes import Gen, SetGen
from scapy.utils import PcapReader
from scapy.data import MTU, ETH_P_ARP
你尝试过这个吗?
有一些缺失的进口。可以添加
from scapy.base_classes import Gen, SetGen import scapy.plist as plist from scapy.utils import PcapReader from scapy.data import MTU, ETH_P_ARP
到 scapy/arch/windows/compatibility.py 文件的开头,直到修复为止
(强调我的)
您可能想尝试:
from scapy.all import *
这会将 scapy 中的所有内容导入到您的脚本中。
您还应该确保您已在计算机本地安装了 scapy,pip install scapy,如果是这样,则执行 import scapy.all as scapy 或 from scapy.all import * 以导入模块内的所有文件。