我被卡住了。
我已经使用PCAP.NET读取.PCAP文件并将数据包写入数据库。现在,我可以查询数据库并取回与约束匹配的数据包。我需要一种将结果写入新的.PCAP文件的方法。
问题是,据我所知,生成新PCAP文件的唯一方法是通过DumpFile,该文件只能通过本身与PacketDevice绑定的PacketCommunicator进行初始化。
很好,但是在这种情况下,我没有设备。
我是否应该为此目的而推出自己的PCAP编写器?
我错过了明显的事情吗?
如何将这些数据包放入新的PCAP文件中?
我坚信我已经忽略了一些简单的事情……PCAP对我来说是新领域,我感到非常不适应。正在工作的Unix人士指出,winpcap和pcap.net所基于的libpcap提供了直接写入pcap文件的能力。该功能未在库中公开吗?
非常感谢您的建议。
谢谢,
克里斯
P.S。这是我在这里提出的原始问题的修订:.NET writing PCAP files
功能是否未在库中公开?
哪个图书馆?
它在libpcap / WinPcap中公开,但是打开文件进行输出有点尴尬-您需要一个pcap_t
用于捕获设备,一个pcap_t
用于捕获文件,或一个虚拟pcap_t
如果您正在写入的数据包不是来自实时捕获或现有捕获文件,则针对您正在写入的文件的链接层头类型和快照长度。
我找不到Pcap.NET的任何参考文档,仅是教程文档,但是似乎没有什么可以打开虚拟手柄的,可以打开捕获设备或脱机捕获文件,但是我没有看到有关创建虚拟句柄的信息,您无法从中读取数据包,但可以在打开捕获文件进行写入时使用该虚拟句柄-因此libpcap / WinPcap中可用的所有功能在Pcap中公开。 NET,据我所知。
PacketDumpFile
类写出转储文件。我没有看到任何Pcap.Net参考手册。回答this question,用户阅读了Pcap.Net源代码。