首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C#中打开pcap-ng文件

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

Stack Overflow用户
提问于 2012-01-23 22:41:18
回答 3查看 6.1K关注 0票数 4

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

代码语言:javascript
复制
[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吗?

干杯,佩德罗

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-24 07:23:32

Libpcap 1.1.x和更高版本支持读取一些pcap-ng文件(其中所有接口都具有相同的链路层报头类型和快照长度);但是,没有基于libpcap 1.1.x或1.2.x的WinPcap版本,因此没有可以读取pcap-ng文件的WinPcap版本。因此,在这样的WinPcap版本出现之前,围绕WinPcap的任何CLR语言包装器都不能读取pcap-ng文件。

此外,libpcap/WinPcap API目前不返回纳秒精度的时间戳,所以即使您使用libpcap读取了纳秒精度的文件,也不会看到纳秒精度的时间戳。

就目前而言,您必须编写自己的代码,或者在Wireshark的窃听库周围编写一个包装器。(请注意,从一个Wireshark主版本到另一个Wireshark主版本,Wiretap的API会发生重大且不兼容的更改。)

票数 6
EN

Stack Overflow用户

发布于 2015-05-16 10:49:12

我移植了WinPcap to libpcap 1.7.3,现在它可以打开pcap-ng文件,并支持纳秒时间戳解析。

票数 3
EN

Stack Overflow用户

发布于 2012-01-24 00:00:14

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8973337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档