15

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?

slhck
  • 223,558
  • 70
  • 607
  • 592
narayanpatra
  • 687
  • 3
  • 9
  • 18

5 Answers5

13

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}')
nibot
  • 1,987
  • 4
  • 14
  • 18
1

2021.05.25

The easiest is to use macchanger utility. It is available for every GNU/Linux distribution.

STEP 1: Disable the network interface you want to restore. Let's say eth0

# ip link set eth0 up

STEP 2: Restore MAC address using macchanger

# macchanger -p eth0

STEP 3: Enable the interface

# ip link set eth0 up

This is it!

alv2017
  • 111
  • 1
1

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.

user unknown
  • 1,802
  • 1
  • 14
  • 25
1

[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.

Snakeroom
  • 11
  • 2
0

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>
sealz
  • 2,264
  • 2
  • 28
  • 41