C++ - 在没有libpcap的情况下读取和写入pcapng文件



我对不使用libpcap或WinPcap读取和写入pcapng文件感兴趣。有人知道该怎么做吗?

我可以推荐一个C库来做到这一点,它被称为LightPcapNg,显然PcapPlus正在使用它来拥有一个更干净的C++包装器。

由于您对C++感兴趣,以下是如何使用PcapPlusPlus读取pcap-ng文件的代码片段:

#include <PcapFileDevice.h>
void readAndWritePcapNg(char* inputFileName, char* outputFileName)
{
// reader instance
PcapNgFileReaderDevice readerDev(inputFileName);
// writer instance
PcapNgFileWriterDevice writerDev(outputFileName);
// open reader and writer
readerDev.open();
writerDev.open();
RawPacket rawPacket;
// read packets from file
while (readerDev.getNextPacket(rawPacket))
{
Packet packet(&rawPacket);
// do whatever you want with the packet
....
....
// write the packet to the output file
writerDev.writePacket(rawPacket);
}
// close reader and writer
readerDev.close();
writerDev.close();
}

最新更新