A Bit of Background

If you spend enough time around IoT devices – like I do – you quickly realize that the air around us is basically screaming. Not in a horror movie kind of way, but in the “Hey, I’m a device and here’s everything about me” kind of way. Wi-Fi beacons, Bluetooth pings, NFC tags, and even subtle electronic noise form a chorus of identifiers leaking from your gadgets. And no, you don’t need to be a spy agency to listen in.

While this airborne chatter might not scream your name directly, it absolutely whispers enough to track your every step.

Take a casual stroll through the mall. As you walk through the entrance, scanners near the doors happily log the arrival of a new device – your phone. They note your Wi-Fi MAC address, maybe your Bluetooth one too. As you wander past shop windows, linger at the donut stand, and pretend you’re not about to impulse-buy a new pair of sneakers, your movement is quietly mapped out in real time. Where you go, how long you stay, even which corner of a store catches your eye – all logged by a persistent hardware ID.

Eventually, you give in and buy something. You tap your card, or worse, flash your digital wallet. And just like that, the anonymized movement pattern becomes personally identifiable. You’re no longer “mysterious device X”; you’re Jane or Joe with a MasterCard and a weakness for sneakers.

And don’t even get me started on “free Wi-Fi.” You already know nothing in life is truly free. That innocent-looking Wi-Fi splash page? It’s likely tracking you using a cocktail of cookies, DNS leaks, and that omnipresent Facebook pixel that rats out your identity the moment you open your browser.

To the Real Business

One of the key ingredients in this cocktail of tracking is your MAC address – the unique fingerprint your device broadcasts like a beacon. It’s tied to your network hardware and almost always enabled by default, whether you’re using Wi-Fi, Bluetooth, or both.

So what’s a privacy-conscious nerd to do?
Simple: change your MAC address. Regularly. Randomly. And ideally, automatically.

Let’s start with Linux, because Linux is always the gateway to weird and wonderful experimentation. If you just want to test things out quickly, you can run a single command like this:

ifconfig <iface> hw ether XX:XX:XX:XX:XX:XX

Replace <iface> with your interface name (like wlan0 or eth0) and fill in a random MAC address in place of the Xs. If you’re feeling lazy, tools like macchanger exist for precisely this reason. You can install it with your favorite package manager, then randomize your MAC with something as simple as:

macchanger -r wlan0

For more persistent anonymity, you can hook this into a systemd service or bash script to run on boot. That way, every time your machine wakes up, it wakes up with a new identity.

On macOS, the situation is a bit trickier. You can temporarily change your MAC address using the ifconfig command, similar to Linux:

sudo ifconfig en0 ether XX:XX:XX:XX:XX:XX

This change only lasts until you reboot or toggle the interface. Starting with macOS Big Sur, Apple has made things slightly better by enabling MAC address randomization by default for Wi-Fi. You can check and enable it in System Preferences > Network > Wi-Fi > Advanced. But this randomization only kicks in for specific types of Wi-Fi networks – and only when reconnecting. If you want full control or automation, you’ll need to write scripts, and even then, Apple’s System Integrity Protection may get in your way. It’s Apple’s world – we’re just trying to get online anonymously in it.

Windows users aren’t left out, though. There are two ways to spoof your MAC address. The clunky way is through the Device Manager – find your network adapter, right-click, go to Properties > Advanced, and set the “Network Address” value to a new MAC. The better way is to use PowerShell or a dedicated tool. Technitium MAC Address Changer is a longtime favorite in the Windows privacy world. It gives you a GUI, randomization options, and profiles you can save. It’s about as plug-and-play as this stuff gets.

On Android, the world is divided: rooted and unrooted. If you’ve rooted your device, then congratulations – you can use terminal commands or apps like “MAC Address Ghost” to change your MAC address at will. You’ll need BusyBox installed and a bit of command-line familiarity. If you’re not rooted, you’re still in luck, but only partially. Android 10 and up now randomizes your MAC address by default when connecting to new Wi-Fi networks. You can toggle this per network in the Wi-Fi settings. It’s not perfect, and it doesn’t cover Bluetooth, but it’s a good start.

iOS users are in a similar situation. Since iOS 14, Apple introduced a feature called “Private Address” that randomizes your Wi-Fi MAC per network. It’s enabled by default for new networks, but older ones might still use your real MAC. Head into Settings > Wi-Fi > Tap the info icon next to a network and toggle “Private Wi-Fi Address” on. Bluetooth MAC randomization isn’t exposed to the user, though Apple claims to use it in the background. In short, you can’t do much more unless you’re jailbreaking – and let’s be honest, almost no one is jailbreaking iPhones in 2025 (or even using them if they are into nice tech).

Nope - do not follow me

What About Bluetooth?

Ah, Bluetooth – the often forgotten but just as chatty cousin of Wi-Fi. Changing your Bluetooth MAC address is a bit trickier and more platform-dependent. On Linux, you can manipulate the Bluetooth address if you have a supported adapter and the right tools. Using bdaddr (a tool from the BlueZ suite), you can set a new Bluetooth address manually:

sudo bdaddr -i hci0 XX:XX:XX:XX:XX:XX

Just like with Wi-Fi, you’ll need to replace hci0 with your Bluetooth interface name. Keep in mind that not all Bluetooth chipsets allow address changes, and even when they do, the change is usually temporary until reboot.

On Android, Bluetooth MAC randomization is trickier. While Android does a decent job of using ephemeral identifiers for Bluetooth Low Energy (BLE) communications, classic Bluetooth often still uses a static MAC. Rooted devices might offer you more flexibility through apps or custom ROMs, but stock devices leave you with limited control.

Apple, as expected, keeps Bluetooth MAC randomization under the hood. iOS claims to use randomized identifiers for BLE, but classic Bluetooth (like when pairing with headphones) can still reveal a fixed MAC. There’s no user-facing toggle for Bluetooth MAC changes, and jailbreaking is the only way you might gain deeper control – if you dare.

Not So Fast – the Caveats

Now before you go fully anonymous and vanish off the face of the digital Earth, a few gotchas.

First, some networks really don’t like randomized MACs. Corporate, university, or public Wi-Fi setups that rely on MAC-based access control may block you or prompt frequent logins. Second, most MAC address changes are temporary – unless you automate them, your device might revert back on reboot or interface restart.

Finally, remember this isn’t invisibility – it’s just a blur filter. You’re hiding your hardware ID, not your DNS leaks, browser fingerprint, or your sudden urge to check Instagram in every coffee shop.

Wrapping It Up

Changing your MAC address is a low-effort, high-payoff tactic in the game of digital privacy. It won’t make you a ghost, but it might help you dodge a few creepy mall trackers or data-hungry Wi-Fi providers. Whether you’re on Linux, macOS, Windows, Android, or iOS, you’ve got options – some better than others, but all worth exploring.

And don’t forget about Bluetooth – it’s the low-key tattletale you carry everywhere. Changing your Bluetooth MAC address where possible can give you that extra layer of “who is this?” confusion for anyone trying to track you.

So the next time you walk into a store, take pride in knowing the digital breadcrumb trail you leave behind might just lead nowhere interesting.

Now go forth and scramble.