Обнаружение захваченного портала, всплывающая реализация?

Основываясь на hostapd, я создаю плененный портал. – Моя Linux-машина обеспечивает Wi-Fi доступ. – iPad и планшеты iPad и Android соединяют этот Wi-Fi.

Как правило, любая клиентская ОС проверяет, доступен ли url, если нет: клиентская ОС заявляет, что она неактивна, и отображает всплывающее окно браузера. Всплывающее окно используется для входа в систему, презентации или другого.

Id нравится отображать такое всплывающее окно, чтобы представить сервис моей машины. Но я не понимаю. Тем не менее, я избегал чистой передачи. Все подключения перенаправляются на веб-сайт localhost.

Почему я не получаю такое всплывающее окно? Как его получить ? Как / Где мне его реализовать на моем локальном хосте?

// ссылка на что-то в том же контексте: https://bugzilla.mozilla.org/show_bug.cgi?id=562917 Обнаружение захваченного портала [HostApd] браузером?

когда происходит всплывающее шоу, как определяется его контент? Вы понимаете, что я имею в виду? Например, портал, посвященный ресторану, запрашивает ваш секретный номер на заметке, где хранится эта страница? как ОС знает URL для отображения во всплывающем окне? Это действительно мой квест

Чтобы создать доступный портал, вам необходимо остановить весь интернет-трафик и 302 redirect браузеру клиента. Для этого вам необходимо, чтобы брандмауэр (например, iptables ) перенаправлял весь трафик на веб-сервер (например, nginx , apache и т. Д.), Где веб-сервер отвечает 302 redirect на URL-адрес вашей страницы входа.

Я написал длинную статью в своем блоге о том, как это сделать с помощью малины. Это в основном сводится к блоку iptables / перенаправление на веб-сервер :

 iptables -t nat -A wlan0_Unknown -p tcp --dport 80 -j DNAT --to-destination 192.168.24.1 

а затем веб-сервер ( nginx ) перенаправляется на страницу входа:

 # For iOS if ($http_user_agent ~* (CaptiveNetworkSupport) ) { return 302 http://hotspot.localnet/hotspot.html; } # For others location / { return 302 http://hotspot.localnet/; } 

iOS должен быть сложным, поскольку ему нужны настройки WISP. hotspot.html :

 <!-- <?xml version="1.0" encoding="UTF-8"?> <WISPAccessGatewayParam xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.wballiance.net/wispr_2_0.xsd"> <Redirect> <MessageType>100</MessageType> <ResponseCode>0</ResponseCode> <VersionHigh>2.0</VersionHigh> <VersionLow>1.0</VersionLow> <AccessProcedure>1.0</AccessProcedure> <AccessLocation>Andrew Wippler is awesome</AccessLocation> <LocationName>MyOpenAP</LocationName> <LoginURL>http://hotspot.localnet/</LoginURL> </Redirect> </WISPAccessGatewayParam> -->