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