![如何在没有 macchanger 的情况下永久更改 Linux 3.3.8 设备上的 mac 地址?](https://linux22.com/image/1620816/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%B2%A1%E6%9C%89%20macchanger%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E6%B0%B8%E4%B9%85%E6%9B%B4%E6%94%B9%20Linux%203.3.8%20%E8%AE%BE%E5%A4%87%E4%B8%8A%E7%9A%84%20mac%20%E5%9C%B0%E5%9D%80%EF%BC%9F.png)
我正在尝试永久修改运行 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
)。