【问题标题】:Python scapy errorPython scapy 错误
【发布时间】:2017-06-29 11:56:38
【问题描述】:

我正在尝试导入 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


    【解决方案1】:

    你试过了吗?

    有一些缺失的导入。你可以添加

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

    (强调我的)

    source

    【讨论】:

      【解决方案2】:

      你不妨试试:

      from scapy.all import *
      

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

      【讨论】:

        【解决方案3】:

        考虑在程序开始时编写:

        from scapy.all import *
        

        之前:

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

        【讨论】:

          猜你喜欢
          • 2011-05-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-29
          相关资源
          最近更新 更多