问题标签 [scapy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1427 浏览

python - 如何从 scapy 中的 hexdump 获取数据?

这是我收到的数据包的 hexdump,我只需要它 -

这基本上是我的有效载荷,我怎样才能得到它?

0 投票
1 回答
433 浏览

python - 如何在每个可能的数据包上测试网络丢失下的服务器行为

我正在使用移动设备,因此我希望网络丢失很常见。我正在付款,所以每个请求都很重要。

我希望能够测试我的服务器,以准确了解它在请求周期的不同时间点在客户端网络丢失时的表现 - 特别是在整个网络通信期间的任何给定数据包发送/接收之间。

我怀疑如果在发送响应和等待 FIN-ACK 时通信丢失,服务器的行为会略有不同,我想知道我可以区分哪些断开连接的时间。

我尝试使用 scapy 模拟 http 请求,并停止每个 TCP 数据包之间的通信。(即:先发送 SYN 然后消失;然后发送 SYN 并接收 SYN-ACK 然后消失;然后发送 SYN 并接收 SYN-ACK 并发送 ACK 然后消失;等等。)但是,我很快陷入了困境试图重现功能性 TCP 堆栈。

是否有一个很好的现有工具来自动化/启用这种测试?

0 投票
2 回答
11469 浏览

python - Flexible traffic generation with scapy

I know questions like this have been asked plenty of times before, but I think this is subtley different.

I am attempting to write a flexible traffic generator in Python using scapy. Producing the packet is fine, but when it comes to sending traffic at a sufficiently fast rate (for my needs, somewhere in the range of 500-700 packets per second), I seem to have hit a wall at around 20-30 pps.

I believe that there may be some need for threading, or am I missing something easier?

0 投票
3 回答
32031 浏览

python - 使用 Scapy ping IP 范围

我正在尝试编写一个 Python 脚本,它使用 Scapy 模块来 ping 内部 IP 范围以确定哪些 IP 在线。到目前为止我有这个:

并且程序会坐一会儿什么也不做,然后如果我用 CTRL+CI 杀死它,会收到一条错误消息:

但是,如果我尝试使用单个 IP 地址而不是范围,它可以工作。像这样:

有谁知道我该如何解决这个问题?或者您对如何使用 Scapy ping IP 范围以确定哪些主机在线有任何其他想法?

0 投票
4 回答
25240 浏览

python - Python Scapy wrpcap - 如何将数据包附加到 pcap 文件?

我有一些软件可以模拟网络上的 BER 和延迟。我需要一种方法来测试软件的 BER 模块,以确保它确实正常工作。我的解决方案是创建一个程序来发送原始以太网帧,并将类型字段设置为未使用的类型。以太网帧内部只是随机位。对于发送的每个帧,我需要将帧记录到pcap文件中。在网络链接的另一端是一个接收应用程序,它简单地将它看到的每个数据包写入自己的pcap日志。运行测试完成后,将比较两个 pcap 日志以获取 BER。

我正在使用 python 模块Scapy,到目前为止它已经完成了我需要的一切。我可以发送带有随机数据的原始以太网帧,并在 Wireshark 中查看它们。但是,我不知道如何获取wrpcap()附加到 pcap 文件的方法,而不是覆盖。我知道我可以将数据包列表写入wrpcap,但是此应用程序需要能够无限期运行,并且我不想等到应用程序退出才能写入发送到硬盘的所有数据包. 因为这将是很多存储在内存中,如果发生了什么事,我将不得不从头开始测试。

我的问题是:如何pcap使用scapy而不是覆盖文件附加到pcap文件?甚至可能吗?如果没有,那么什么模块可以做我需要的?

在寻找具有Scapy's 能力的东西时,我遇到了dpkt,但我没有找到很多关于它的文档。可以dpkt按我的要求做吗?如果可以,我在哪里可以获得一些好的文档?

0 投票
2 回答
2041 浏览

python - 带有 Scapy 的 Pydev 给出“未解决的导入”错误

我正在尝试编写一个使用 scapy 模块的程序。我正在使用 PyDev 进行开发,但是当我导入 Scapy 模块的某些部分时,它一直给我错误。我很确定我在 PyDev 中的导入路径设置正确。我在此处查看了涉及“未解决的导入”错误的其他一些问题。但是,我看到的所有建议似乎都没有帮助。

奇怪的是,它只是不工作的 scapy 模块的一部分。因此,例如,当我这样做时,PyDev 不会抱怨

但是,当我这样做时

我得到错误。

我想也许我导入了错误的模块,但是当我转到解释器并输入第二个示例时,它没有给出任何错误,然后我可以使用 IP(params) 创建 IP 数据包,这就是我在我的程序。

我使用 ubuntu 存储库安装了 scapy,但是当我开始遇到导入问题时,我从 scapy.net 下载了最新版本并使用了安装脚本。我什至复制了 zip 并将其放在我的/usr/local/lib/python2.7/site-packages文件夹中,并将其添加到 PyDev 中的 python 路径中。但似乎没有什么能摆脱这个错误。

关于可能导致此问题以及如何解决此问题的任何建议?

0 投票
4 回答
6933 浏览

python - 如何使用 Python(或在 Scapy 中)生成随机 IPv6 地址?

在我的测试用例中,我需要发送带有随机 IPv6 源地址和固定前缀的 NA。例如:

固定前缀 2001::cafe:/64。地址的其余部分应该是随机的。

如何在 Python 或 Scapy 中实现?

0 投票
1 回答
3582 浏览

encoding - 字符串时的scapy编码

当你在 scapy 中串一个数据包时,你得到的下面的编码是什么?这当然不是十六进制的。

str(IP()) 'E\x00\x00\x14\x00\x01\x00\x00@\x00|\xe7\x7f\x00\x00\x01\x7f\x00\x00\x01'</p>

0 投票
2 回答
9110 浏览

python - 为 python 2.7 编译 libdnet

我正在尝试在 win32 python2.7 上使用 scapy

我已经设法编译了所有其他依赖项,除了这个

可以帮助实现这个可执行文件的目标吗?“dnet-1.12.win32-py2.7.exe”

(我保证也会更新这个问题和 scapy 手册,

使用 Python 2.7 在 Windows 上运行 Scapy

更新:

我已经设法用 mingw32 编译它,我正在使用 vs2005,我必须对 libdnet 进行一些修复才能实际工作(看起来他们上次在 windows 上编译它是用 vs6.0

我会尝试更新 scapy 手册...(并将可执行文件上传到那里)

0 投票
3 回答
180 浏览

python - 在 Python 中检查数据集中的信息

我目前需要使用 Python 2.7 比较包含 MAC 地址的字符串(例如“11:22:33:AA:BB:CC”。目前,我有一个包含 MAC 地址的预配置集,我的脚本会迭代通过集合将每个新的 MAC 地址与列表中的地址进行比较。这很有效,但是随着集合的增长,脚本会大大减慢。只有 100 个左右,您会注意到巨大的差异。

有人对加快这个过程有什么建议吗?将它们存储在一组中是比较的最佳方式,还是将它们存储在 CSV / DB 中更好?

代码示例...