Když se zařízení pokusí připojit k přístupovému bodu nebo routeru, musí se přihlásit na přihlašovací stránce portálu se zprávou

„Přihlásit se k síti Wi-Fi“.

Jak funguje přístupový bod / router identifikovat, že je pro zařízení vyžadováno přihlášení a jaký je proces za ním?

Odpověď

Detekční adresa URL se liší mezi různé verze systému Android.

Pro Marshmallow používá connectivitycheck.gstatic.com/generate_204, zkontrolujte kód zde AndroidXRef – Marshmallow 6.0.0_r1

Pro Kitkat používá klienty3.google.com/generate_204 zkontrolujte kód AndroidXRef – KitKat 4.4.4_r1

Komentáře

  • Nechtěl jsem ' unést odpověď úpravou, takže ' Jen zanechám komentář. Chvíli mi trvalo, než jsem si uvědomil, že detekční URL spustí oznámení, pokud jej nelze dosáhnout . Kromě toho jsem potřeboval svůj přístupový bod, abych na tento požadavek odpověděl nějakým obsahem – v mém případě jsem vrátil kód 200 a indexovou stránku svého webového serveru, když je požadováno / generate_204. Bez obsahu odpovědi, bez ohledu na návratový kód, bych dostal " Wi-Fi nemá přístup k internetu " oznámení.
  • @ubomb Zdá se divné, protože http://connectivitycheck.gstatic.com/generate_204 ve skutečnosti vrací 204 bez obsahu a samozřejmě funguje. Možná jste právě vynechali Content-Length: 0 záhlaví.

Odpověď

Tato technologie se nazývá „Zajatý portál“. Existuje několik implementací. Jak vím, Android se pokouší dosáhnout souboru s názvem generate_204 na jednom ze serverů Google, a pokud to není možné, vygeneruje se oznámení.

Další čtení na Wikipedii: Captive_portal

Komentáře

  • Vlastně vím o captive portálu. Ale znám konkrétní URL, abych to zkontroloval. Chci vědět, jak to funguje. Ne to, co to je.
  • Co tím myslíte – " jak to funguje "? Android odešle požadavek, a pokud není kladná odpověď, znamená to, že není připojení k internetu, a vygeneruje se oznámení. Takto to ' funguje.
  • Která konkrétní adresa URL vyžaduje Android. Zmínil jsem se o tom.
  • Ve svém předchozím komentáři jste řekl, že znáte konkrétní adresu URL. Myslím, že ' s https://www.gstatic.com/generate_204
  • Zdá se, že adresa URL je clients3.google.com/generate_204 . Informace převzaté z tohoto webu pro chrom, který je pravděpodobně stejný pro Android. chromium.org/chromium-os/chromiumos-design-docs/…

Odpověď

Captive portál je obecně implementován nasměrováním veškerého provozu na platnou odpověď HTTP (200). Tato odpověď HTTP je to, co se objeví na portálu pro přihlašování.

To lze provést pomocí nástrojů, jako jsou iptables nebo dnsmasq.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *