可以在不同的通道上回答探测请求吗?

网络工程 无线的 IEEE-802.11
2021-07-23 14:49:49

我正在监控网络中的 802.11 流量,尤其是智能手机的主动探测。我正在发送针对某些隐藏 SSID 的探测请求,还有一个无向探测请求,应该显示与我的设备宣布的功能匹配的网络。

我在欧洲,所以我们可以使用比我认为的美国更多的渠道(对吗?),因此它们重叠。

正如预期的那样,扫描依次在不同的频道上进行,但让我感到惊讶的是这种行为:

通道 5 上发送的无向探测请求由通道 6 上的 AP 应答。这是完全正常的行为,即在官方规范中的任何地方定义吗?

编辑:这是探测请求和响应的内容,我的假设基于 DS 参数集:当前通道。 i.imgur 上的图片

两帧之间的时间差为 4ms,在此期间我没有观察到波上的任何其他活动。

编辑:这是我使用 airodump-ng 1.0 airodump-ng -c 6 mon0 运行的命令

并且捕获工具显示来自信道 2 到 9 上的 AP 的信标。对我来说,这意味着 airodump 接受在频率范围内可见的所有数据包,而不根据当前信道参数将它们解除,出于性能原因是有意义的。

如果路由器具有相同的行为来回答探测请求......这可能是原因。(开始质疑我们心爱的路由器中使用的频率滤波器的选择性。)

编辑 1:

这种行为是否 1) 可重复,有工作设备的人可以尝试观察这一点吗?2) 在 802.11 参考文献中的某处指定?我自己找不到。

编辑2:

感谢到目前为止尝试重复此设置的每个人。这是我最后一次尝试对此进行解释。我需要继续前进 :P 这是我做事的确切顺序。

root@mymachine:~# iwconfig :: no mon interface, wlan0 is managed, not associated, and on channel 6: 2.437GHz
root@mymachine:~# airmon-ng start wlan0 6 :: mon0 created, set on channel 6: 2.437GHz

这一点后来得到了另一个证实iwconfig(附带说明,我可以更改 wlan0 的频道,而 mon0 保持独立。)

root@mymachine:~# airodump-ng mon0 --channel 6 -w out --output-format pcap :: start a capture on channel 6, write to a file. 

观察:airodump-ng 不显示频道的任何变化,左上角固定在数字 6。但是,在频道 2 到 11 上观察到的信标......-> 显然没有选择性并将参数传递给 airmon-ng和 airodump-ng 似乎毫无意义。

观察到:
芯片组 Intel 4965 驱动程序 iwlwifi 芯片组
Atheros AR 9271 驱动程序 ath9k

截屏: 截屏

2个回答

发生的情况是,您的无线设备即使调谐到频道 6 (2437) 也有很小的概率从相邻频道接收帧,例如频道 5 和 7,甚至更远的频道(概率较小)。

这在很大程度上取决于您使用的无线接口。我发现的最糟糕的无线电是基于 AR9170 的 USB 适配器,当它转向通道 6 时,它能够拾取通道 1 上的流量。一些其他接口(例如 AR9280)没有这个问题,或者它相当减少。

PS:AR9271不是ath9k驱动支持的,而是ath9k_htc驱动支持的。因为这张卡似乎是 AR9170 的自然继承者,所以您遇到同样的问题我并不感到惊讶。

无线捕获与有线捕获不同。在有线捕获中,您只需选择接口并开始捕获帧。

使用无线捕获,您可以选择适配器,但您还需要选择是要监视一个通道还是跨多个(或所有)通道进行扫描。两者各有优势,需要了解何时使用每一种。

在您的示例中,由于您在两个不同的频道上进行捕获,因此您要么使用两个不同的捕获设备,要么在扫描频道时进行捕获,但我认为您正在扫描。这意味着它会在一个频道上停留一段时间,捕获流量,然后移动到下一个频道。

所以这就是我认为最有可能发生的情况:

  1. 捕获设备开始在通道 5 上进行监视。
  2. 客户端设备在通道 5 上发送探测请求。
  3. 客户端设备移动到通道 6 并发送探测请求。
  4. 捕获设备移动到通道 6 并开始监视。
  5. AP 在通道 6 上发送探测响应。

最后,您的捕获在通道 5 上接收探测请求,然后在通道 6 上接收探测响应。

我使用过的每个无线捕获工具都允许您选择要监控的单个频道。我怀疑如果您将其设置为通道 5,您将收到没有响应的探测请求。如果将其设置为通道 6,您将同时看到探测请求和响应。