13

我有一台运行 Leopard 和 python 2.6 的苹果电脑。我下载了最新版本的 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
4

6 回答 6

12

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

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

于 2010-06-01T11:19:14.850 回答
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
于 2013-12-21T01:51:27.713 回答
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
于 2013-07-23T08:05:29.457 回答
1

我已经收集了所有在 Python for Windows 中进行网络编程所需的库,并制作了一个集成的安装程序。它在谷歌代码上。只需在阅读安装文件后解压并运行安装程序,安装在 Py2.6 上运行 Scapy 所需的所有依赖项。

于 2012-10-17T15:15:35.177 回答
0

我可以通过在 scapy mod 目录中的 all.py 中 #commenting route6 import 语句来完成这项工作。

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

所以这个问题的真正解决方案是确保你有一个兼容的 route6 mod。

于 2013-09-27T12:12:43.650 回答
0

如果您想在 virtualenv 中安装它,请按照此处的说明进行 MAC 安装 ,方法是先进入 virtualenv,然后使用 python setup.py install 而不是 sudo。

于 2015-10-16T19:41:19.377 回答