用Python 2.7在Windows上运行Scapy

我喜欢在Windows 7下使用Scapy和Python v2.7。

  • 我如何安装Python 2.7所需的模块pypcap?
  • 是否有可能根据Scapy将Python脚本制作成使用分发工具(如py2exe)的独立Windows应用程序?

我正在使用的特定的Python发行版是Enthought Python发行版7.02。

如果有人需要Scapy for 64位 + Python 2.7 ,我已经在这里上传了二进制文件:

https://github.com/Kondziowy/scapy_win64

  • DNET-1.12.win-AMD64-py2.7.exe
  • PCAP-1.1.win-AMD64-py2.7.exe
  • Scapy的-2.2.0.win-amd64.exe

另外 ,您可能需要从官方网站安装WinPcap


编译它自己需要一些修复 – 我会尽快提交上游。

问:我如何安装所需的模块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 ,除了应用程序之外,还需要安装它。

Dirk Loss 为Python 2.7的dnet软件包提供了Windows安装程序 。 与用于Python 2.7的pypcap软件包的Windows安装程序一起,我能够在Windows上的Python 2.7上成功运行Scapy。

很多答案已经过时了!

最新的scapy版本,你可以在官方的github页面上下载: https : //github.com/secdev/scapy没有旧的手工编译的依赖性!

这两个简单的要求是:pyreadline和npcap(或winpcap)

您可以按照官方教程在这里: http : //scapy.readthedocs.io/en/latest/installation.html#windows

使用马戏团发布的链接,我为python 2.7.x 32bit创建了Scapy的二进制安装。 链接的设置(与依赖) https://github.com/Kondziowy/scapy_win64

如果你没有限制强迫你使用python2,你可以从http://github.com/phaethon/scapy尝试scapy3k,或者使用pip install scapy-python3

它不需要dnet和pypcap,不需要C编译。 我使用以下配置Windows 10 / Anaconda 3.5 /最新的WinPcap。

使用Python 2.7在Windows上运行Scapy的最低要求似乎是:pyreadline,pcapy和dnet。 最后两个是编译和/或查找预编译的二进制文件最棘手的部分。 在上面的答案中列出了这些的一个选项。 另一个下载,以及关于如何使Scapy在Windows上运行的详细步骤是: https : //github.com/zlorb/scapy 。 这些步骤还描述了如何获得可选的依赖关系,如Gnuplot和Tex。