![wlan接口如何接收802.11管理帧?](https://linux22.com/image/1408580/wlan%E6%8E%A5%E5%8F%A3%E5%A6%82%E4%BD%95%E6%8E%A5%E6%94%B6802.11%E7%AE%A1%E7%90%86%E5%B8%A7%EF%BC%9F.png)
据我所知,hostapd(用于创建 wifi 接入点)创建一个 mon0.wlan0 接口来发送和接收 wifi 管理帧(http://lists.shmoo.com/pipermail/hostap/2012-May/025973.html)
普通 WLAN 接口如何接收/发送 802.11 管理帧(例如探测、信标)。当我在 wlan0 接口上执行 tcpdump 时,我没有看到它们。如果管理帧根本没有出现在 wlan0 接口上,应用程序如何为我们提供可用网络的列表?
答案1
管理帧与通过 802.11 媒体的所有其他帧一样在信道内发送。不确定为什么您没有使用协议分析器看到它们,但它可能在错误的接口(或子接口)上监听,或者配置错误。
不同子类型的管理帧根据需要使用不同的目标寻址。例如,信标帧是 WAP 定期发送的广播帧。探测请求帧也被寻址为第 2 层广播,这次由客户端发送。但是对探测的响应是单播的。
更多信息请见此处: http://dot11.info/index.php?title=Chapter_4_-_802.11_Management_frames
答案2
以下是我的问题的部分答案。似乎如果接口未处于监控模式,适配器会提供带有假以太网报头而不是 802.11 报头的数据包。因此我无法在 tcpdump 上查看它们。引用自Wireshark 的 WLAN 捕获指南
当不处于监控模式时,适配器可能只捕获数据包;您可能必须将适配器置于监控模式才能捕获管理和控制数据包。此外,当不处于监控模式时,适配器可能会提供带有伪造以太网报头(而不是 802.11 报头)的数据包,并且可能不会提供额外的无线电层信息,例如数据速率和信号强度。
尽管系统如何显示可用网络及其信号强度对我来说仍然是一个谜。