如何在没有 macchanger 的情况下永久更改 Linux 3.3.8 设备上的 mac 地址?

如何在没有 macchanger 的情况下永久更改 Linux 3.3.8 设备上的 mac 地址?

我正在尝试永久修改运行 Linux 3.3.8 的设备上 MAC 地址,但我也无法安装 macchanger。

当我尝试

ifconfig eth0 hw ether [MAC_ADDRESS]

我明白了

ifconfig: SIOCSIFHWADDR: Device or resource busy

我已经通过 ssh 进入设备。设备已连接到 wifi 和以太网。我已通过 wifi 连接并尝试更改以太网的 mac 地址。我试过了

ifconfig eth0 down
ifconfig etho hw NEW_MAC
get the error: ifconfig: SIOCSIFHWADDR: Device or resource busy
ifconfig eth0 up

ifconfig 显示 mac 地址已更新。但是 GUI 元素仍然显示旧的 mac 地址。而且,重新启动后更改会丢失。

> uname -a 
> Linux (none) 3.3.8-4.2-g8c1f1dd #1 SMP Thu Jun 27 11:30:45 UTC 2019 mips GNU/Linux

答案1

在系统启动网络接口之前,应该更改 MAC 地址。

关闭要测试的接口:ip link set dev eth0 down,更改 MAC 地址,然后ip link set dev eth0 up。验证更改是否已执行,例如通过键入ip link

你没有指定你的 Linux 版本。假设你有一个类似 Debian 的系统,要进行更改永恒的您可以在中添加一行/etc/network/interfaces。找到您的 eth0 节并使用hwaddress指令,例如:

iface eth0 inet dhcp
    hwaddress ether xxxxxxxxx

其中 xxxxxxxxx 代表您选择的地址。如果您更喜欢随机地址然后您可以macchanger在同一个文件中使用并添加一行/etc/network/interfaces

iface eth0 inet dhcp
    pre-up macchanger -r eth0

如果您的网络接口由网络管理器,然后您可以随机化所有接口或每个连接的 MAC 地址。看看这里例如或这里。您可以使用nmcli实用程序(或nmtui)。

相关内容