W jaki sposób system Windows potwierdza dostęp Wi-Fi i czy konieczne jest uwierzytelnianie w trybie Hot Spot?
Windows jest bardzo biegły w informowaniu, czy masz właściwie działające połączenie internetowe, ale jak dokładnie to robi? Zagłębianie się w to, jak system Windows radzi sobie z problemem, oferuje wgląd w komunikaty komunikacyjne Windows.
Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - podsekcji Stack Exchange, grupy dyskusyjnej poświęconej tematyce społecznościowej.
Pytanie
Czytnik SuperUser N. Hinkle stawia następujące pytanie dotyczące sprawdzania i uwierzytelniania systemu Windows:
W systemie Windows 7 ikona sieci obszaru powiadomień wyświetla wskaźnik błędu, jeśli nie ma dostępu do Internetu , a ikona błędu zniknie, gdy nastąpi udane połączenie z Internetem . Czasami, jeśli połączenie Wi-Fi wymaga kroku uwierzytelniania w przeglądarce, tak jak w wielu sieciach gości w hotelach lub na uniwersytetach, pojawia się następujący pop-up bubble, który mówi:
W jaki sposób system Windows wie, czy ma udane połączenie internetowe??
Przypuszczalnie jest to sprawdzanie niektórych usług online Microsoft, aby sprawdzić, czy ma udane połączenie, zostanie przekierowany do innej strony lub nie otrzyma żadnej odpowiedzi, ale nie widziałem nigdzie, że ten proces lub usługi są udokumentowane . Czy ktoś może wyjaśnić, jak to działa?
Takie kontrole są jedną z wielu rzeczy, które uważamy za oczywiste, gdy używamy nowoczesnego systemu operacyjnego, ale nawet najbardziej zajęte elementy doświadczenia użytkownika mają ukryty mechanizm. W jaki sposób system Windows informuje nas, czy istnieje połączenie internetowe i czy musimy zalogować się do portalu uwierzytelniania Wi-Fi?
Odpowiedź
Uczestnik SuperUser Tobias Plutat oferuje pewien wgląd w proces:
Po pewnym kopaniu (sama liczba usług sieciowych i związanych z Internetem w Windows jest zadziwiająca), myślę, że znalazłem to. Systemy Windows Vista i 7 mają wiele funkcji rozpoznawania sieci, z których jednym jest wskaźnik stanu łączności sieciowej, który wykonuje testy połączeń, które z kolei są używane przez ikonę paska zadań sieci. Test na połączenie z Internetem jest prosty:
- NCSI próbuje załadować określoną stronę przez HTTP (dokładniej: dokument tekstowy) i sprawdza, czy można go pobrać.
- Jeśli to się nie powiedzie, system Windows zgłasza "Brak dostępu do Internetu".
Mechanizm sprawdza również, czy domena, w której znajduje się dokument, rozwiązuje oczekiwany adres IP. Tak więc, może on również założyć prawidłowy dostęp do Internetu, jeśli ten test się powiedzie, ale dokumentu nie można odzyskać.
Powód, dla którego raportuje "Brak dostępu do Internetu", gdy nie jesteś jeszcze uwierzytelniony w Hotspot, działa tak, jak działa Hotspot. Blokuje wszystkie porty oprócz 80 i 443 (odpowiednio dla HTTP i HTTPS), które są przekierowywane do serwera uwierzytelniania Hotspot i mogą w ten czy inny sposób zepsuć żądania DNS. W związku z tym NCSI nie może ani rozwiązać domeny, której hostem jest plik testowy, a nawet, gdyby nie mógł dotrzeć do rzeczywistego pliku, ponieważ ruch HTTP jest przekierowywany do serwera uwierzytelniania.
Inny współpracownik, Jeff Atwood, zwraca uwagę na niektóre kluczowe cytaty z dokumentu odniesienia Tobiasza:
Oto szczegóły procesu określania statusu połączenia:
Poniższa lista opisuje, w jaki sposób NCSI może komunikować się z witryną sieci Web, aby ustalić, czy sieć ma połączenie z Internetem:
- Żądanie rozpoznawania nazw DNS
dns.msftncsi.com
- Żądanie HTTP dla
http://www.msftncsi.com/ncsi.txt
zwrot 200 OK i tekstMicrosoft NCSI
Można to wyłączyć za pomocą ustawienia rejestru. Jeśli ustawisz:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NlaSvc \ Parameters \ Internet \ EnableActiveProbing
do
0
, System Windows nie będzie już sprawdzać połączenia internetowego.Apple robi coś bardzo podobnego w iOS, aby wykryć połączenia internetowe i możliwe strony logowania "wifi" hotelu itp.
Chociaż cały proces jest zazwyczaj w 100% przezroczysty dla użytkowników końcowych, czasami po uwierzytelnieniu za pośrednictwem portalu internetowego Wi-Fi, można się zorientować w rzeczywistej zawartości pliku NSCSI.txt. W jaki sposób zakończyłeś przeglądanie nieokreślonego dokumentu tekstowego zamiast strony internetowej, którą próbujesz wczytać, nie jest już tajemnicą w połączeniu z poprzednimi odpowiedziami na ten temat.
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.