Scapy错误!我该如何解决?

时间:2015-01-23 21:43:25

标签: python python-2.7 scapy

Traceback (most recent call last):
  File "./a.py", line 124, in <module>
    from scapy.all import *
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scapy/all.py", line 25, in <module>
    from route import *
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scapy/route.py", line 162, in <module>
    conf.route=Route()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scapy/route.py", line 22, in __init__
    self.resync()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scapy/route.py", line 31, in resync
    self.routes = read_routes()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scapy/arch/unix.py", line 86, in read_routes
    ifaddr = scapy.arch.get_if_addr(netif)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scapy/arch/__init__.py", line 36, in get_if_addr
    return socket.inet_ntoa(get_if_raw_addr(iff))
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scapy/arch/pcapdnet.py", line 200, in get_if_raw_addr
    i = dnet.intf()
AttributeError: 'module' object has no attribute 'intf'

1 个答案:

答案 0 :(得分:2)

您安装了错误的dnet软件包。您有PyDNET(用于分析配电网络的项目),但Scapy要求安装libdnet(低级网络库)。

Scapy项目包括instructions on how to install libdnet。您可能必须卸载PyDNET。

SourceForge主机名已更改;获取CVS源代码的正确说明是:

cvs -d:pserver:anonymous@libdnet.cvs.sourceforge.net:/cvsroot/libdnet login 
cvs -z3 -d:pserver:anonymous@libdnet.cvs.sourceforge.net:/cvsroot/libdnet co -P libdnet