2

我正在尝试创建一个非常简单的 PCAP 文件(1 条 UDP 消息)。
尝试使用 dpkt (pcap.Writer),没有运气,文档稀缺。
任何人都可以发布一个工作示例吗?
(或任何其他替代方案 - 我不受 dpkt 约束)

4

3 回答 3

10

您可以使用 Scapy。

https://scapy.readthedocs.io/en/latest/installation.html

如果使用 Python 3:

pip3 install scapy

然后在 Python 中:

from scapy.all import wrpcap, Ether, IP, UDP
packet = Ether() / IP(dst="1.2.3.4") / UDP(dport=123)
wrpcap('foo.pcap', [packet])
于 2018-03-12T05:24:24.690 回答
1

您需要将数据包写入 libpcap 格式

Global Header + Packet Header + Packet Data + Packet Header + Packet Data 这个链接应该可以帮助你

http://www.codeproject.com/Tips/612847/Generate-a-quick-and-easy-custom-pcap-file-using-P

于 2015-06-12T20:12:12.093 回答
-1

构造的上限 (断开的链接)显示了如何为此使用构造。Construct 还有一个基本的ip 堆栈 (断开的链接)示例。Construct 的好处是它是对称的,即您可以将数据放入其中,将其转换为一组 Python 对象,然后您可以转储对象以再次创建原始数据块。

于 2012-06-03T08:17:10.927 回答