(Before 2020 and release of Capport API https://tools.ietf.org/html/draft-ietf-capport-api-08)

Image for post
Image for post
Photo by Bagus Hernawan on Unsplash

After you are connected to Wi-Fi networks and got an IP address, your Apple device under iOS tries to check the Internet connectivity by sending HTTP GET request to address captive.apple.com. And there are two different options:

  • The site opens and a normal HTTP response returns to the device.
  • The request is intercepted and the response contains an HTTP redirect to the address of the splash page (captive portal).

In the second option, the Apple device will open the splash page in the special window — Captive Network Assistant (or CNA). CNA…


Some photos from unboxing Sunhans SHFi4G9X2S as in Russia are sold by the Elari brand at a price of 6000₽ (~78$).

Image for post
Image for post

Let’s disassemble and see what’s inside 😏.


At Wimark we are developing a platform to manage access points. They are our basic “access control” objects - if you have an access point in your access list, all linked data (such as clients, statistics, SSID, and so on) will be accessed to you.

Image for post
Image for post
List of access points (aka CPE — customer premises equipment) in location “demo”

We use MongoDB and of course, all clients are stored in the same collection (with MAC address as ID and link to an access point in cpe_id field). And for optimal queries, it has an index on the field “cpe_id”.

Danya Sliusar

27 y.o network enthusiast | CTO @ wimark.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store