在一个程序实例中读取多个PcapFiles

时间:2014-06-24 18:27:03

标签: c# winpcap sharppcap packetdotnet

我正在为WinPcap使用Sharppcap包装器,我试图在程序/程序生命周期的一个实例中连续读取多个pcap文件

foreach (FILENAME in LIST) // pseudocode
{
    ICaptureDevice device;

    try
    {

        device = new SharpPcap.LibPcap.CaptureFileReaderDevice(FILENAME);
        device.Open();
    }
    catch (Exception e){}

    while ((device.GetNextPacket()) != null)
    {
        // Handle Packet from FILENAME
    }

    device.Close()


}

它遍历第一个文件,但是一旦尝试解析第二个文件,它就会抛出一个AccessViolationException。

我知道我可以为1个pcap文件创建一个这个程序的实例,但我真的想在一个程序中处理所有文件。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果你只是想阅读PCAP文件,我建议你自己做。格式非常简单,一些外部库也不会有任何问题。

http://wiki.wireshark.org/Development/LibpcapFileFormat