Comment Windows confirme-t-il l'accès Wi-Fi et indique-t-il qu'une authentification par point chaud est nécessaire?
Windows est assez habile pour vous dire si votre connexion Internet fonctionne correctement, mais comment le fait-il exactement? Explorer la façon dont Windows traite le problème donne un aperçu des messages de connectivité Windows.
La session de questions et réponses d'aujourd'hui nous parvient avec la permission de SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses animé par la communauté..
La question
Le lecteur de superutilisateur N. Hinkle pose la question suivante sur le processus de vérification Internet et d’authentification Windows:
Sous Windows 7, l’icône réseau de la zone de notification affiche un indicateur d’erreur si aucun accès Internet n’est disponible. , et l'icône d'erreur disparaît une fois la connexion à Internet établie. . Parfois, si la connexion Wi-Fi nécessite une étape d'authentification dans le navigateur, comme sur de nombreux réseaux invités dans les hôtels ou les universités, la bulle contextuelle suivante apparaît, indiquant le même message:
Comment Windows sait-il s'il dispose ou non d'une connexion Internet réussie??
Vraisemblablement, il vérifie un service Microsoft en ligne pour voir s'il a une connexion établie, s'il est redirigé vers une autre page ou s'il ne reçoit aucune réponse, mais je n'ai vu nulle part où ce processus ou les services utilisés sont documentés. . Quelqu'un peut-il expliquer comment cela fonctionne?
Ces vérifications sont l'une des nombreuses choses que nous prenons pour acquis lorsque nous utilisons un système d'exploitation moderne, mais même les éléments les plus pris pour acquis de l'expérience utilisateur ont un mécanisme sous-jacent. Comment Windows nous indique-t-il s'il existe une connexion Internet et si nous devons ou non nous connecter à un portail d'authentification Wi-Fi??
La réponse
Tobias Plutat, contributeur à SuperUser, donne un aperçu du processus:
Après quelques recherches (le nombre impressionnant de services liés au réseau et à Internet dans Windows est étonnant), je pense l'avoir trouvé. Windows Vista et 7 intègrent diverses fonctionnalités de Network Awareness, notamment l'indicateur d'état de la connectivité réseau, qui effectue des tests de connectivité qui sont utilisés par l'icône de la barre des tâches réseau. Le test de la connectivité Internet est simple:
- NCSI tente de charger une page spécifique via HTTP (plus précisément: un document texte) et vérifie si elle peut être récupérée..
- Si cela échoue, Windows signale «Pas d'accès Internet»..
Le mécanisme vérifie également si le domaine sur lequel le document est hébergé est résolu en adresse IP attendue. Donc, cela pourrait aussi supposer un bon accès à Internet si ce test réussit mais que le document ne peut pas être récupéré.
La raison pour laquelle il signale «Aucun accès Internet» lorsque vous ne vous êtes pas encore authentifié sur un Hotspot réside dans le fonctionnement de ce dernier. Il bloque tous les ports autres que 80 et 443 (pour HTTP et HTTPS, respectivement), qui sont redirigés vers le serveur d'authentification du point d'accès sans fil et peuvent perturber les demandes DNS d'une manière ou d'une autre. Ainsi, NCSI ne peut ni résoudre le domaine sur lequel son fichier de test est hébergé, et même s'il le pouvait, il n'atteindrait pas le fichier lui-même car le trafic HTTP est redirigé vers le serveur d'authentification..
Un autre contributeur, Jeff Atwood, souligne quelques citations clés du document cité par Tobias:
Voici les détails du processus de détermination de l'état de la connexion:
La liste suivante décrit comment NCSI peut communiquer avec un site Web pour déterminer si un réseau dispose d'une connectivité Internet:
- Une demande de résolution de nom DNS de
dns.msftncsi.com
- Une requête HTTP pour
http://www.msftncsi.com/ncsi.txt
retour 200 OK et le texteMicrosoft NCSI
Cela peut être désactivé avec un paramètre de registre. Si vous définissez:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NlaSvc \ Paramètres \ Internet \ EnableActiveProbing
à
0
, Windows ne recherchera plus la connectivité Internet.Apple fait quelque chose de très similaire dans iOS pour détecter la connectivité Internet et les pages Wi-Fi de connexion aux hôtels, etc..
Bien que l'ensemble de ce processus soit généralement transparent à 100% pour les utilisateurs finaux, il arrive parfois qu'après s'être authentifié via le portail Web d'un point d'accès Wi-Fi, vous regardiez le contenu réel de NSCSI.txt. La façon dont vous avez fini par regarder un document texte non descriptif au lieu de la page Web que vous tentiez de charger n'est plus un mystère lorsqu'elle est associée aux réponses précédentes sur le sujet..
Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.