Как Windows 10 определяет, что у нее есть доступ в Интернет?

Возникает вопрос о том, как Windows 7 проверяет подключение к Интернету (что приводит к статье в блоге SU).

У меня есть компьютер с Windows 10, который в настоящее время отображает

Но:

  • У меня есть доступ в Интернет (просмотр работает нормально).
  • после статьи я попробовал обе проверки, упомянутые там (разрешение адреса и получение страницы или разрешение другого адреса для проверки IP) и оба успешны

Отличается ли проверка в Windows 10?

Примечание: подключение прямое , без прокси (я упоминаю об этом на всякий случай, поскольку были дискуссии о прокси, которые либо блокируют попытки, либо требуют аутентифицированного соединения)


Если доступ подтвержден и на вашем значке отображается желтый восклицательный знак, то один из домашних сайтов Microsoft либо заблокирован брандмауэром, либо через ваше антивирусное программное обеспечение, либо любое количество программ для блокировки Windows 10 (O&O ShutUp10). Windows 10 определяет доступ в Интернет через эту «функцию». Надеюсь, что это поможет.

1



Как Windows узнает, есть ли у нее доступ в Интернет или если для подключения Wi-Fi требуется проверка подлинности в браузере?

В Windows 7 значок сети в области уведомлений будет показывать индикатор ошибки, если нет доступа в Интернет , и значок ошибки исчезнет после успешного подключения к Интернету . Иногда, если для подключения Wi-Fi требуется шаг проверки подлинности в браузере, например, во многих гостевых сетях в отелях или университетах, появляется следующее всплывающее окно с указанием об этом:

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

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


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

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

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

Причина, по которой он сообщает «Нет доступа к Интернету», если вы еще не прошли аутентификацию на Hotspot, заключается в том, как работает Hotspot. Он блокирует все порты, кроме 80 и 443 (для HTTP и HTTPS, соответственно), которые перенаправляются на сервер аутентификации Hotspot и могут тем или иным образом мешать DNS-запросам. Таким образом, NCSI не может ни разрешить домен, на котором размещен его тестовый файл, и даже если бы мог, он не смог бы достичь фактического файла, потому что HTTP-трафик перенаправляется на сервер аутентификации.

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


Вот подробности процесса определения статуса подключения:

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

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

  2. HTTP-запрос для http://www.msftncsi.com/ncsi.txt , возвращающий 200 OK и текст Microsoft NCSI

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

  HKEY_LOCAL_MACHINE  SYSTEM  CurrentControlSet  Services  NlaSvc  Parameters  Internet  EnableActiveProbing  

в 0 , Windows больше не будет проверять подключение к Интернету.

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

3


Как сказал Джефф, для обнаружения при подключении к Интернету Windows выполнит:

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

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

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


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

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

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

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

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

Оцените статью
clickpad.ru
Добавить комментарий