问题标签 [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 回答
5843 浏览

python - Scapy 性能低下

我正在创建一个脚本,将来自 Tap0 的所有流量发送到 Eth0,并将来自 Eth0 的所有流量发送到 Tap0。在网上找到了很多例子后,我设法使它工作。我遇到的问题是性能非常低。

在不使用脚本的情况下在 2 个 VM 之间进行 Ping,所需时间不到 1 毫秒。使用脚本大约需要 15 毫秒。

当我使用 scp 从一个 VM 发送一个 10 MB 的文件到另一个时,avg. 没有脚本的传输速率为 12 Mbps。使用该脚本,它会下降到低于 1 Mbps。

我知道 Python 实际上并不是处理网络流量最快的语言,但它有那么慢吗?

有没有办法优化这段代码?

我的虚拟机是 Ubuntu 10.04 32 位。

这是代码:

0 投票
1 回答
7750 浏览

python - 使用 Scapy 解析数据包字节

我想使用 Scapy 解析数据包有效负载的前两个字节。实现这一目标的最佳方法是什么?是否需要偏移计算?

首先需要解析有效负载,尽管以下将解析整个 PCAP 文件,是否有更有效的方法来获取每个有效负载的前两个字节?链接

0 投票
1 回答
1988 浏览

python - 了解 Python struct.pack 和二进制输入

以下函数接受二进制 4 字节密钥keybuf是与 4 字节密钥进行异或的二进制输入。

为了通过for指定二进制数据,我key = struct.pack(b">I", key)从中删除了。如果长度以 4 个字节结尾,这可以正常工作,否则会引发以下错误(请参阅下面的测试)。four_byte_xor()str(p.payload.payload.payload)[:4]key

以下是一些测试,其中包含一个输入 xor'd 与一个导致 00 的键,第一个成功:

第二次测试不成功并以 A 或 1 个额外字节结束:

可以four_byte_xor()修改以接受不同的buf长度吗?

0 投票
1 回答
355 浏览

python - 如何获取可与 scapy 中的字段一起使用的值列表,例如 DHCP 的合法选项

如何获取scapy中图层的字段值列表?例如,是否有一种简单的方法可以查看所有可用于 DHCP 的“选项”字段的值(例如)?(我知道我可以挖掘对象的dict等。有更好的方法吗?)。

0 投票
2 回答
656 浏览

python - Python:在终端上隐藏子进程打印并在子运行时继续脚本

有没有办法将 python2.6 与其中一个subprocess.Popen()os.system()运行两个任务一起使用?示例脚本将airodump-ng首先运行“”,然后这个进程是子进程并被隐藏(意味着不会从终端打印出来),然后继续运行包含“ sniff”函数的脚本的其余部分。我被研究过,但我只找到了windows版本和python3。顺便说一句,我在 debian 上运行。

0 投票
1 回答
16091 浏览

python - scapy 获取数据包的到达时间

有没有办法使用 scapy 获取数据包的到达时间?使用 scapy 读取 pcap 文件,我想知道所有数据包的到达时间,因为我们知道wireshark 可以看到它。所以我想一定有办法。有人知道吗?

0 投票
2 回答
77 浏览

python - 无法复制列表

我正在使用 Scapy 的 sniff() 函数从以太网中嗅探数据包。我将它存储在一个名为 pkt 的变量中。稍后我想通过将 pkt 的内容附加到另一个变量 buffpkt 中来制作相同的副本。最初我将这两个变量都声明为列表,但是一旦 pkt 存储了 sniff() 输出,它就会将其类​​型更改为实例。下面是代码。

我想通过将结果附加到 buffpkt 来列出所有嗅探到的数据包,但我不能。有什么建议么?

0 投票
2 回答
8772 浏览

python - Python scapy:pcap 文件读取、操作和写入 pcap

我想使用 python scapy 读取 pcap 文件,操作 TCP 有效负载(例如删除当前有效负载并将其替换为 0)并将操作的数据包写入新的 pcap 文件。

0 投票
2 回答
9559 浏览

python - Scapy:如何获取完整的 IP 数据包标头?

在 Scapy 中,我想手动将数据包与其相应的 ICMP 超时消息匹配。

我需要匹配:

  • ICMP数据包的IP-in-ICMP字段
  • IP 标头和我的数据包的前 8 个字节 ICMP 数据包没有问题:

    icmpPayload = str(icmpPacket[ICMP].payload)

至于数据包的前 8 个字节,我只需要这样做:

我不知道如何获取myPacket. 我现在要做的就是用前 8 个字节替换整个数据包中的有效负载。这种搜索和替换,如果应用于数千个数据包,恐怕会花费太长时间:

任何更快的方法可以让我简单地执行以下操作?

0 投票
1 回答
652 浏览

python - wxPython StyledTextCtrl 十六进制格式

谁能伸出援助之手。

我正在用 Python 中的 BoaConstructor 构建一个应用程序,它使用 wx.STC.StyledTextCtrl。在这个 styledtextctrl 中,我通过 Scapy 的 hexdump 函数输出十六进制数据。它添加了行号、十六进制转储和字符转码。不幸的是,我无法弄清楚如何在 StyledTextCtrl 中设置此文本的格式,以便它像常规的十六进制编辑器一样显示(请参见此处的图片http://imgur.com/a/tqE02)。谢谢!