The Automatic Detection of Captive Portal mechanism is based on a simple verification, done by the Operational System (OS) of the client device (smartphone, tablet, laptop).
It simply tries to reach a specific URL and verify that such URL returns a well-known result.
- If a Captive Portal is not in place, the result will match the expected one and the OS will know that there is full access to internet.
- If the URL returns a result other than the expected one, then the OS will detect that there is a Captive Portal in place and that it's needed to proceed with authentication in order to get full access to internet: in this case the OS will open the Splash Page automatically.
Differences between Client devices
All client devices use the above described strategy to find out if they are behind a captive portal, but the URL might vary depending on the specific model of smartphone, tablet, laptop and depending on the specific OS version.
In the following you can find a list of known domains contacted by each model in order to eventually trigger the captive portal.
Android Captive Portal Detection
- clients3.google.com
- connectivitycheck.gstatic.com
- connectivitycheck.android.com
Apple iPhone, iPad with iOS 6 Captive Portal Detection
- gsp1.apple.com
- *.akamaitechnologies.com
- www.apple.com
- apple.com
Apple iPhone, iPad with iOS 7, 8, 9 and recent versions of OS X
-
www.appleiphonecell.com
-
*.apple.com
-
www.itools.info
-
www.ibook.info
-
www.airport.us
-
www.thinkdifferent.us
-
*.apple.com.edgekey.net
-
*.akamaiedge.net
-
*.akamaitechnologies.com
Windows
- ipv6.msftncsi.com
- ipv6.msftncsi.com.edgesuite.net
- www.msftncsi.com
- www.msftncsi.com.edgesuite.net
- teredo.ipv6.microsoft.com
- teredo.ipv6.microsoft.com.nsatc.net