How to Work Around Wi-Fi Hotspot Captive Portals on Browserless Devices

posted in: January 2019 | 0
 

Many public Wi-Fi hotspots—such as those offered in hotels and hospitals—require you to authenticate with a “captive portal” page before allowing your device to access the Internet. Usually, this is as simple as clicking an “I Agree” button on the page. There’s just one problem: devices like the Apple TV and Nintendo Switch don’t have Web browsers and thus can’t access these pages (the Switch apparently has one for this purpose, but it has never appeared when I need it). Fortunately, if you happen to have a MacBook nearby, it’s an easy problem to solve.

An example of a captive portal.The trick is to disguise the MacBook as the browserless device you want to connect—say an Apple TV—click through the captive portal, and then disconnect the MacBook and connect the device. You can do this by spoofing the Apple TV’s MAC address, which is a unique hardware identifier for a network device. Every Ethernet port and Wi-Fi card has a MAC address. Follow these steps:

  1. Find the MAC address of the browserless device you want to spoof. On the Apple TV, it’s listed in Settings > General > About. If you’re using Wi-Fi, it will be called the Wi-Fi Address and will look like this: 00:14:22:01:23:45.
  2. Power down the browserless device, or at least make sure it’s not connected to Wi-Fi—the easiest way to do this with an Apple TV is to unplug it. These Wi-Fi hotspots allow only one unique MAC address at a time so if it’s connected it could prevent your MacBook from connecting in the following steps.
  3. Look up your MacBook’s Wi-Fi interface name and MAC address by Option-clicking the Wi-Fi icon in the menu bar. The interface name should be en0 or en1.

    The alternative Wi-Fi menu bar dropdown shows your Wi-Fi interface name and MAC address.

  4. Choose Turn Wi-Fi Off from the Wi-Fi menu.
  5. Open Terminal and enter this command, replacing en0 with your interface name and 00-14-22-01-23-45 with your browserless device’s MAC address:

    sudo ifconfig en0 ether 00-14-22-01-23-45

    Yes, you need to replace the colons with hyphens. Enter your administrator password when prompted. This command changes the MAC address of your MacBook’s Wi-Fi card, but only until you reboot!

  6. Option-click the Wi-Fi icon in the menu bar again and double-check to make sure your MAC address has changed.
  7. Turn Wi-Fi back on, connect to the hotspot’s Wi-Fi network, and bring up the captive portal by trying to visit a Web site in Safari.
  8. Follow the prompts to authenticate the MacBook.
  9. Once you’ve gotten online, restart the MacBook to restore its true MAC address.

Now you should be able to connect your Apple TV or other browserless device directly to the Wi-Fi network in question simply by powering it on or connecting to Wi-Fi.

If you have to pay for the hotspot and don’t want to incur the cost for a second device, you can use both your browserless device and your MacBook, as long as you keep the same MAC address on both and don’t connect them at the same time. So in Step 9 above, instead of rebooting the MacBook, turn Wi-Fi off, connect your browserless device, and when you’re done, disconnect the browserless device and turn on your MacBook’s Wi-Fi.

This trick could save your sanity if you’re on a business trip or stuck in a hospital for an extended stay and want to kill time by watching TV or playing video games. I was in this situation recently during the birth of my second son—welcome Jeremiah Stone Centers!—initially for his birth and then again so he could be placed under a bili light for two days to treat his newborn jaundice (he’s fine now). In my experience, most time spent in a hospital as a family member is just sitting around, but I was too tired and stressed out to be productive. Being able to play games on my Nintendo Switch helped pass the time while Stone was busy cooking under his light.

Baby Stone under his bili light.