最近我试图通过C / C ++中的libpcap过滤来自pcap文件的入站数据包。 这是部分代码。
pcap = pcap_open_offline(argv[0], errbuf);
if (pcap == NULL)
{
fprintf(stderr, "error reading pcap file: %s\n", errbuf);
exit(1);
}
char filter_exp[] = "inbound";
struct bpf_program pgm;
if (pcap_compile(pcap, &pgm, filter_exp, 0, PCAP_NETMASK_UNKNOWN) == -1) {
printf("Bad filter - %s\n", pcap_geterr(pcap));
return 1;
}
if (pcap_setfilter(pcap, &pgm) == -1) {
printf("Error setting filter - %s\n", pcap_geterr(pcap));
return 1;
}
但错误信息如下。
错误的过滤器 - 读取保存文件时,linktype 1上不支持入站/出站
有没有办法可以过滤C / C ++中的入站数据包?