Прохождение Captive Portal с Esp8266

Я безуспешно пытаюсь обойти портал авторизации на iOS. Веб-сервер - это Wemos ESP8266 на основе библиотеки WiFiManager.h, я работал над этой библиотекой в ​​соответствии со своими потребностями. Одной из реализованных функций была печать IP-адреса платы в HTML, как только плата настроена на Wi-Fi, а затем отключение сигнала WiFi платы.

Мне удалось успешно перенаправить пользователей ПК на желаемую страницу, но мне с помощью адаптивного портала трудно заархивировать такую ​​функцию. В ходе своего исследования я обнаружил этот <html> success </html> код, который заставляет пленника думать, что у меня есть подключение к Интернету! но я не могу это реализовать должным образом.

Может ли кто-нибудь помочь с этим? как правильно обрабатывать код, чтобы обойти пленника. Ty


person Nathan Almeida    schedule 27.02.2019    source источник


Ответы (1)


Используя IDE / загрузчик Arduino в setup (), я делаю:

const byte DNS_PORT = 53;
IPAddress apIP(192, 168, 1, 1);
WiFi.mode(WIFI_AP);
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
WiFi.softAP("My Device SSID");

dnsServer.start(DNS_PORT, "*", apIP);

webServer.on("/hotspot-detect.html", handleAppleCaptivePortal);
webServer.begin();

Петля просто

void loop() {
    dnsServer.processNextRequest();
    webServer.handleClient();
}

Функция обработчика выглядит так:

void handleAppleCaptivePortal() {
    String Page = F("<HTML><HEAD><TITLE>Success</TITLE></HEAD><BODY>Success</BODY></HTML>");

    webServer.sendHeader("Cache-Control", "no-cache, no-store, must-revalidate");
    webServer.sendHeader("Pragma", "no-cache");
    webServer.sendHeader("Expires", "-1");
    webServer.send(200, "text/html", Page);
    return;
}

Кажется, это полностью подделка моего iPhone. Он просто подключается к сети, как если бы у него было подключение к Интернету.

person LavaSlider    schedule 22.04.2019
comment
Спасибо за ваш ответ, я знаю, что прошло много времени, но я собираюсь попробовать этот пример, спасибо - person Nathan Almeida; 25.04.2019