在Windows上使用Python 2.7运行Scapy
我喜欢在Windows 7上用Python 2.7来使用Scapy。
- 我该如何为Python 2.7安装所需的模块pypcap?
- 能不能把依赖于Scapy的Python脚本做成独立的Windows应用程序,使用像py2exe这样的打包工具?
我使用的Python版本是Enthought Python distribution 7.02。
7 个回答
Dirk Loss 提供了一个 适用于 Python 2.7 的 dnet 包的 Windows 安装程序。再加上这个 适用于 Python 2.7 的 pypcap 包的 Windows 安装程序,我成功在 Windows 上用 Python 2.7 运行了 Scapy。
问:我该如何安装所需的模块pypcap?
在Windows 7上使用Scapy是可以的,但并不是说一安装就能直接用。你可以在这里找到安装指南:
http://www.secdev.org/projects/scapy/doc/installation.html#windows
我强烈建议你使用Python 2.6,这样会让你的生活简单很多。
如果你坚持使用2.7版本,你就需要自己编译一些必要的模块。而且,有些关键模块,比如pypcap,在用Python 2.7编译之前还需要进行一些修补(具体可以看pycap修补)。
这里有一些关于如何构建这些模块的指导。
问:能否将依赖于Scapy的Python脚本制作成独立的Windows应用程序?
可以,也不可以。虽然你可以使用py2exe将你的Python代码打包成EXE文件,但Scapy使用了WinPcap,这需要你在应用程序之外额外安装。
重要更新:请注意,这个回答是过时的,在最近的版本(>=2.4.0)中,Scapy只需要Npcap(或Winpcap)就能工作,还需要IPython来使用控制台。可以查看官方的Windows页面
如果有人需要64位的Scapy和Python 2.7,我在这里上传了相关的文件:
https://github.com/Kondziowy/scapy_win64
另外,你可能还需要从官方网站安装WinPcap
自己编译这个软件需要做一些修复 - 我会尽快把这些修复提交上去。