我正在尝试在 FreeBSD 9.2 上使用带有 libpcap 版本 1.4.0 的 TShark 1.10.6 创建的 pcap 文件,并在 Windows 7 上使用 Visual Studio、SharpPcap 4.2、PacketDotNet 0.13 和 WinPcap 4.1.3 中的 c# 执行此操作.
引发的异常是Unable to open offline adapter: bad dump file format,它发生在例程 CaptureFileReaderDevice 中:
IntPtr adapterHandle = LibPcapSafeNativeMethods.pcap_open_offline( captureFilename, errbuf);
有趣的是,Wireshark 版本 1.10.3 在同一系统上——并且也使用同一版本的 WinPcap,能够打开文件!
什么会导致 SharpPcap 无法打开此文件?
编辑#1:
我更仔细地查看了 WireShark 的版本信息,显然它使用的是不支持 AirPcap 的 WinPcap 版本。我相信 SharpPcap 包括 AirPcap,所以我想知道这是否会有所作为。
在 64 位 Windows 7 Service Pack 1 上运行,build 7601,WinPcap 版本 4.1.3(packet.dll 版本 4.1.0.2980),基于 libpcap 版本 1.0 分支 1_0_rel0b (20091008),GnuTLS 2.12.18,Gcrypt 1.4.6 , 没有 AirPcap。
另外,我正在为 32 位输出进行编译。
编辑#2:
使用 pcap 的 WireShark统计信息/摘要,它显示以下有关捕获的信息:
- 操作系统:FreeBSD 9.2-RELEASE-p10
- 捕获应用程序:Dumpcap 1.10.6(Git Rev Unknown from unknown)