Windows er ret dygtig til at fortælle dig, om du har en velfungerende internetforbindelse, men hvordan gør det nøjagtigt? 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 tilladelse fra SuperUser - en underafdeling af Stack Exchange, en gruppedrevsgruppe af Q & A-websteder.
Spørgsmålet
SuperUser-læser N. Hinkle stiller følgende spørgsmål om Windows internetcheck- og godkendelsesprocessen:
I Windows 7 viser ikonet for meddelelsesområdet netværk en fejlindikator, hvis der ikke er internetadgang
, og fejlikonet forsvinder, når der er en vellykket forbindelse til internettet
. Nogle gange, hvis WiFi-forbindelsen kræver et autentificeringstrin i browseren, som på mange gæstenetværk på hoteller eller universiteter, vises følgende pop op-boble, der 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 får noget svar, men jeg har ikke set nogen steder, at denne proces eller de anvendte tjenester er dokumenteret . Kan nogen forklare, hvordan dette fungerer?
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 i brugeroplevelsen har en underliggende mekanisme. Hvordan fortæller Windows os, om der er en internetforbindelse, og om vi skal logge ind på en Wi-Fi-godkendelsesportal eller ej?
Svaret
SuperUser-bidragyder Tobias Plutat giver noget indblik i processen:
Efter noget grave (det store antal netværks- og internetrelaterede tjenester i Windows er forbløffende), Jeg tror, jeg fandt det . Windows Vista og 7 har en række netværksbevidsthedsfunktioner, hvoraf den ene er statusindikator for netværksforbindelse, der udfører tilslutningstest, der igen bruges af netværkssystrayikonet. Testen for internetforbindelse er enkel:
- NCSI forsøger at indlæse en bestemt side via HTTP (mere præcist: et tekstdokument) og tester, om den kan hentes.
- Hvis det ikke lykkes, rapporterer Windows "Ingen internetadgang".
Mekanismen kontrollerer også, om domænet, som dokumentet hostes, løser den forventede IP-adresse. Så det antager muligvis også korrekt internetadgang, hvis denne test er vellykket, men dokumentet ikke kan hentes.
Årsagen til, at det rapporterer "Ingen internetadgang", når du endnu ikke er godkendt på et hotspot, ligger i den måde, et hotspot fungerer på. Det blokerer alle porte udover 80 og 443 (henholdsvis til HTTP og HTTPS), som omdirigeres til Hotspots godkendelsesserver og muligvis ødelægger med DNS-anmodninger på en eller anden måde. Således kan NCSI hverken løse det domæne, dets testfil er hostet på, og selvom det kunne, ville det ikke nå den faktiske fil, fordi HTTP-trafik omdirigeres til godkendelsesserveren.
En anden bidragyder, Jeff Atwood, fremhæver nogle centrale citater fra dokumentet Tobias-referencer:
Her er detaljerne i bestemmelsen af forbindelsesstatus behandle :
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-navn opløsning af
dns.msftncsi.com- En HTTP-anmodning om
http://www.msftncsi.com/ncsi.txtreturnerer 200 OK og tekstenMicrosoft n CSIDette kan deaktiveres med en indstilling i registreringsdatabasen. Hvis du indstiller:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NlaSvc \ Parameters \ Internet \ EnableActiveProbing
til
0, Windows undersøger ikke længere internetforbindelse.Apple gør noget meget lignende i iOS for at detektere internetforbindelse og mulige hotel "login" wifi sider osv.
Mens hele denne proces normalt er 100% gennemsigtig for slutbrugere, vil du lejlighedsvis efter autentificering gennem et Wi-Fi hotspots webportal finde dig selv at stirre på 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 om emnet.
Har du noget at tilføje til forklaringen? Lyder i kommentarerne. Vil du læse flere svar fra andre teknisk kyndige Stack Exchange-brugere? Tjek den fuld diskussionstråd her .
, og fejlikonet forsvinder, når der er en vellykket forbindelse til internettet
. Nogle gange, hvis WiFi-forbindelsen kræver et autentificeringstrin i browseren, som på mange gæstenetværk på hoteller eller universiteter, vises følgende pop op-boble, der siger så meget: