我一直在尝试使用 Macchanger 在我的家庭网络上测试我的 MAC 欺骗能力。未连接 WiFi 时,它工作得很好。我可以使用 ifconfig 关闭接口,更改 mac,然后再次打开它,没有任何问题。使用 ifconfig 进行验证显示了随机以太 - 所以我知道一切顺利。
但是,当我尝试连接到 WiFi 时,运行 ifconfig 时它会显示原始 BIA。登录我的路由器显示我的 BIA 也是注册的 MAC 地址 - 不是随机的。
我的问题是:哪个默认设置导致 Debian 恢复到我的 wifi 接口的 BIA 而不是我欺骗的地址?
我已经尝试遵循几个不同的指南,这些指南说尝试更改 NetworkManager.conf 文件和 00-default.link 但这些都不起作用。任何帮助,将不胜感激。谢谢!
答案1
NetworkManager 获得了更改其处理的接口的以太网 MAC 地址的能力,并且默认情况下在无线接口上执行此操作。这将覆盖之前更改接口 MAC 地址的任何其他工具。
以太网的每个连接设置前缀为802-3-ethernet.
,无线设置的前缀为802-11-wireless.
。我将展示一个以太网的例子,然后讲述与无线的区别。
以太网
每个连接的主要设置称为802-3-ethernet.cloned-mac-address
。另请注意,这cloned-mac-address
就是显示的内容纳米克利出于兼容性原因。实际财产是内部命名assigned-mac-address
。还有一些相关的:
$ nmcli connection show id Myeth0 |grep mac # permanent MAC was redacted
802-3-ethernet.mac-address: 06:05:04:03:03:01
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist: --
mac-address
当设置时(通常是)告诉连接仅适用于具有此功能的网卡永恒的MAC 地址(也可以使用 检索ethtool --show-permaddr eth0
),mac-address-blacklist
则相反:避免将通用连接应用于具有此 MAC 地址的给定接口(显然只应设置其中之一)。它们不用于 MAC 欺骗设置。
所以有几个选择:
不使用网络管理器
但例如直接
wpa_supplicant
使用 DHCP 客户端。要求 NetworkManager 不要再干涉
您可以要求 NetworkManager 根本不接触 MAC 地址:
# nmcli connection down id Myeth0 # nmcli connection modify id Myeth0 802-3-ethernet.cloned-mac-address preserve # ip link set eth0 down #very old NICs don't support changing MAC when up # ip link set eth0 address 0A:09:08:07:06:05 # nmcli connection up id Myeth0
新设置的 MAC 地址将保留为当前的任何值。
或者只是让 NetworkManager 完成这项工作,而不必先使用其他工具:
$ nmcli connection modify id Myeth0 802-3-ethernet.cloned-mac-address 0e:0d:0c:0b:0a:09 $ nmcli connection down id Myeth0 $ nmcli connection up id Myeth0
NM 现在将负责将 MAC 地址更改为指定的地址。
要恢复为永久,您可以设置802-3-ethernet.cloned-mac-address
为permanent
(或将其留空,因为这是以太网的默认设置)。
还有其他模式,例如随机的或者稳定的也可以使用where generate-mac-address-mask
(例如生成随机 MAC,但似乎始终来自同一真实制造商)
无线的
默认情况下,当
802-11-wireless.cloned-mac-address
为空时,随机的用来。有一个
802-11-wireless.mac-address-randomization
可能已被弃用,可能会影响之前的设置。文档中不太清楚,但并不是真正需要的
大多数这些设置也在 GUI 小程序中公开。 “克隆的 MAC 地址”字段不限于下拉菜单:您可以在字段中输入 MAC 地址而不是预定义值(保留、永久、随机、稳定)。
有一个额外的 wifi 设置我不知道如何更改,除非通过编辑 NetworkManager 的配置文件::wifi.scan-rand-mac-address
设置为是的默认情况下,它告诉 NetworkManager 更改 wifi 接口的 MAC 地址扫描时。此设置是全局的或按设备设置,但不是按设备设置联系,因为还没有激活连接。将其更改为不代替是的/etc/NetworkManager/conf.d/devicewlan0.conf
您可以添加一个如下所示的文件:
[device]
match-device=interface-name:wlan0
wifi.scan-rand-mac-address:no
但文档对此并不是很详细。无论如何,也许只有选择上面的第二个选项 ( preserve
) 而不是第三个选项(设置 MAC 地址)时才需要此设置。
参考:
https://developer.gnome.org/NetworkManager/stable/settings-802-3-ethernet.html
https://developer.gnome.org/NetworkManager/stable/settings-802-11-wireless.html
https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html(检查设备部分)