30

我喜欢在 Windows 7 下将 Scapy 与 Python v2.7 一起使用。

  • 如何安装 Python 2.7 所需的模块 pypcap?
  • 是否可以使用 py2exe 等分发工具将依赖于 Scapy 的 Python 脚本制作成独立的 Windows 应用程序?

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

4

7 回答 7

23

侵入式更新:请注意,这个答案已经过时,最新版本(> = 2.4.0)scapy 只需要 Npcap(或 Winpcap)工作,控制台需要 IPython。看看官方的windows页面

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

https://github.com/Kondziowy/scapy_win64

此外,您可能需要从官方站点安装WinPcap


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

于 2014-11-20T13:26:53.480 回答
19

问:如何安装所需的模块 pypcap

在 Windows 7 中使用 Scapy 是可能的,但它并不是开箱即用的。可以在此处找到安装指南:

http://www.secdev.org/projects/scapy/doc/installation.html#windows

我强烈建议切换到 python 2.6,因为这会让你的生活更轻松。

当您坚持使用 2.7 时,您将不得不自己编译一些 require 模块。此外,一些关键模块(如 pypcap)必须先修补,然后才能使用 python 2.7 进行编译(请参阅pycap patch)。

在这里,您将找到有关如何构建模块的一些指导。


Q: 是否可以将依赖scapy的python脚本制作成独立的windows应用程序

是和不是。虽然您可以使用 py2exe 从您的 python 代码构建一个 EXE。Scapy 使用WinPcap,除了您的应用程序之外,您还必须安装它。

于 2011-10-12T10:32:28.870 回答
6

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

于 2014-04-24T20:41:22.023 回答
3

很多答案已经过时了!

最新的 scapy 版本,您可以在官方 GitHub 页面上下载: https ://github.com/secdev/scapy 无需旧的手动编译依赖项即可工作!

它们是两个简单的要求:IPython(用于控制台)和 npcap(或 winpcap)

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

于 2017-04-10T14:51:24.177 回答
1

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

于 2014-11-07T09:57:20.230 回答
0

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

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

于 2015-11-25T09:09:09.953 回答
-1

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

于 2014-08-24T04:13:53.973 回答