PCAP库功能(写入新的PCAP文件)

问题描述 投票:3回答:3

我被卡住了。

我已经使用PCAP.NET读取.PCAP文件并将数据包写入数据库。现在,我可以查询数据库并取回与约束匹配的数据包。我需要一种将结果写入新的.PCAP文件的方法。

问题是,据我所知,生成新PCAP文件的唯一方法是通过DumpFile,该文件只能通过本身与PacketDevice绑定的PacketCommunicator进行初始化。

一个例子可以在这里看到:http://pcapdotnet.codeplex.com/wikipage?title=Pcap.Net%20Tutorial%20-%20Handling%20offline%20dump%20files&referringTitle=Pcap.Net%20User%20Guide

很好,但是在这种情况下,我没有设备。

我是否应该为此目的而推出自己的PCAP编写器?

我错过了明显的事情吗?

如何将这些数据包放入新的PCAP文件中?

我坚信我已经忽略了一些简单的事情……PCAP对我来说是新领域,我感到非常不适应。正在工作的Unix人士指出,winpcap和pcap.net所基于的libpcap提供了直接写入pcap文件的能力。该功能未在库中公开吗?

非常感谢您的建议。

谢谢,

克里斯

P.S。这是我在这里提出的原始问题的修订:.NET writing PCAP files

c# pcap pcap.net
3个回答
0
投票

功能是否未在库中公开?

哪个图书馆?

它在libpcap / WinPcap中公开,但是打开文件进行输出有点尴尬-您需要一个pcap_t用于捕获设备,一个pcap_t用于捕获文件,一个虚拟pcap_t如果您正在写入的数据包不是来自实时捕获或现有捕获文件,则针对您正在写入的文件的链接层头类型和快照长度。

我找不到Pcap.NET的任何参考文档,仅是教程文档,但是似乎没有什么可以打开虚拟手柄的,可以打开捕获设备或脱机捕获文件,但是我没有看到有关创建虚拟句柄的信息,您无法从中读取数据包,但可以在打开捕获文件进行写入时使用该虚拟句柄-因此libpcap / WinPcap中可用的所有功能在Pcap中公开。 NET,据我所知。


0
投票
您可以创建一个pcap标头和格式,该说明很容易,并且除了pcap.h外,您不需要外部库。

0
投票
the Pcap.Net User Guide中,"Handling offline dump files" page的示例使用PacketDumpFile类写出转储文件。我没有看到任何Pcap.Net参考手册。回答this question,用户阅读了Pcap.Net源代码。
© www.soinside.com 2019 - 2024. All rights reserved.