Python scapy 错误

问题描述 投票:0回答:4

我正在尝试导入 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。我不知道这个错误从何而来或该怎么办。任何帮助,将不胜感激。谢谢。

python scapy
4个回答
1
投票

考虑在程序开始时写入:

from scapy.all import *

之前:

from scapy.base_classes import Gen, SetGen
from scapy.utils import PcapReader
from scapy.data import MTU, ETH_P_ARP

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 文件的开头,直到修复为止

(强调我的)

来源


0
投票

您可能想尝试:

from scapy.all import *

这会将 scapy 中的所有内容导入到您的脚本中。


0
投票

您还应该确保您已在计算机本地安装了 scapy,pip install scapy,如果是这样,则执行 import scapy.all as scapy 或 from scapy.all import * 以导入模块内的所有文件。

© www.soinside.com 2019 - 2024. All rights reserved.