我正在开发一个工具,尽管我能够在接口中捕获传入的数据包(l2 缓冲区和 L2 长度,有效负载),并且能够在控制台上打印该数据包。现在我想将这些数据包写入一个pcap
文件,以便我可以将此文件传输到其他平台并读取数据包信息。
如何打开 pcap 文件并将数据包缓冲区写入 pcap 文件?我该如何填写struct pcap_file_header
?
用于pcap_dump
保存数据包...此代码可能有用:)
编写 pcap 使用库 pcap_file_generator
使用:
int i=0;
const int PKTS_COUNT = 212000;
int PKTS_LEN = 540;
static ethernet_data_t eda;
eda.len = PKTS_LEN;
PCAPFILE * pfl = lpcap_create("./pcaplibtestfile.pcap");
for( i=0;i< PKTS_COUNT;i++ )
{
/* TODO: fill data memcpy(eda.data , YOUR_DATA_BUF,SIZE_YOUR_DATA_BUF );
eda.len = SIZE_YOUR_DATA_BUF;
*/
lpcap_write_data( pfl , &eda , i, 0 );
}
lpcap_close_file( pfl );