Each network interface on your computer or any other networked device has a unique MAC address. These MAC addresses are assigned in the factory, but you can change, or “spoof,” MAC addresses in software.
MAC stands for “media access control.” MAC addresses are also commonly referred to as physical addresses or hardware addresses, because they correspond to a hardware adapter.
Bear in mind that each network interface has its own MAC address. So, on a typical laptop with both a Wi-Fi radio and a wired Ethernet port, the wireless and wired network interface each have unique, separate MAC addresses.
Most network cards will allow you to set a custom MAC address from their configuration panes in the Device Manager, although some network drivers may not support this feature.
First, open the Device Manager. On Windows 8.1, press Windows Key + X and click Device Manager. On Windows 7, press the Windows key, type “Device Manager” to search for it, and click Device Manager.
Locate the network interface you want to modify under Network Adapters, right-click it, and select Properties.
Click the Advanced tab and select Network Address in the list. Your network driver doesn’t support this feature if the option isn’t here.
Enable the Value option and enter your desired MAC address without any separating characters — don’t use dashes or colons. Click OK afterward.
Modern Linux distributions like Ubuntu typically use Network Manager, which provides a graphical way to spoof a MAC address.
For example, on Ubuntu you’d click the network icon on the top panel, click Edit Connections, select the network connection you want to modify, and click Edit. On the Ethernet tab, you’d enter a new MAC address under “Cloned MAC address” and save your changes.
You can also do this the old-fashioned way. This involves taking the network interface down, running a command to change its MAC address, and then bringing it back up. Be sure to replace “eth0″ with the name of the network interface you want to modify and enter the MAC address of your choice:
sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
sudo ifconfig eth0 up
You’ll have to modify the appropriate configuration file under /etc/network/interfaces.d/ or the /etc/network/interfaces file itself if you want this change to always take effect at boot time. If you don’t, your MAC address will be reset when you restart.
Mac OS X
Mac OS X’s System Preferences pane displays each network interface’s MAC address, but doesn’t allow you to change it. You can do so with a single command.
Open a Terminal window (press Command + Space, type Terminal, and press Enter.) Run the following command, replacing en0 with the network interface’s name and filling in your own MAC address:
sudo ifconfig en0 xx:xx:xx:xx:xx:xx
The network interface will generally be either en0 or en1, depending on whether you want to configure a Mac’s Wi-Fi or Ethernet interface. Run the ifconfig command to see a list of interfaces if you’re not sure of the appropriate network interface’s name.
As on Linux, this change is temporary and will be reset when you next reboot. You’ll need to use a script that automatically runs this command on boot if you’d like to permanently change your Mac address.
You can verify your change took effect by running a command that shows your network connection details and checking what MAC address your network interface reports afterwards. On Windows, run the ipconfig /all command in a Command Prompt window. On Linux or Mac OS X, run the ifconfig command.
If you need to change the MAC address on your router, you’ll find this option in your router’s web interface.