【问题标题】:Scapy error! How can I resolve it? [closed]错误!我该如何解决? [关闭]
【发布时间】:2015-03-23 00:57:16
【问题描述】:
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'

【问题讨论】:

  • 那台机器上netstat -rn 的输出是什么?
  • 啊,netstat 输出什么并不重要。 dnet 包未正确导入。 python -c 'import dnet; print dnet' 输出什么?您可能在某处导入了另一个 dnet 模块,而不是 scapy dependency
  • python -c 'import dnet; print dnet.inf()' 有效吗?
  • No :( 一些错误 AttributeError: 'module' object has no attribute 'inf'

标签: python python-2.7 scapy


【解决方案1】:

您安装了错误的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

【讨论】:

  • 现在我安装了 pydnet 但仍然是错误:(
  • @GilloBottini:不,你应该安装 pydnet。您已经安装了 pydnet。 删除它。您需要按照我链接到的 Scapy 说明安装 libdnet 项目。
  • 你能给我一个 libdnet 的下载链接吗?
  • 我已经把你链接到instructions。你需要有csv 命令。
  • 我安装了 csv,但是当我执行第一个命令时,会出现以下错误:未知主机 cvs.sourceforge.net。 ://
猜你喜欢
  • 2014-09-05
  • 1970-01-01
  • 2022-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-28
  • 2021-03-12
  • 2019-09-16
相关资源
最近更新 更多