Hvordan bekræfter Windows Wi-Fi-adgang, og om Hot Spot-godkendelse er nødvendig?
Windows er ganske dygtig til at fortælle dig, om du har en korrekt fungerende internetforbindelse, men hvordan gør du det præcist? At grave ind i, hvordan Windows håndterer problemet, giver indsigt i Windows-forbindelsesmeddelelser.
Dagens Spørgsmål og Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-drive gruppering af Q & A websteder.
Spørgsmålet
SuperUser læser N. Hinkle stiller følgende spørgsmål om Windows internet check og autentificering proces:
I Windows 7 viser ikonet for meddelelsesområdet netværksikon en fejlindikator, hvis der ikke er internetadgang , og fejlikonet går væk, når der er en vellykket forbindelse til internettet . Nogle gange, hvis WiFi-forbindelsen kræver et autentificeringstrin i browseren, som på mange gæste netværk på hoteller eller universiteter, vises følgende popup-boble og siger så meget:
Hvordan ved Windows, om den har en vellykket internetforbindelse eller ej??
Formentlig kontrollerer den nogle online-Microsoft-tjenester for at se, om den har en vellykket forbindelse, bliver omdirigeret til en anden side eller slet ikke noget svar, men jeg har ikke set overalt, at denne proces eller de anvendte tjenester dokumenteres . Kan nogen forklare, hvordan det virker?
Sådan kontrol er en af de mange ting, vi tager for givet, når vi bruger et moderne operativsystem, men selv de mest taget for givet elementer af brugeroplevelsen har en underliggende mekanisme. Hvordan fortæller Windows os, om der er en internetforbindelse, og hvorvidt vi skal logge ind på en Wi-Fi-godkendelsesportal?
Svaret
SuperUser bidragyder Tobias Plutat giver et indblik i processen:
Efter nogle gravering (det store antal netværk og internet relaterede tjenester i Windows er forbløffende), tror jeg, jeg fandt det. Windows Vista og 7 har en række netværkskendskabsfunktioner, hvoraf den ene er Statusindikatorstatusindikatoren, der udfører forbindelsestests, der igen bruges af netværkets systray-ikon. Testen for internetforbindelse er enkel:
- NCSI forsøger at indlæse en bestemt side via HTTP (mere præcist: et tekstdokument) og tester om det kan hentes.
- Hvis det ikke lykkes, rapporterer Windows "Ingen internetadgang".
Mekanismen kontrollerer også, om det domæne, dokumentet er hostet, løser den forventede IP-adresse. Så det kan også antage korrekt internetadgang, hvis denne test er vellykket, men dokumentet kan ikke hentes.
Grunden til, at den rapporterer "Ingen internetadgang", når du ikke har autentificeret på et hotspot, ligger endnu i den måde, en Hotspot fungerer på. Det blokerer alle porte udover 80 og 443 (for henholdsvis HTTP og HTTPS), som omdirigeres til Hotspots autentificeringsserver og kan ødelægge DNS-anmodninger på en eller anden måde. Således kan NCSI hverken løse det domæne, hvor testfilen er hostet, og selv om det kunne det ikke ville nå den faktiske fil, fordi HTTP-trafikken omdirigeres til Authentication-serveren.
En anden bidragyder, Jeff Atwood, fremhæver nogle nøgletal fra dokumentet Tobias referencer:
Her er detaljerne i forbindelsesstatusbestemmelsesprocessen:
Følgende liste beskriver, hvordan NCSI kan kommunikere med et websted for at afgøre, om et netværk har internetforbindelse:
- En anmodning om DNS-navneopløsning af
dns.msftncsi.com
- En HTTP-anmodning til
http://www.msftncsi.com/ncsi.txt
vender tilbage 200 OK og tekstenMicrosoft NCSI
Dette kan deaktiveres med en registreringsindstilling. Hvis du indstiller:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NlaSvc \ Parametre \ Internet \ EnableActiveProbing
til
0
, Windows vil ikke længere sonde for internetforbindelse.Apple gør noget meget ens i iOS for at registrere internetforbindelse og mulige hotel "login" wifi sider osv.
Mens hele denne proces normalt er 100% transparent til slutbrugere, vil du efterhånden autentificere gennem en Wi-Fi hotspots webportal se dig selv ved at se det faktiske indhold af NSCSI.txt. Hvordan du endte med at se på et ubeskriveligt tekstdokument i stedet for den webside, du forsøgte at indlæse, er ikke længere et mysterium, når det kombineres med de tidligere svar på emnet.
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.