Ответ 1
Следуйте этим инструкциям с сайта scapy. Перед установкой необходимо установить зависимости. Он работал как прелесть для меня на машине под Windows.
http://www.secdev.org/projects/scapy/doc/installation.html#mac-os-x
У меня есть яблочный компьютер с Leopard с python 2.6. Я загрузил последнюю версию scapy и запустил "python setup.py install
". Все пошли по плану. Теперь, когда я пытаюсь запустить его в интерактивном режиме, просто набрав "scapy", он выдает кучу ошибок. Что дает!
На всякий случай, вот FULL сообщение об ошибке.
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
Следуйте этим инструкциям с сайта scapy. Перед установкой необходимо установить зависимости. Он работал как прелесть для меня на машине под Windows.
http://www.secdev.org/projects/scapy/doc/installation.html#mac-os-x
У меня также было много проблем, связанных с тем, что Scapy и его зависимости были правильно установлены на моем Mac, и, наконец, я нашел домашнюю страницу Python GitHub Homebrew https://github.com/Homebrew/homebrew-python он содержит много полезной/полезной формулы brew, включая одну для Scapy, которая работала как прелесть для меня.
brew tap Homebrew/python
brew install scapy
У меня также была проблема с моим pcapy, который был решен другой формулой в repo для pypcap, поэтому такая же процедура.
brew install pypcap
Я собрал все библиотеки, необходимые для сетевого программирования в Python для Windows, и сделал один интегрированный установщик. На Код Google. Просто извлеките и запустите программу установки после прочтения установочного файла, установите все зависимости, необходимые для запуска Scapy на Py2.6.
Установите 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
Мне удалось заставить это работать с помощью #commenting stat6 import statment в all.py в каталоге scapy mod.
После этого я смог вызвать интерактивное scapy-подсказку.
Итак, реальное решение этой проблемы - убедиться, что у вас есть совместимый модем route6.
Установка MAC следуйте инструкциям здесь в случае, если вы хотите установить его в virtualenv, сначала перейдя в virtualenv, а затем просто используя python setup.py install вместо sudo.