Quando il dispositivo tenta di connettersi a un punto di accesso o router, deve accedere alla pagina del captive portal con il messaggio che dice
“Accedi alla rete Wi-Fi”.
Come funziona il punto di accesso / router identificare che è richiesto un accesso per il dispositivo e qual è il processo alla base?
Risposta
LURL di rilevamento è diverso tra diverse versioni di Android.
Per Marshmallow, utilizza connectivitycheck.gstatic.com/generate_204, controlla il codice qui AndroidXRef – Marshmallow 6.0.0_r1
Per Kitkat, utilizza clients3.google.com/generate_204 controlla il codice AndroidXRef – KitKat 4.4.4_r1
Commenti
Risposta
Questa tecnologia si chiama “Captive portal”. Esistono diverse implementazioni. Come so, Android cerca di raggiungere un file denominato generate_204
su uno dei server di Google e, se non è possibile, viene generata una notifica.
Ulteriore lettura su Wikipedia: Captive_portal
Commenti
- In realtà so del captive portal. Ma conosco lURL specifico per controllarlo. Voglio sapere come funziona. Non quello che è.
- Cosa intendi con " come funziona "? Android invia una richiesta e, se non cè una risposta positiva, significa che non cè connessione a Internet e viene generata una notifica. Funziona così '.
- Qual è lURL specifico su cui richiede Android. Ho una menzione in questione.
- Nel tuo commento precedente hai detto di conoscere lURL specifico. Penso che ' s
https://www.gstatic.com/generate_204
- LURL sembra essere clients3.google.com/generate_204 . Informazioni tratte da questo sito per il cromo che probabilmente è lo stesso per Android. chromium.org/chromium-os/chromiumos-design-docs/…
Risposta
Un captive portal viene generalmente implementato indirizzando tutto il traffico a una risposta HTTP valida (200). Questa risposta HTTP è ciò che appare nel captive portal.
Questo può essere fatto con strumenti come iptables o dnsmasq.
http://connectivitycheck.gstatic.com/generate_204
restituisce effettivamente un 204 senza contenuto e ovviamente funziona. Forse hai appena tralasciatoContent-Length: 0
intestazione.