我正在尝试导入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。我不知道这个错误来自何处或做什么。任何帮助,将不胜感激。感谢。
答案 0 :(得分:0)
你试过这个吗?
有一些缺少的进口。你可以添加
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文件的开始,直到它被修复
(强调我的)
答案 1 :(得分:0)
您可能想尝试:
from scapy.all import *
这会将scapy中的所有内容导入到您的脚本中。
答案 2 :(得分:0)
考虑在程序开始时编写:
from scapy.all import *
之前:
from scapy.base_classes import Gen, SetGen
from scapy.utils import PcapReader
from scapy.data import MTU, ETH_P_ARP