Scapy安装问题。似乎没有安装任何东西?

时间:2010-03-12 04:50:30

标签: python installation scapy

我有一台苹果电脑用python 2.6运行Leopard。我下载了最新版本的scapy并运行了“python setup.py install”。一切按计划进行。现在,当我尝试通过输入“scapy”以交互模式运行它时,它会抛出一堆错误。是什么给了!

以防万一,这是完整的错误信息..

INFO: Can't import python gnuplot wrapper . Won't be able to plot.
INFO: Can't import PyX. Won't be able to use psdump() or pdfdump().
ERROR: Unable to import pcap module: No module named pcap/No module named pcapy
ERROR: Unable to import dnet module: No module named dnet
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/runpy.py", line 122, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/runpy.py", line 34, in _run_code
    exec code in run_globals
  File "/Users/owner1/Downloads/scapy-2.1.0/scapy/__init__.py", line 10, in <module>
    interact()
  File "scapy/main.py", line 245, in interact
    scapy_builtins = __import__("all",globals(),locals(),".").__dict__
  File "scapy/all.py", line 25, in <module>
    from route6 import *
  File "scapy/route6.py", line 264, in <module>
    conf.route6 = Route6()
  File "scapy/route6.py", line 26, in __init__
    self.resync()
  File "scapy/route6.py", line 39, in resync
    self.routes = read_routes6()
  File "scapy/arch/unix.py", line 147, in read_routes6
    lifaddr = in6_getifaddr()
  File "scapy/arch/unix.py", line 123, in in6_getifaddr
    i = dnet.intf()
NameError: global name 'dnet' is not defined

6 个答案:

答案 0 :(得分:12)

按照scapy网站上的说明进行操作。在执行安装之前,您必须解决依赖关系。它在Windows机器上对我来说就像是一种魅力。

http://www.secdev.org/projects/scapy/doc/installation.html#mac-os-x

答案 1 :(得分:7)

我也有很多问题让我的Mac上正确安装了Scapy及其依赖项,最后我找到了Homebrew Python GitHub页面https://github.com/Homebrew/homebrew-python它包含了许多有用/有用的brew公式,包括一个Scapy的工作方式对我来说很有魅力。

brew tap Homebrew/python
brew install scapy

我的pcapy也遇到了问题,这个问题是由pypcap的repo中的另一个公式解决的,所以同样的程序。

brew install pypcap

答案 2 :(得分:1)

我已经在Python for Windows中收集了网络编程所需的所有库,并制作了一个集成的安装程序。它在Google Code。只需在读取安装文件后解压缩并运行安装程序,就可以安装在Py2.6上运行Scapy所需的所有依赖项。

答案 3 :(得分:1)

安装libdnet:http://libdnet.sourceforge.net/和python-libpcat:http://sourceforge.net/projects/pylibpcap/

对于libdent:

CFLAGS='-arch i386 -arch x86_64' ./configure --prefix=/usr
archargs='-arch i386 -arch x86_64' make
sudo make install
cd python
sudo python setup.py install

答案 4 :(得分:0)

我能够通过#commenting scapy mod目录中all.py中的route6导入语句来实现这个目的。

之后,我能够提出交互式scapy提示。

因此,解决此问题的真正方法是确保您拥有兼容的route6 mod。

答案 5 :(得分:0)

MAC安装按照说明进行操作 here如果你想在virtualenv中安装它,首先进入virtualenv,然后只使用python setup.py install而不是sudo。