I have changed my MAC address in my Linux machine using ifconfig. Now the problem is I have not saved my original MAC address. I want to restore it without rebooting.

Is there a way to do it?

  • Any reason no to reboot? – new123456 Jun 16 '11 at 15:12
  • Running half a dozen applications. Dont want to close them. – narayanpatra Jun 16 '11 at 15:14
  • 1
    Run this?: sudo ifdown interface && sudo ifup interface Or maybe: sudo /etc/init.d/networking restart – evan.bovie Jun 16 '11 at 15:25
  • @emb : did not work. – narayanpatra Jun 16 '11 at 15:30

You can get your vendor-specified hardware MAC address using ethtool:

ethtool -P eth0

To reset the MAC address to this value, you can do something like:

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

Assuming eth1:

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

could find something in the logs {daemon,kern,syslog}.log on my system.

| improve this answer | |

[rooted] assuming wlan0

...(to find driver)
airmon-ng | awk '/wlan0/ {print $4}' ...or

airmon-ng | awk '/wlan0/ {print $3}' ...or just

airmon-ng ..and look under 'driver'

...(to restart driver)
ifconfig wlan0 down

modprobe -r rt2800usb <=Replace (rt2800usb) with your driver

modprobe rt2800usb <=Replace (rt2800usb) with your driver

ifconfig wlan0 up

This is how I do it. I made a script for this and use it with a couple of my programs. If that's the route you take, put a 'time.sleep(3)' {or whatever sleep command} before bringing the interface back up.

| improve this answer | |

Maybe try removing then installing the module again?

sudo rmmod <NICmodule>
sudo insmod <NICmodule> 

Or maybe dropping the interface and bringing it back up?

sudo ifdown <interface> && sudo ifup <interface>
| improve this answer | |
  • can you elaborate the first method. The second one did not work. – narayanpatra Jun 16 '11 at 15:31
  • The <NICmodule> would be what ever kernel module the NIC is using. e.g. e1000 You can see what you have with this guide. – evan.bovie Jun 16 '11 at 15:36
  • Do you know what module your network card uses? This will just remove the module and then put it back (hopefully with the right MAC) – sealz Jun 16 '11 at 15:38
  • @narayanpatra Did you replace interface with what you use to access the internet? In most cases it's eth0 – paradd0x Jun 16 '11 at 15:39
  • @thiago : Ya, i did that. – narayanpatra Jun 16 '11 at 15:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.