11Aug

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 &Svar session kommer til os høflighed af SuperUser-en underafdeling af Stack Exchange, en community-drive gruppering af Q & A websteder.

Spørgsmål

SuperUser læser N. Hinkle stiller følgende spørgsmål til Windows internet check og godkendelsesproces:

I Windows 7 viser ikonet til meddelelsesområde netværksikon en fejlindikator, hvis der ikke er internetadgang, og fejlikonet går væknår der er en vellykket forbindelse til internettet. Nogle gange, hvis WiFi-forbindelsen kræver et autentificeringstrin på internettet, som på mange gæste netværk på hoteller eller universiteter, vises følgende popup-boble og siger så meget:

Hvordan kan Windows vide, om det har en vellykket internetforbindelse?

Formentlig kontrollerer det 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 nogen steder, at denne proces eller de anvendte tjenester erdokumenteret. Kan nogen forklare, hvordan dette 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 om vi skal logge ind på en Wi-Fi-godkendelsesportal eller ej?

Svaret

SuperUser-bidragsyderen Tobias Plutat giver et indblik i processen:

Efter nogle graveringer( 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 indikatoren for netværkstilslutningsstatus, der udfører forbindelsestests, som igen bruges af netværkssystemets ikon. Testen for internetforbindelse er enkel:

  1. NCSI forsøger at indlæse en bestemt side via HTTP( mere præcist: et tekstdokument) og tester om det kan hentes.
  2. Hvis det ikke lykkes, rapporterer Windows "Ingen internetadgang".

Mekanismen kontrollerer også, om det domæne, dokumentet er hostet, løser til 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:

  1. En anmodning om DNS-navneopløsning af dns.msftncsi.com
  2. En HTTP-anmodning om http: //www.msftncsi.com/ ncsi.txt retur 200 OK og tekstenMicrosoft NCSI

Dette kan deaktiveres med en registreringsindstilling. Hvis du indstiller:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NlaSvc \ Parameters \ Internet \ EnableActiveProbing

til 0, vil Windows ikke længere sonde for internetforbindelse.

Apple gør noget meget lignende 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.