在程序的一个实例中读取多个pcapfile

本文关键字:实例 读取 pcapfile 一个 程序 | 更新日期: 2023-09-27 18:10:03

我正在使用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。

我知道我可以为一个pcap文件拥有这个程序的一个实例,但是我真的想在一个程序中处理所有的文件。什么好主意吗?

在程序的一个实例中读取多个pcapfile

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

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