如何在Linux中恢复MAC地址?


11

我已使用更改了Linux计算机中的MAC地址ifconfig。现在的问题是我还没有保存我的原始MAC地址。我想还原它而不重启。

有办法吗?


有没有理由不重启?
new123456 2011年

运行六个应用程序。不想关闭它们。
narayanpatra 2011年

1
运行这个程序?:sudo ifdown interface && sudo ifup interface也许:sudo /etc/init.d/networking restart
evan.bovie 2011年

@emb:没有用。
narayanpatra 2011年

Answers:


8

您可以使用以下方法获取供应商指定的硬件MAC地址ethtool

ethtool -P eth0

要将MAC地址重置为该值,可以执行以下操作:

sudo ifconfig eth0 hw ether $(ethtool -P eth0 | awk '{print $3}')

1

假设eth1:

grep "eth1" /var/log/*log | egrep "([0-9a-fA-F]{2}:){5}"

可以在系统上的日志{daemon,kern,syslog} .log中找到某些内容。


1

[rooted]假设wlan0

...(查找驱动程序)
airmon-ng | awk '/wlan0/ {print $4}'...或

airmon-ng | awk '/wlan0/ {print $3}' ...要不就

airmon-ng ..并在“驾驶员”下查看

...(重新启动驱动程序)
ifconfig wlan0 down

modprobe -r rt2800usb <=用驱动程序替换(rt2800usb)

modprobe rt2800usb <=用驱动程序替换(rt2800usb)

ifconfig wlan0 up

这就是我的方法。我为此编写了一个脚本,并将其与我的几个程序一起使用。如果这是您要采用的方法,请在备份接口之前放置“ time.sleep(3)”(或任何sleep命令)。


0

也许尝试删除然后重新安装模块?

sudo rmmod <NICmodule>
sudo insmod <NICmodule> 

还是删除该界面并恢复它?

sudo ifdown <interface> && sudo ifup <interface>

您能详细说明第一种方法吗?第二个没有用。
narayanpatra 2011年

<NICmodule>将是NIC正在使用的内核模块。例如e1000您可以使用本指南了解您所拥有的。
evan.bovie 2011年

您知道网卡使用什么模块吗?这只是将模块卸下,然后放回去(希望有正确的MAC)
sealz 2011年

@narayanpatra是否用用来访问互联网的接口替换了接口?在大多数情况下,这是eth0
paradd0x 2011年

@thiago:是的,我做到了。
narayanpatra 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.