Pcap.Net 使用 OffLinePacketDevice 处理离线跟踪文件

Posted

技术标签:

【中文标题】Pcap.Net 使用 OffLinePacketDevice 处理离线跟踪文件【英文标题】:Pcap.Net Handling offline trace file with OffLinePacketDevice 【发布时间】:2018-06-21 16:25:27 【问题描述】:

情况:

我正在开发一个模拟设备的工具,该工具基于我之前使用 WireShark 捕获的实际网络数据。 捕获的数据来自我需要在调试环境中重新创建的生产设备。

我需要的是一种从跟踪文件中以某种“实时”方式读取数据包的方法,然后处理和更改数据包并重新发送它,就好像该设备存在于我的调试环境中一样。

问题:

我正在使用页面github.com/PcapDotNet/Pcap.Net/wiki/Pcap.Net-Tutorial-Handling-offline-dump-files 中的(第二个)示例。 此示例显示 Pcap.Net 使用 OffLinePacketDevice 读取转储文件并处理数据包。

我的问题是数据包没有得到定时处理。跟踪包含几分钟的数据,但在几秒钟内处理完毕。

我之前尝试过这个例子,然后它的反应似乎和我预期的一样。

所以,我的问题是:行为是否应该自动计时? 如果是这样,那么我打破了一些东西(但是什么?)。 如果没有,那我就得加一些睡眠机制了(不是太难)。

有人吗?

【问题讨论】:

【参考方案1】:

您可以使用 Pcap.Net 的发送缓冲区来发送数据包,同时尊重它们的时间戳

所以你从离线转储中读取数据包,修改它们,将它们插入发送缓冲区并传输它们。

链接:

Reading packets from offline dump Generating packets (code in the send packets guide) Sending packets using a Send Buffer

【讨论】:

以上是关于Pcap.Net 使用 OffLinePacketDevice 处理离线跟踪文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Pcap.Net 数据包类对象导出到 .pcap 文件

使用 Pcap.net 获取样本周期内流量最大的网络接口

我需要能够使用 Pcap.Net 填充 tcp 数据包的以太网层

Pcap .NET 库:找不到 PcapDotNet.Core.DLL

Pcap.Net 使用 OffLinePacketDevice 处理离线跟踪文件

pcap.net ReceivePacket 无法正常工作