Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这是正确的pcap筛选器表达式吗_C_Pcap_Libpcap_Wifi - Fatal编程技术网

这是正确的pcap筛选器表达式吗

这是正确的pcap筛选器表达式吗,c,pcap,libpcap,wifi,C,Pcap,Libpcap,Wifi,运行后,程序显示“filter compiled”,但它仍然捕获信标帧和除filter表达式中提到的三个帧之外的许多其他帧 那么,只捕获assoc req、probe req、probe resp frames是否是正确的筛选器表达式?正如interjay所说,您必须调用pcap\u setfilter()才能使筛选器生效。(将其作为答案,以便问题显示为有答案。)正如interjay所说,您必须调用pcap\u setfilter()使过滤器生效。(将其作为一个答案,以便问题显示为有答案。)您

运行后,程序显示“filter compiled”,但它仍然捕获信标帧和除filter表达式中提到的三个帧之外的许多其他帧


那么,只捕获assoc req、probe req、probe resp frames是否是正确的筛选器表达式?

正如interjay所说,您必须调用
pcap\u setfilter()
才能使筛选器生效。(将其作为答案,以便问题显示为有答案。)

正如interjay所说,您必须调用
pcap\u setfilter()
使过滤器生效。(将其作为一个答案,以便问题显示为有答案。)

您正在呼叫
pcap\u setfilter
?@interjay Oh。。。对的忘记调用pcap_setfilter。。。谢谢你打电话给pcap\U setfilter?@interjay Oh。。。对的忘记调用pcap_setfilter。。。谢谢
const char *str = "wlan subtype assoc-req or wlan subtype probe-req or wlan subtype probe-resp";
struct bpf_program fp;

if((pcap_compile(pkt_handle, &fp, str, 1, PCAP_NETMASK_UNKNOWN)==-1))
{
    pcap_perror(pkt_handle, "Compile");
}
else
    printf("filter compiled\n");