我有多个广播相同 SSID 的 WAP,并且许多主机在它们之间自由漫游。
- 当主机处于多个 WAP 的覆盖范围内,并通过无线方式向其当前连接的 WAP 发送数据包时,理论上数据包也应到达其他 WAP。它们如何知道数据包不是发往自己的,并丢弃这些数据包?
- 当一个主机向 WAP 发送数据包时,其他主机能否在空中嗅探到原始数据?假设他们有 WLAN 密钥。
对于第一个问题,我猜测它与 WAP 的 BSSID 有关。但是在研究了 802.11 帧的结构后,我没有在帧内的任何地方找到 BSSID。
答案1
当主机处于多个 WAP 的覆盖范围内,并通过无线方式向其当前连接的 WAP 发送数据包时,理论上数据包也应到达其他 WAP。它们如何知道数据包不是发往自己的,并丢弃这些数据包?
帧头中不仅仅包含目标主机的 MAC 地址;他们确实有接入点的 MAC 地址(BSSID)。在“WDS 桥接”模式(也称为 4addr 模式)中,有四个地址字段允许两个都包括接入点的 MAC 地址。
引用 802.11-2016:
9.2.4.3 地址字段
9.2.4.3.1 一般规定
MAC 帧格式中有四个地址字段。这些字段用于指示基本服务集标识符 (BSSID)、源地址 (SA)、目标地址 (DA)、发送 STA 地址 (TA) 和接收 STA 地址 (RA)。某些帧可能不包含某些地址字段。
某些地址字段的使用由 MAC 标头内地址字段 (1–4) 的相对位置指定,与该字段中存在的地址类型无关。例如,接收器地址匹配始终对接收帧中地址 1 字段的内容执行,而 CTS 和 Ack 帧的接收器地址始终从相应 RTS 帧中的地址 2 字段或被确认的帧中获取。
您无法在常规 tcpdump 数据包捕获中看到这一点,因为 Wi-Fi 在设计上提供了完全与以太网兼容的链路层,但您可以通过“监控模式”捕获来看到它,该捕获为您提供原始的 802.11 帧。
当然,理想情况下,范围内的 AP 应该位于不同的无线电频率上,这样就根本不会接收到数据包(并且当两个 AP 的客户端尝试传输数据时不会造成干扰)。
当一个主机向 WAP 发送数据包时,其他主机能否在空中嗅探到原始数据?假设他们有 WLAN 密钥。
取决于安全模式。
- 在静态 WEP 中,是的。
- 在 WPA1-PSK 和 WPA2-PSK 中,密码不直接用作加密密钥 - 它用于密钥交换(四次握手)。其他设备(无论是 AP 还是客户端)只有拥有 PSK 才能解密数据包和用于产生密钥的握手。
- 在 WPA3-SAE 中,即使知道 PSK,新的密钥交换机制也应该可以使这种情况变得不可能。
- 在 WPA-EAP (WPA-Enterprise) 中,这种情况也应该是不可能的,因为每个客户端使用不同的加密密钥,并且密钥实际上不是通过无线方式发送的。相反,AP 通过以太网从 RADIUS 服务器接收密钥,并且(至少对于 PEAP 和 TTLS)密钥本身是从 TLS 握手中派生出来的。