我正在使用libpcap作为lib来编写一个C程序来赶上即将来临的IP。 我的代码段如下:
struct bpf_program filter;
pcap_compile(pcap_handle, &filter, "icmp[icmptype]=0 and '(dst 16.11.26.100 or dst 16.11.27.100)'", 1, 0);
pcap_setfilter(pcap_handle, &filter);
但是它没有用,我仍然可以看到其他dest Ips,而不仅仅是上面的两个Ips。
答案 0 :(得分:1)
您应该始终检查库例程调用中的错误。如果检查了pcap_compile()
中的错误,就会发现编译失败(由于单引号,尽管错误消息可能只是“语法错误”)。
答案 1 :(得分:0)
我已解决问题,正确的答案在这里:
"icmp[icmptype]=0 and (dst 16.11.26.100 or dst 16.11.27.100)"
只需删除单个配额即可。