

A network has no way to know this is not the “real” MAC address or any way to force the device to expose that “real” hardware MAC. This virtual MAC address is stored and permanently associated with that SSID on the Android device. This behavior ensures that, instead of the hardware MAC address of the device reporting to the network, a virtual address generated on the first connection to a Wi-Fi SSID is reported. On Android, a MAC address isn’t always the right MAC address to track – you also have virtual MACs.Īs part of Android 10, Google introduced MAC address randomization to Android. This hardware MAC is the one that never changes, but it’s not Android’s only MAC address, and it’s not the one your network is likely to report. As of Android 10, this hardware MAC address can only be accessed at the fleet level if you have a device owner set on the device, and if you have a tool like Esper’s console to manage your fleet, you can pull that ID in and apply policies and deploy software appropriately. Like any device with a network stack, Android can report an immutable hardware MAC address - one that will survive factory resets, network changes, and anything else (short of replacing the physical system on a chip). It has been updated in 2017 to reflect new features and changes of Android.Hardware MAC vs virtual MAC: What’s the difference?

Update: This post was originally published in 2013. It is almost the same to find MAC address on an Android tablets.

