Fedora 在连接到具有特定 SSID 的 WiFi 之前更改 MAC 地址

Fedora 在连接到具有特定 SSID 的 WiFi 之前更改 MAC 地址

仅连接到特定 WiFi 网络时,是否可以欺骗我的 MAC 地址?

我想到使用一个脚本,在/etc/NetworkManager/dispatcher.d/连接之前更改我的设备的 MAC 地址,然后在断开连接时将其更改回硬件默认值,但是我所知道的所有更改 MAC 地址的方法都需要停止并重新启动“NetworkManager”服务,这在运行脚本时显然不可能发生。

除了“NetworkManager”操作之外,还有其他方法可以检测网络连接的变化吗?我专门针对 Fedora 提出这个问题,但我确信该解决方案对 Linux 也是通用的。

答案1

如果您告诉 NetworkManager 改变它。为此,请802-11-wireless.cloned-mac-address在 NetworkManager 配置文件中指定:

nmcli con modify "My Little Wifi" wifi.cloned-mac-address 12:34:56:AB:CD:EF
nmcli con up "My Little Wifi"
  # (reconnect to apply)

(该参数默认permanent使用硬件地址,也可以设置为preserve使用外部工具设置的地址。)

除了“NetworkManager”操作之外,还有其他方法可以检测网络连接的变化吗?我专门针对 Fedora 提出这个问题,但我确信该解决方案对 Linux 也是通用的。

不会。Linux 可以一般性地告诉你它当前关联的 SSID,但那是为时已晚– 需要做出改变用户空间告诉内核与特定网络关联。

  1. 要更改接口的 MAC 地址,必须将其设置为“down”(禁用),否则操作系统将拒绝更改。
  2. Wi-Fi 连接是在对等体之间建立的识别者他们的 MAC 地址。如果您在关联时以某种方式更改了地址,AP/路由器将不再识别您,客户端必须重新关联。

因此,您需要连接到特定发行版的网络管理程序。诚然,它们中的大多数(包括 NetworkManager)使用相同的wpa_supplicant软件内部有实现,但是 1)它通常以不同的方式从不同的来源发送配置,2)它只有一个选项可以随机化 MAC 地址,而不能使用特定的 MAC 地址。

相关内容