11Aug
Windows est assez habile pour vous dire si vous avez une connexion Internet fonctionnant correctement, mais comment exactement le fait-il? Creuser dans la façon dont Windows gère le problème offre un aperçu des messages de connectivité Windows.
Question d'aujourd'hui &La session de réponse nous vient avec l'aimable autorisation de SuperUser, une subdivision de Stack Exchange, un groupement de lecteurs communautaires de sites Web Q & A.
La question
SuperUser lecteur N. Hinkle pose la question suivante sur le processus de vérification et d'authentification Internet de Windows:
Dans Windows 7, l'icône de réseau de zone de notification affichera un indicateur d'erreur s'il n'y a pas d'accès InternetUne fois la connexion à Internet réussie. Parfois, si la connexion WiFi 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 fenêtre contextuelle suivante s'affiche:
Comment Windows sait-il si Internet est performant?connexion?
Vraisemblablement, il vérifie un service Microsoft en ligne pour voir s'il a une connexion réussie, est redirigé vers une autre page, ou ne reçoit aucune réponse, mais je n'ai vu nulle part que ce processus ou les services utilisés sontdocumenté.Quelqu'un peut-il expliquer comment cela fonctionne?
Ces contrôles sont l'une des nombreuses choses que nous tenons pour acquises lorsque vous utilisez 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 dit-il s'il y a une connexion Internet et si oui ou non nous devons nous connecter à un portail d'authentification Wi-Fi?
La réponse
SuperUser contributeur Tobias Plutat offre un aperçu du processus:
Après quelques recherches( le nombre de services liés au réseau et à Internet dans Windows est étonnant), je pense que je l'ai trouvé.Windows Vista et 7 disposent de diverses fonctions de prise de conscience du réseau, dont l'indicateur d'état de connectivité réseau qui effectue des tests de connectivité qui, à leur tour, sont utilisés par l'icône de la systray du réseau. Le test de connectivité Internet est simple:
- NCSI essaie de charger une page spécifique via HTTP( plus précisément: un document texte) et teste si elle peut être récupérée.
- Si cela ne fonctionne pas, Windows signale "Pas d'accès Internet".
Le mécanisme vérifie également si le domaine sur lequel le document est hébergé résout l'adresse IP attendue. Ainsi, il peut également supposer un accès Internet correct si ce test est réussi mais que le document ne peut pas être récupéré.
La raison pour laquelle il signale "Pas d'accès à Internet" lorsque vous n'êtes pas encore authentifié sur un hotspot réside dans le fonctionnement d'un hotspot. Il bloque tous les ports autres que 80 et 443( respectivement pour HTTP et HTTPS), qui sont redirigés vers le serveur d'authentification du Hotspot et peuvent, d'une manière ou d'une autre, corrompre les requêtes DNS.Ainsi, NCSI ne peut pas résoudre le domaine sur lequel son fichier de test est hébergé, et même s'il ne pourrait pas atteindre le fichier réel, car le trafic HTTP est redirigé vers le serveur d'authentification.
Un autre contributeur, Jeff Atwood, souligne quelques citations clés du document Références Tobias:
Voici les détails du processus de détermination du statut de connexion:
La liste suivante décrit comment NCSI peut communiquer avec un site Web pour déterminer si un réseau a 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 renvoyant 200 OK et le textMicrosoft 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 éventuelles pages "login" wifi de l'hôtel, etc.
Bien que tout ce processus soit généralement 100% transparent pour les utilisateurs finaux, parfois après s'être authentifié via le portail Web d'un point d'accès Wi-Fi, vous vous retrouverez à regarder le contenu réel de NSCSI.txt. Comment vous avez fini par regarder un document de texte quelconque au lieu de la page Web que vous avez essayé de charger n'est plus un mystère lorsqu'il est couplé avec les réponses précédentes sur le sujet.
Avoir quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.