pcap_dispatch() 总是 returns 0 on Mac OSX 用于 wifi 接口
pcap_dispatch() always returns 0 on Mac OSX for wifi interface
我几乎没有连接到 wifi 路由器的设备,但是 pcap_dispatch() 在 Mac OS X 上实时捕获时,wifi 接口总是 returns 0。相同在有线接口的情况下,代码捕获响应。请澄清我是否在这里遗漏了任何标志。
如果您在监控模式下捕获,您将获得本机 802.11 数据包,这些数据包 不像 以太网数据包,因此类似于以太网的过滤将 不 工作。
此外,如果您在受保护的网络上以监控模式捕获,即使用 WEP 或 WPA/WPA2 的网络,超过 802.11 header 的所有内容都将被加密,您将 不 可以对其进行过滤。
所以:
- 如果您使用的是未受保护的网络,请尝试使用诸如
之类的过滤器
wlan dst 70:73:cb:c1:7c:61 and (arp or (vlan and arp))
- 如果您在受保护的网络上,请尝试使用诸如
wlan dst 70:73:cb:c1:7c:61
之类的过滤器,并确保读取数据包的程序只是盲目地将它们写入捕获文件或能够解密 WEP或 WPA/WPA2 数据包(我所知道的唯一可以解密它们的程序是 Wireshark,尽管其他一些程序也可以这样做)。
我几乎没有连接到 wifi 路由器的设备,但是 pcap_dispatch() 在 Mac OS X 上实时捕获时,wifi 接口总是 returns 0。相同在有线接口的情况下,代码捕获响应。请澄清我是否在这里遗漏了任何标志。
如果您在监控模式下捕获,您将获得本机 802.11 数据包,这些数据包 不像 以太网数据包,因此类似于以太网的过滤将 不 工作。
此外,如果您在受保护的网络上以监控模式捕获,即使用 WEP 或 WPA/WPA2 的网络,超过 802.11 header 的所有内容都将被加密,您将 不 可以对其进行过滤。
所以:
- 如果您使用的是未受保护的网络,请尝试使用诸如 之类的过滤器
wlan dst 70:73:cb:c1:7c:61 and (arp or (vlan and arp))
- 如果您在受保护的网络上,请尝试使用诸如
wlan dst 70:73:cb:c1:7c:61
之类的过滤器,并确保读取数据包的程序只是盲目地将它们写入捕获文件或能够解密 WEP或 WPA/WPA2 数据包(我所知道的唯一可以解密它们的程序是 Wireshark,尽管其他一些程序也可以这样做)。