Lorsque lappareil tente de se connecter à un point daccès ou à un routeur, il doit se connecter sur la page du portail captif avec le message disant

« Connectez-vous au réseau Wi-Fi ».

Comment fonctionne le point daccès / routeur identifier quune connexion est requise pour lappareil et quel est le processus derrière celui-ci?

Réponse

LURL de détection diffère entre différentes versions dAndroid.

Pour Marshmallow, il utilise connectivitécheck.gstatic.com/generate_204, vérifiez le code ici AndroidXRef – Marshmallow 6.0.0_r1

Pour Kitkat, il utilise clients3.google.com/generate_204 vérifier le code AndroidXRef – KitKat 4.4.4_r1

Commentaires

  • Je nai ' pas voulu détourner la réponse en la modifiant, donc je ' Je vais juste laisser un commentaire. Il ma fallu un certain temps pour réaliser que lURL de détection déclenche la notification si elle ne peut être atteinte. De plus, javais besoin de mon point daccès pour répondre à cette demande avec une sorte de contenu – dans mon cas, jai renvoyé un code 200 ainsi que la page dindex de mon serveur Web lorsque / generate_204 est demandé. Sans contenu dans la réponse, quel que soit le code de retour, je recevrais une notification " Wi-Fi na pas daccès Internet ".
  • @ubomb Semble étrange, puisque http://connectivitycheck.gstatic.com/generate_204 renvoie en fait un 204 sans contenu, et fonctionne évidemment. Peut-être que vous venez doublier len-tête Content-Length: 0.

Réponse

Cette technologie sappelle « Portail captif ». Il existe plusieurs implémentations. Comme je le sais, Android essaie datteindre un fichier nommé generate_204 sur lun des serveurs Google et si ce nest pas possible, une notification est générée.

Lectures complémentaires sur Wikipedia: Captive_portal

Commentaires

  • En fait, je connais le portail captif. Mais je connais lURL spécifique pour le vérifier. Je veux savoir comment ça marche. Pas ce que cest.
  • Que voulez-vous dire – " comment ça marche "? Android envoie une demande et sil ny a pas de réponse positive, cela signifie quil ny a pas de connexion à Internet et quune notification est générée. Cest ' comment cela fonctionne.
  • Quelle est lURL spécifique sur laquelle Android demande. Jai mentionné en question.
  • Dans votre commentaire précédent, vous avez dit que vous connaissez lURL spécifique. Je pense que ' s https://www.gstatic.com/generate_204
  • LURL semble être clients3.google.com/generate_204 . Informations tirées de ce site pour le chrome qui sont probablement les mêmes pour Android. chromium.org/chromium-os/chromiumos-design-docs/…

Réponse

Un portail captif est généralement implémenté en dirigeant tout le trafic vers une réponse HTTP valide (200). Cette réponse HTTP est ce qui apparaît dans le portail captif.

Cela peut être fait avec des outils comme iptables ou dnsmasq.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *