Computer networking is primarily based on IP addresses. To explain the relevance of IP address, we’re going to briefly describe how these networks work with the example of the internet.
Functioning of Networks
When we have a device connected to the internet, and we enter the URL of a website, say ‘www.fosslinux.com,’ what we are doing is asking the internet to search for the server of ‘FOSS Linux,’ and request them to share their data with us. This part of the process is called ‘request.’
Later, the server detects the request and analyzes whether to, or whether not to share the data. If yes, it sends a webpage to the system that requested it, and that is how we can see the homepage of a website. This part is called the ‘response.’ This whole process is repeated again and again with every link we click, and every website we visit.
All well and good. But how does it reach the target server/system? An IP address is a reference that the internet uses to reach a website server or your system. We can use the analogy of a mail letter here. Sending a letter to someone requires an address, and so does posting a reply to that very letter. In that case, it requires the geographical address, while in the case of computers, it requires the IP address.
The IP address, though, only helps data to go as far as the router that the system is connected. After that, the router requires the MAC address of the exact system (that is currently connected to that router) to route the data to that system. That is how you obtain the data on the internet.
MAC addresses Usage
With all that explained, the basic idea is that the MAC address is a unique number or address that can be used to identify your system correctly. Our systems can interact with the networks using network cards of some sort or the other. There are most commonly wireless cards (for Wi-Fi) and ethernet cards (for wired connections). All the network cards in the world have a unique MAC address.
Why you might want to change your MAC address
- For privacy – When connecting to external Wi-Fi networks, privacy is required. By changing your MAC address, you can make sure that no one can trace or track you.
- For using specific services – Some services are bound to work on only a particular range of MAC addresses. You can change your MAC address to whatever you desire, and you can then use that service.
View MAC Address
To view the MAC address on your system, we will describe two commands, and you can use any of them. If one doesn’t work on your system, the other one definitely will.
IP command
Use this command:
ip link
It gives information about the networking hardware of a system. It will contain information of all the interfaces available and have the MAC address next to the part saying ‘link/ether‘ for each interface.
ifconfig
Next, you can use the Swiss-Army knife of network interface tools, ifconfig to view your networking hardware information. Use this command:
ifconfig -a
The output is a little messier but has way more information. But just because it is more powerful and shows more information, doesn’t mean that its better. If you wish to find out the MAC address, and general information, the ip command is better in my opinion, because it shows more streamlined and to-the-point information.
In the output of ifconfig, you’ll find information categorized according to the interface. The MAC address, here too, is next to the word ‘ether‘ for various interfaces.
Changing MAC Address
Prerequisite
IMPORTANT:: Before changing the MAC address, you have to switch it off. To do that, you must first know the name of the network interface on your device. Use the same commands as above, ip or ifconfig, and you’ll get a list of network interfaces in both.
If its a wired connection, it will have the part ‘eth‘ or ‘enp‘ in the interface name. If wireless, it will have ‘wlan‘ or ‘wlp‘ in the name. The key element is ‘e’ for wired, and ‘w’ for wireless. For example, here:
‘enp1s0‘ means wired connection, and ‘wlp2so‘ means wireless connection.
Now, to turn it off, use this command:
sudo ifconfig <interface name> down
If you do not have ifconfig installed, install it using:
sudo apt-get install net-tools
Now for the main task, a program that helps change the MAC address very quickly. The tool is called macchanger (the name says it all). Install it using:
sudo apt-get install macchanger
You will get a prompt asking whether you want to automatically reset the MAC address each time you connect/disconnect utilizing a network interface. Choose as you desire.
Changing the MAC address to a random value
To change the MAC address to a random value, use the following command:
sudo macchanger -r <interface name>
The output will be shown, with the previous and the current MAC address.
Changing the MAC address to a specific value
To change it to a particular number, you must enter the command in the following format:
sudo macchanger -m xx:xx:xx:xx:xx:xx <interface name>
Enter whatever address that you desire instead of ‘xx:xx:xx:xx:xx: xx.’ make sure that the length and format are exact.
Restore original MAC address
To restore the original, or ‘permanent’ MAC address, use the following command:
sudo macchanger -p <interface name>
It will change your MAC address to the original MAC address of your hardware.
Conclusion
That is all you will ever need to change your MAC address. Just as a caution, do not misuse this freedom that Linux provides you, to create a nuisance. You can be comparatively safer by changing your MAC address, but not invincible. Even after changing the MAC address, you must keep yourself secure on public networks.
4 comments
why would you only include instructions for connecting from a Windows client?
You forgot to tell people they need to re-enable their network after changing the MAC address.
after you’ve changed your MAC address, be sure to input sudo service network-manager restart to enable your network.
Great tutorial until the next Bump. Any wisdom for changing the mac address while using a vpn? My vpn takes over parameters for mac…