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

Python Scapy安装问题。似乎没有安装任何东西?,python,installation,scapy,Python,Installation,Scapy,我有一台运行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 t

我有一台运行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
INFO:无法导入python gnuplot包装器。我无法策划。
信息:无法导入PyX。无法使用psdump()或pdfdump()。
错误:无法导入pcap模块:没有名为pcap的模块/没有名为pcapy的模块
错误:无法导入dnet模块:没有名为dnet的模块
回溯(最近一次呼叫最后一次):
文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/runpy.py”,第122行,在运行模块中
“\uuuuu main\uuuuuuuuuuuuuuuuuuuuuuuuu”,fname,loader,pkg\u name)
文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/runpy.py”,第34行,在运行代码中
run_globals中的exec代码
文件“/Users/owner1/Downloads/scapy-2.1.0/scapy/_init__.py”,第10行,在
相互作用()
文件“scapy/main.py”,第245行,在interact中
scapy_builtins=uuu import_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu__
文件“scapy/all.py”,第25行,在
从route6导入*
文件“scapy/route6.py”,第264行,在
conf.route6=route6()
文件“scapy/route6.py”,第26行,in__init__
self.resync()
文件“scapy/route6.py”,第39行,重新同步
self.routes=读取路由6()
文件“scapy/arch/unix.py”,第147行,在read_routes6中
lifaddr=in6_getifaddr()
文件“scapy/arch/unix.py”,第123行,在6_getifaddr中
i=dnet.intf()
NameError:未定义全局名称“dnet”

按照scapy网站上的说明进行操作。在执行安装之前,必须解决一些依赖项。它在Windows机器上对我来说就像一个符咒


我收集了用Python for Windows进行网络编程所需的所有库,并制作了一个集成安装程序。开始了。读取安装文件后,只需提取并运行安装程序,即可安装在Py2.6上运行Scapy所需的所有依赖项。

安装libdnet:和python libpcat:

对于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

我可以通过在scapy mod目录中的all.py中注释route6导入语句来实现这一点

在那之后,我能够打开交互式的scapy提示符


因此,解决这个问题的真正办法是确保您有一个兼容的route6 mod。

我在Mac上正确安装Scapy及其依赖项时也遇到了很多问题,最后我找到了自制Python GitHub页面。它包含了很多有用的brew公式,包括一个对我来说非常有吸引力的Scapy公式

brew tap Homebrew/python
brew install scapy
我的pcapy也有一个问题,这个问题通过pypcap回购协议中的另一个公式解决了,所以程序是一样的

brew install pypcap

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

我对windows机器上的scapy和python 2.6.5也有同样的问题……您是否可以在python 2.7(windows)上为libdnet提供二进制文件?警告:homebrew/python已被弃用。由于其所有公式都已迁移,此tap现在为空。