IoT Devices and Public WiFi Networks
Published on November 7, 2016

The "Internet of Things" is arriving more and more in our gadget-filled and technology-oriented lifestyle. Apple TV, gaming consoles, Amazon Echo (Dot / Tap) with Alexa and many other IoT devices require a wireless connection to the internet. But what about taking them on your travels? Sure, they are small, compact and easy to use – so you take them with you. But now what? Where do you get your WiFi from? The hotel's network requires you to sign in on a web page to verify that you are an active customer. Can't really do that with your IoT device, can you? In my case, I had to sign my newly acquired Amazon Echo Dot 2.0 onto the network. But it wouldn't let me do it – despite saying that the page to log in will be displayed when I push "continue". It never happened.
The Solution: MAC Address Spoofing
Then I had an idea. If my laptop's access is linked to its MAC address in the hotspot server's database this would mean that – if I could change my MAC address – I could sign on with the address of the Echo Dot and then the Echo Dot would just work with the network. Let's make it short: it worked! Yay!
Here's how I did it in macOS Sierra 10.12.1 on my 12″ MacBook:
- Get your current MAC address of your MacBook and your IoT device. The latter can often be found on the device itself or within the configuration application on your smartphone.
- Assign the new MAC address to your WiFi device on your Mac or PC.
- Restart the WiFi device.
- Log on to the WiFi network and sign in. Make sure the internet access is working properly.
- When completed, repeat steps with original MAC address. Although a reboot should be sufficient.
macOS Terminal Commands
Here are the exact commands I used to accomplish this (with placeholder addresses; the first one is the laptop's own, the second one is the Echo Dot's):
bash-3.2$ ifconfig en0 | grep ether
ether aa:bb:cc:11:22:33
bash-3.2$ sudo ifconfig en0 ether aa:bb:cc:44:55:66
bash-3.2$ sudo ifconfig en0 down
bash-3.2$ sudo ifconfig en0 up
Final Thoughts
This simple workaround allows you to authenticate your IoT devices on captive portal networks without needing a web browser interface on the device itself. Once authenticated, simply restore your laptop's original MAC address and both devices should remain connected to the network.
Note: Use this only for devices you are entitled to connect anyway, for example as a hotel guest who is allowed several devices. It is not a way around paying for access.