How to Change MAC Address on Android Devices

2

Before heading into the ‘How’ part of the article, let us see a brief intro about ‘What’ we are dealing with here.

What is a MAC Address?

A Media Access Control address (MAC address) is a 12-character unique identifier assigned to a specific piece of hardware such as the network adapter of your WiFi device. In simple words, a MAC address can be used to uniquely identify your Android phone on the Internet or the local network.

Why would you want to change it?

  • The most important reason would be privacy. Anyone in your local Ethernet network can easily see your MAC address with simple tools. This gives a hacker to potentially keep track of your devices (and thus, you). This is a threat when you are on a public wireless network (hotels, airports and even some coffee shops provide free wifi these days).
  • If your original MAC address is public and revealed, a hacker can use it to impersonate you! On many networks, access is restricted based on IP address, so when you go offline, the hacker can use your MAC address and access the network as ‘you’.
  • If you want to access a network which limits access based on MAC address, you can change the MAC address on the device you want access to (with a MAC address which actually has access) and access the network.
  • Internet Service Providers often your MAC address to identify and authenticate your internet connection. In case your network stops working and you have to get a new one, the network might not work as the new network card has a new MAC address. Here, instead of contacting your ISP, you can change the new network card’s MAC address to your old network card’s MAC address and start using right away!

Now that we are done with the ‘What’ and ‘Why’ part, let us get down to business.

How to change MAC Address

There are two ways to change MAC address on your Android device:

  1. Without Root Access.
  2. With Root Access.

Both the methods are fairly simple. We will see both the methods in detail, one-by-one below.

Checking Root Availability

If you haven’t heard of this term ‘Root’ before, I highly doubt root availability on your phone. Even if you are sure that you have rooted your phone, as a good precautionary measure, we will go ahead and verify it once. To check root availability, download the below app from the Google Play Store:

Root Checker
joeykrim Tools Free
Download

The app is free and pretty basic. Upon opening, tap on ‘Verify Root’ and you will see your root status right away. For example, my OnePlus 3 is not rooted and below is the result that I got:change mac address in android

Now that we are sure about the root status, we will continue with the process.

Method 1 – Without Root Access

Worry not, even if you don’t have root access. It is still possible to change your MAC address. Below is a step by step instructions to temporarily change android MAC address without root access:

  1. Get to know the MAC Address of your phone. To know this, Goto Settings and scroll all the way down to ‘About Phone‘ and tap on ‘Select Status‘. There your current MAC address will be displayed. Long Press on the MAC address to copy it automatically and save it somewhere as a backup (just in case!).
  2. Download an app called ‘Android Terminal Emulator‘ from Google Play Store by using the link below: 
    Terminal Emulator for Android
    Jack Palevich Tools Free
    Download
  3. Open the App. Type ‘ip link show’.
  4. Find your interface name from the list. For the purpose of this example, let us consider your interface name is ‘wlan0’. Now, type this command in the terminal emulator to change the MAC address: ‘ip link set wlan0 XX:XX:XX:YY:YY:YY’ where you have to replace ‘wlan0’ with your own interface name and ‘XX:XX:XX:YY:YY:YY’ with the new MAC address you want to change to.
  5. Now go and verify if your MAC address has changed properly.

Limitation:

Now there are two limitations to this method. The first being, it almost always works only on devices with mediatek processors. The second being, the change is temporary. Your MAC address will go back to the original one if you restart your phone.

Method 2 – With Root Access

Note that this method only works on rooted Android devices. The second thing you need for this method to work, apart from root, is Busybox. You can easily install Busybox on your rooted android phone with the following app:

BusyBox
Download

Just open the app, tap on ‘install’ and you are good to go. If you already have Busybox installed on your device, just ignore these steps.

Please note that even this method makes use of the ‘Terminal Window’ app. The download link can be found on the top of this post.

Assuming you have both Terminal Window, ROOT and Busybox on your device, follow the below steps:

  1. Open terminal window app and type these commands: ‘su‘ and hit Enter.
  2. If you have not already granted access to the app, it will prompt you for root access. Tap ‘Allow’.
  3. To know your current network interface name type ‘ip link show‘ and hit enter. Make note of your network interface name. For the purpose of this tutorial, we will consider ‘eth0‘ to be the interface name.
  4. Now, enter this command: ‘busybox ip link show eth0‘ and press enter. Your current MAC address will be displayed. This is just for your information.
  5. To change the MAC address, type the following command and hit enter: ‘busybox ifconfig eth0 hw ether XX:XX:XX:YY:YY:YY‘. Change ‘XX:XX:XX:YY:YY:YY’ with any MAC address you desire.
  6. You have successfully changed your MAC address! To check the same use the command: ‘busybox iplink show eth0‘. You should see the new MAC address you entered.

Note that the MAC address change through this method is permanent and does not change upon device restart.

Did this method work for you? Have you an easier method than this to change the MAC address? Let us know in the comments below!

SHARE
  • Abhi Myadam

    run ip link show
    it should say wlan0 or eth0
    replace eth0 in the top command with wlan0

  • Franco Cabrera

    “ip: cant find device ‘eth0′”
    i get this error and cant go on, recomendations? thanks