繁体   English   中英

如何在C#中打开pcap-ng文件

[英]How can I open a pcap-ng file in C#

到目前为止,我一直在使用WinPcap在C#中打开pcap文件:

[DllImport("wpcap.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
private extern static IntPtr pcap_open_offline(string fname, byte[] errbuf);

现在我想做类似打开pcap-ng文件的东西,所以我得到纳秒级分辨率(我有一个新的嗅探器:-))

不幸的是WinPcap失败了这个错误:“坏转储文件格式”

任何人都知道如何在Windows中使用pcap-ng?

干杯,佩德罗

Libpcap 1.1.x及更高版本支持读取一些pcap-ng文件(其中所有接口具有相同的链路层头类型和快照长度); 但是,没有基于libpcap 1.1.x或1.2.x的WinPcap版本,因此没有可以读取pcap-ng文件的WinPcap版本。 因此,WinPcap周围没有CLR语言包装器能够读取pcap-ng文件,直到这样的WinPcap发布。

此外,libpcap / WinPcap API当前不返回具有纳秒分辨率的时间戳,因此即使您使用libpcap读取具有纳秒分辨率时间戳的文件,也不会看到纳秒分辨率的时间戳。

现在,你必须编写自己的代码,或者在Wireshark的Wiretap库中编写一个包装器。 (请注意,Wiretap的API受到从Wireshark主要版本到另一个版本的重大且不兼容的更改。)

我已经将WinPcap移植到libpcap 1.7.3 ,现在它可以打开pcap-ng文件并支持纳秒时间戳分辨率。

你尝试过使用sharpPcap吗? 不确定它是否支持它(现在不能尝试),但它确实支持打开捕获文件以及iirc: http//sourceforge.net/apps/mediawiki/sharppcap/index.php? title = Main_Page

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM