【问题标题】:why pcap_setfilter did not take effect为什么pcap_setfilter没有生效
【发布时间】:2019-10-02 16:17:09
【问题描述】:

我正在使用 libpcap 作为 lib 来编写一个 C 程序来捕捉即将到来的 IP。 我的代码 sn-p 如下:

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。

【问题讨论】:

    标签: pcap libpcap


    【解决方案1】:

    我解决了问题,正确答案在这里:

    "icmp[icmptype]=0 and (dst 16.11.26.100 or dst 16.11.27.100)"
    

    刚刚删除了单个配额。

    【讨论】:

      【解决方案2】:

      您应该始终检查库例程调用中的错误。如果您检查了来自 pcap_compile() 的错误,您会看到编译失败(由于单引号,尽管错误消息可能只是“语法错误”)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-19
        • 1970-01-01
        • 2017-02-20
        • 2018-12-19
        • 1970-01-01
        • 2017-09-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多