Amikor az eszköz megpróbál csatlakozni egy hozzáférési ponthoz vagy útválasztóhoz, akkor a rögzített portál oldalán be kell jelentkeznie a következő üzenettel:
“Jelentkezzen be a Wi-Fi hálózatba”.
Hogyan működik a hozzáférési pont / útválasztó azonosítani, hogy bejelentkezés szükséges az eszközhöz, és mi áll a folyamat mögött?
Válasz
Az észlelési URL eltér különböző Android verziók.
A Marshmallow esetében a connectivitycheck.gstatic.com/generate_204 fájlt használja, itt ellenőrizze a kódot
A Kitkat esetében a client3.google.com/generate_204 segítségével ellenőrzi a AndroidXRef – KitKat 4.4.4_r1 kódot.
Megjegyzések
Válasz
Ezt a technológiát “Captive portal” -nek hívják. Számos megvalósítás létezik. Mint tudom, az Android megpróbálja elérni a generate_204
nevű fájlt az egyik Google szerveren, és ha ez nem lehetséges, akkor egy értesítést generált.
További olvasmány a Wikipédián: Captive_portal
Megjegyzések
- Valójában ismerek a captive portálról. De tudom a konkrét URL-t annak ellenőrzéséhez. Szeretném tudni, hogy ez a munka. Nem az, ami.
- Mit értesz – " hogyan működik "? Az Android kérést küld, és ha nincs pozitív válasz, ez azt jelenti, hogy nincs kapcsolat az internethez, és értesítés jön létre. Ez ' hogyan működik.
- Melyik az a konkrét URL, amelyre az android kéri. Kérdéses kérdésem van.
- Korábbi megjegyzésében azt mondta, hogy ismeri a konkrét URL-t. Szerintem ' s
https://www.gstatic.com/generate_204
- Úgy tűnik, hogy az URL clients3.google.com/generate_204 . Információk erről a webhelyről származnak krómról, amely valószínűleg ugyanaz az android esetében. chromium.org/chromium-os/chromiumos-design-docs/…
Válasz
A rögzített portál általában úgy valósul meg, hogy az összes forgalmat egy érvényes HTTP válaszra irányítja (200). Ez a HTTP válasz az, ami megjelenik a rögzített portálon.
Ez megtehető olyan eszközökkel, mint az iptables vagy a dnsmasq.
http://connectivitycheck.gstatic.com/generate_204
valójában egy 204-et ad vissza tartalom nélkül, és nyilvánvalóan működik. Lehet, hogy éppen kihagyta aContent-Length: 0
fejlécet.