Linux下修改网卡MAC地址最直接的方式是修改 /etc/network/interfaces 文件配置,如:
auto eth0
iface eth0 inet dhcp
hwaddress eth0 11:AA:22:BB:33:DD
保存后重启网络服务即可。
下面是使用macchanger克隆MAC地址的方法。
Debian/Ubuntu下安装命令:
xxx@yyy:~$ sudo apt-get install macchanger
先看帮助文档:
xxx@yyy:~$ macchanger --help
GNU MAC Changer
Usage: macchanger [options] device
-h, --help Print this help
-V, --version Print version and exit
-s, --show Print the MAC address and exit
-e, --ending Don't change the vendor bytes
-a, --another Set random vendor MAC of the same kind
-A Set random vendor MAC of any kind
-p, --permanent Reset to original, permanent hardware MAC
-r, --random Set fully random MAC
-l, --list[=keyword] Print known vendors
-b, --bia Pretend to be a burned-in-address
-m, --mac=XX:XX:XX:XX:XX:XX
--mac XX:XX:XX:XX:XX:XX Set the MAC XX:XX:XX:XX:XX:XX
Report bugs to https://github.com/alobbs/macchanger/issues
大体意思明白:
-s 显示,-e 结束改变,-a/A 改变/分配另外一个地址,-p 恢复到原硬件MAC地址,-r 完全随机分配一个地址, -m 手工修改。当然参数后面得加设备名称。如:
xxx@yyy:~$ sudo macchanger -a eth0
除显示信息类的命令不用sudo权限外,其他都要有权限。
怎么用看需要。克隆别的网卡地址(如果地址是: 12:34:56:78:90:12)的方式为:
xxx@yyy:~$ sudo macchanger -m 12:34:56:78:90:12 eth0
改变网卡地址后会掉线,记得重新down/up网卡:
xxx@yyy:~$ sudo ifconfig eth0 down
xxx@yyy:~$ sudo ifconfig eth0 up
其实ifconfig本身就能该MAC地址:
xxx@yyy:~$ sudo ifconfig eth0 down
xxx@yyy:~$ sudo ifconfig eth0 hw ether 12:34:56:78:90:12
xxx@yyy:~$ sudo ifconfig eth0 up
以上修改再重新开机后会自动恢复原硬件MAC地址值。