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");
运行后,程序显示“过滤器已编译”,但除了过滤器表达式中提到的三个之外,它仍然捕获Beacon帧和许多其他帧。
那么,仅捕获 assoc-req、probe-req、probe-resp 帧是否是正确的过滤器表达式?