gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 19:35:32 26 4
gpt4 key购买 nike

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

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

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

在寻找具有 Scapy 功能的东西时,我遇到了 dpkt,但我没有找到很多关于它的文档。 dpkt 可以执行我要求的操作吗?如果可以,我可以从哪里获得一些好的文档?

最佳答案

对于后代而言,PcapWriter 或 RawPcapWriter 看起来是在 scapy 2.2.0 中处理此问题的更简单方法。除了浏览源代码外,找不到太多文档。一个简单的例子:

from scapy.utils import PcapWriter

pktdump = PcapWriter("banana.pcap", append=True, sync=True)

...
pktdump.write(pkt)
...

关于Python Scapy wrpcap - 如何将数据包附加到 pcap 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7574092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com