Как Windows знает, имеет ли он доступ в Интернет или если соединение Wi-Fi требует в аутентификации браузера?

В Windows 7 значок сетевых подключений области уведомлений покажет индикатор ошибки, если не будет никакого доступа в Интернетwifi-err, и значок ошибки уходит, после того как существует успешное соединение с Интернетомnetworking normal. Иногда, если соединение WiFi требует шага в аутентификации браузера, как во многих гостевых сетях в отелях или университетах, то следующий всплывающий пузырь появляется, говоря так же: additional log on information may be required, click to open your browser

Как Windows знает, имеет ли он успешное интернет-соединение?
По-видимому, это проверяет некоторые услуги Microsoft онлайн, чтобы видеть, имеет ли это успешное соединение, перенаправляется к некоторой другой странице или не получает ответа вообще, но я не видел нигде, что этот процесс или используемые услуги документируются. Кто-либо может объяснить, как это работает? Я предпочел бы ответы, которые относятся к фактам вместо просто предположения, но если у Вас есть действительно хорошее предположение, затем пойдите для него.

Этим вопросом был Вопрос о Суперпользователе Недели.
Прочитайте запись в блоге 16-го мая 2011 для получения дополнительной информации или отправьте Ваш собственный Вопрос Недели.

132
задан 16.05.2011, 09:40

3 ответа

После некоторого рытья (чистый номер сетевых и связанных с Интернетом служб в Windows удивителен), я думаю, что нашел его. Windows Vista и 7 имеет множество функций Network Awareness, одна из которых является индикатором состояния Сетевого соединения, который выполняет тесты возможности соединения, которые в свою очередь используются сетью systray значок. Тест для интернет-соединения прост:

  1. NCSI пытается загрузить определенную страницу через HTTP (более точно: текстовый документ) и тесты, может ли это быть получено.
  2. Если это не успешные отчеты Windows "Никакой доступ в Интернет".

Механизм также проверяет, размещается ли домен документ на твердости к ожидаемому IP-адресу. Так, это могло бы также принять надлежащий доступ в Интернет, если этот тест успешен, но документ не может быть получен.

Причина это не сообщает "ни о Каком доступе в Интернет", когда Вы не прошли проверку подлинности на Горячей точке еще, заключается в том, как работы Горячей точки. Это блокирует все порты, кроме того, 80 и 443 (для HTTP и HTTPS, соответственно), который перенаправляется к серверу аутентификации Горячей точки и мог бы смешать с запросами DNS так или иначе. Таким образом NCSI не может ни разрешить домен, его тестовый файл размещается на, и даже если он мог он не достигать фактического файла, потому что Трафик HTTP перенаправляется к Серверу аутентификации.

Источник: http://technet.microsoft.com/en-us/library/cc766017%28WS.10%29.aspx

91
ответ дан 07.12.2019, 07:47

Вот детали процесса определения состояния соединения:

Следующий список описывает, как NCSI мог бы общаться с веб-сайтом, чтобы определить, имеет ли сеть интернет-соединение:

  1. Запрос на определение имен DNS dns.msftncsi.com

  2. Запрос HTTP для http://www.msftncsi.com/ncsi.txt возврат 200 хорошо и текст Microsoft NCSI

Это может быть отключено с установкой реестра. Если Вы устанавливаете

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

кому: 0, Windows больше не будет зондировать для интернет-соединения.

Apple делает что-то очень похожее в iOS для обнаружения интернет-соединения, и возможный отель "входят" в страницы Wi-Fi, и т.д.

69
ответ дан 07.12.2019, 07:47

Как Jeff сказал, для обнаружения Интернет-соединения, Windows сделает:

  1. Запрос DNS к серверу
  2. Запрос HTTP для известного содержания

В дополнение к ответу Jeff я подозреваю:

3. Если Запрос HTTP перенаправляется к внешней Microsoft (или не возвращает ожидаемое содержание), покажите сообщение в своем снимке экрана.

8
ответ дан 07.12.2019, 07:47

Для соединения, которое требует, дополнительная информация о входе в систему более вероятно определяется через шаг разрешения DNS, упомянутый Jeff со следующими тремя появлениями сценариев:

  • Если система разрешает корректный адрес, соединение является все четким. (Интернет-соединение)
  • Если система разрешает запрос DNS, но не является корректным адресом затем существует перенаправление (возможная дополнительная необходимая информация о входе в систему)
  • Если система не разрешает запрос DNS существуют проблемы интернет-соединения (соединение устанавливают к сети/точке доступа, но никакому интернет-соединению),

Я предполагаю что запрос на:

http://www.msftncsi.com/ncsi.txt

быстрый путь огня состоит в том, чтобы протестировать, если соединение с Интернетом является все четким. После этого запросы DNS выполняются для определения полного состояния соединения.

3
ответ дан 07.12.2019, 07:47

Теги

Похожие вопросы