为什么当我更改 WLAN1 的 MAC 地址时,适配器会断开与 AP 的连接

为什么当我更改 WLAN1 的 MAC 地址时,适配器会断开与 AP 的连接

我有TP-Link TL-WN722NWi-Fi 适配器(Atheros 芯片)。

我尝试过更改使用 MAC 地址MAC转换器以及Ubuntu的一些内置命令。

但是,每次我连接到 AP 时,Wi-Fi 适配器都会断开我的连接,MAC 会恢复到原始状态,然后再次连接。
我正在更改 MAC 以绕过 MAC 过滤。

答案1

802.11 要求,要通过 AP(无线路由器)发送流量,每个客户端(由唯一的 MAC 地址标识)必须首先进行身份验证(2 个或 4 个数据包交换),然后关联(另一个 2 个数据包交换)到 AP。

如果客户端尝试通过 AP 发送流量而未先进行身份验证和关联,AP 将向其发送解除关联或取消身份验证帧,从而有效地将其踢出网络,直到它完成正确加入网络所需的操作。由于客户端仅通过其 MAC 地址进行识别,因此如果您更改 MAC 地址,AP 会将您视为不同的客户端。它无法知道来自这个新 MAC 地址的新流量是否来自与您的卡在其原始 MAC 地址下进行的先前身份验证和关联的同一物理客户端 WNIC。

更改卡的 MAC 地址后,您需要告诉它使用新的 MAC 地址进行身份验证并关联到 AP,否则该 MAC 地址将收到 Deauthenticate 帧,将其踢出网络。

您不应假设您的无线驱动程序/固件/硬件能够同时处理两个 MAC 地址。有时,这被称为“虚拟 STA”、“vSTA”、“虚拟站”功能。[我甚至看到它被称为“STA 模式虚拟接入点”的“STA VAP”。这是一个误称,因为第一次有人创建单个 WNIC 处理多个 MAC 地址的功能是为了创建多个虚拟 AP (VAP),而“VAP”这个名称一直用于虚拟额外 MAC 地址功能,即使用于 STA 或 WDS 模式而不是 AP 模式也是如此。]

至于为什么您的驱动程序/固件/硬件每次与网络断开连接时都会重置为其旧的 MAC 地址,嗯,这可能是一个实现细节,需要您检查驱动程序的源代码甚至卡固件才能理解。

相关内容