A device’s MAC address is assigned by the manufacturer, but it’s not to hard to change—or “spoof”—those addresses when you need to. Here’s how do do it, and why you might want to.
Each network interface connected to your network—whether it’s your router, wireless device, or network card in your computer—has a unique media access control (MAC) address. These MAC addresses—sometimes referred to as physical or hardware addresses—are assigned in the factory, but you can usually change the addresses in software.
What MAC Addresses Are Used For
At the lowest networking level, network interfaces attached to a network use MAC addresses to communicate with one another. When a browser on your computer needs to grab a web page from a server on the Internet, for example, that request passes down through several layers of the TCP/IP protocol. The web address you type gets translated to the IP address of the server. Your computer sends the request to your router, which then sends it out onto the Internet. At the hardware level of your network card, though, your network card is only looking at other MAC addresses for interfaces on the same network. It knows to send the request to the MAC address of your router’s network interface.
In addition to their core networking use, MAC addresses are often used for other purposes:
- Static IP Assignment: Routers allow you to assign static IP addresses to your computers. When a device connects, it always receives a specific IP address if it has a matching MAC address
- MAC Address Filtering: Networks can use MAC address filtering, only allowing devices with specific MAC addresses to connect to a network. This isn’t a great security tool because people can spoof their MAC addresses.
- MAC Authentication: Some Internet service providers may require authentication with a MAC address and only allow a device with that MAC address to connect to the Internet. You may need to change your router or computer’s MAC address to connect.
- Device Identification: Many airport Wi-Fi networks and other public Wi-Fi networks use a device’s MAC address to identify it. For example, an airport Wi-Fi network might offer a free 30 minutes and then ban your MAC address from receiving more Wi-Fi. Change your MAC address and you could get more Wi-Fi. (Free, limited Wi-Fi may also be tracked using browser cookies or an account system.)
- Device Tracking: Because they’re unique, MAC addresses can be used to track you. When you walk around, your smartphone scans for nearby Wi-Fi networks and broadcasts its MAC address. A company named Renew London used trash bins in the city of London to track people’s movements around the city based on their MAC addresses. Apple’s iOS 8 will use a random MAC address each time it scans for nearby Wi-Fi networks to prevent this sort of tracking.
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 their own unique MAC addresses.
Change a MAC Address in Windows
Most network cards 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 and 10, press Windows+X, and then click “Device Manager” on the Power User menu. On Windows 7, press the Windows key, type “Device Manager” to search for it, and then click the “Device Manager” entry. The Device Manager app will look the same no matter which version of Windows you’re using.
In Device Manager, under the “Network adapters” section, right-click the network interface you want to modify, and then select “Properties” from the context menu.
In the properties window, on the “Advanced” tab and select the “Network Address” entry in the “Property” list. If you don’t see this option, then your network driver doesn’t support this feature.
Enable the Value option and type your desired MAC address without any separating characters—don’t use dashes or colons. Click “OK” when you’re done.
Change a MAC Address in Linux
Modern Linux distributions like Ubuntu typically use Network Manager, which provides a graphical way to spoof a MAC address.
For example, in Ubuntu you’d click the network icon on the top panel, click “Edit Connections,” select the network connection you want to modify, and then click “Edit.” On the Ethernet tab, you’d enter a new MAC address in the “Cloned MAC address” field, and then 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.
Change a MAC Address in 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. For that, you need the Terminal.
Open a Terminal window (press Command + Space, type “Terminal,” and then press Enter.) Run the following command, replacing
en0 with your 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
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. And if you need to change the MAC address on your router, you’ll find this option in your router’s web interface.