0

我正在为 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 文件创建一个该程序的实例,但我真的很想在一个程序中处理所有文件。有任何想法吗?

4

1 回答 1

0

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

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

于 2014-06-24T18:34:00.300 回答