我无法捕获 WiFi 广播流量以外的任何内容。
这是我的设置:
- 在 macOS 10.14 上使用 Parallels 虚拟化的 Kali Linux:4.19.37-6kali1(2019-07-22)
- Alfa Network AWUS036NHA USB WiFI 适配器(传递至 VM,未被主机操作系统使用)
lsusb
显示:Qualcomm Atheros Communications AR9271 802.11n
lsmod | grep 80211
给出
mac80211 815104 1 ath9k_htc
cfg80211 761856 4 ath9k_htc,ath9k_common,ath,mac80211
rfkill 28672 5 bluetooth,cfg80211
适配器显示iwconfig
为wlan0
。
以下是我将适配器置于监控模式的方法:
> airmon-ng check kill
> airmon-ng start wlan0
PHY Interface Driver Chipset
phy1 wlan0 ath9k_htc Qualcomm Atheros Communications AR9271 802.11n
(mac80211 monitor mode vif enabled for [phy1]wlan0 on [phy1]wlan0mon)
(mac80211 station mode vif disabled for [phy1]wlan0)
> iwconfig
wlan0mon IEEE 802.11 Mode:Monitor Frequency:2.457 GHz Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
我现在将其设置为我想要监听的 AP 的频道:iwconfig wlan0mon channel 3
我可以验证iwconfig
现在显示的是Frequency:2.422 GHz
。为了测试目的,我还将我的 AP 锁定在这个频道上。
我现在启动Wireshark并开始捕获wlan0mon
。此时我的主机和kali vm尚未连接到任何网络。
我可以看到各种管理和控制帧,但由于我的目标网络已加密,因此看不到更多内容。因此,我使用另一个物理客户端并连接到 AP,可以看到捕获的 EAPOL 数据包;从那时起,我开始看到解密的流量(我的密钥存储在 Wireshark 中)。
问题是:我只看到广播流量:ARP、一些 UDP 广播、MDNS、ICMP 路由器广告等。当我使用我的其他客户端并产生一些流量(恒定 ping/ICMP、HTTPs 流量等)时,它只是没有显示/没有被捕获。
当我将适配器重新置于托管模式并自行加入网络时,捕获工作正常(显然,这仅适用于我的计算机的流量)。值得注意的是,当我不先断开主机的连接时,我在这里遇到了同样的问题,即使它正在使用自己的 WiFi 适配器(即也仅捕获广播流量)。
知道什么可能导致此问题吗/为什么只捕获广播流量?
(使用 Wireshark 捕获数据包airodump-ng
没有区别——也只能看到广播)。
答案1
您无法捕获使用捕获硬件无法理解的调制和编码方案传输的帧。您的捕获硬件是非 MIMO(1x1:1),因此它无法捕获使用两个或三个 MIMO 空间流发送的任何内容。我怀疑您的目标客户端和 AP 都至少具备 2x2:2 的能力。
“来自 DS”的多播和广播以低速率发送,以确保可靠性,因为它们没有被确认。因此,这些可能是使用慢速非 MIMO 调制发送的。这就是为什么您看到多播和广播,但没有看到单播的原因。
为了保证可靠性,管理和控制帧,甚至 EAPOL 握手,通常也以较低的 PHY 速率发送。但在 EAPOL 握手完成并且实际单播流量开始流动后,硬件开始使用两端支持的最高 MCS,并且 RF 条件允许它们可靠地使用。