Network Connectivity Status Indicator

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Индикатор состояния сетевого подключения, англ. Network Connectivity Status Indicator, NCSI — компонент операционных систем семейства Windows, разработанных в компании Microsoft. NCSI сообщает пользователю и другим компонентам Windows, имеется ли у компьютера доступ в сеть Интернет. NCSI используется системной службой Windows «Сведения о сетевом расположении» (англ. NLA), чтобы классифицировать подключение как доменное, частное или публичное («Общественная сеть»)[1][2].

Для выяснения того, имеется ли выход в Интернет, NCSI использует разные способы в разных операционных системах Windows. При анализе производятся как активные проверки доступности зарезервированных сайтов, так и мониторинг сетевой активности[1][2].

Технические подробности[править | править код]

Компонент NCSI определяет состояние подключения в два этапа. Сначала он ресолвит доменное имя, заданное в реестре Windows, и запрашивает с сайта файл, содержащий одну строку текста. Затем он ресолвит адрес IP другого доменного имени, также заданного в реестре[1][2].

Для загрузки тестовых файлов с сайтов Microsoft NCSI использует системный компонент WinHTTP операционной системы Windows. WinHTTP в свою очередь использует службу Web Proxy Automatic Discovery (WPAD) для определения, используется ли в локальной сети сервер прокси для доступа к сайтам[3].

Функционал NCSI реализован в системной службе NLA[1][2].

Записи в реестре Windows[править | править код]

Парметры активной пробы NCSI хранятся в ветке реестра HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/NlaSvc/Parameters/Internet[1][2].

Использование и запрет режима активной пробы задаётся в реестре Windows параметрами типа DWORD (допустимые значения — 0 и 1, где «0» означает лоческое значение «ложь», а «1» — «истина»)[1][2]:

  • EnableActiveProbing в ветке HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/NlaSvc/Parameters/Internet[4][1][2] — «0» означает запрет активной пробы;
  • NoActiveProbe в ветке HKLM\Software\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator — «1» означает запрет активной пробы.

Запрет режима пассивных проб также задаётся в реестре параметром типа DWORD[1][2]:

  • DisablePassivePolling в ветке HKLM\Software\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator — значение «1» означает запрет активной пробы, причём ключ DisablePassivePolling по умолчанию отсутствует.

Групповые политики[править | править код]

И активные, и пассивные пробы NCSI разрешаются и запрещаются в групповой политике[1][2].

На английском языке[1]:

  • Computer Configuration \ Administrative Templates \ System \ Internet Communication Management \ Internet Communication settings \ Turn off Windows Network Connectivity Status Indicator active tests;
  • Computer Configuration \ Administrative Templates \ Network \ Network Connectivity Status Indicator \ Specify passive polling.

На русском языке[2]:

  • Конфигурация компьютера — Административные шаблоны — Системы — Управление обменом данными через Интернет — Параметры связи через Интернет — Отключить активные тесты индикатора состояния сетевого подключения Windows;
  • Конфигурация компьютера — Административные шаблоны — Сети — Индикатор состояния сетевого подключения — Укажите пассивный опрос.

Тестовые серверы Microsoft[править | править код]

Сайты Microsoft для активных проб:

  • www.msftconnecttest.com (он же — ncsi-geo.trafficmanager.net и www.msftncsi.com.edgesuite.net);
  • www.msftncsi.com (он же — www.msftncsi.com.edgesuite.net);
  • ipv6.msftncsi.com;

Записи DNS для активных проб:

  • dns.msftncsi.com — адрес IPv4 131.107.255.255 и адрес IPv6 fd3e:4f5a:5b81::1.

Активные пробы[править | править код]

NCSI определяет подключение к Интернету путём запросов к зарезервированным доменным именам и сайтам компании Microsoft. Ранее для этого использовались доменные имена и сайт в доменной зоне msftncsi.com, а в Windows 10 к ней добавился сайт www.msftconnecttest.com. Если все проверки прошли, пользователь увидит в области системных уведомлений панели задач значок подключения к интернету. Если любая из проверок неудачна, пользователь увидит там значок «Подключение отсутствует» или «Доступ к Интернет ограничен»[1][2].

Windows 10[править | править код]

В Windows 10 NCSI использует следующую последовательность проб[1][2]:

  1. NCSI определяет адрес IP для доменного имени www.msftconnecttest.com с помощью запроса к DNS.
  2. NCSI загружает веб-страницу http://www.msftconnecttest.com/connecttest.txt (отправляет запрос GET протокола HTTP и ожидает ответ 200 OK).
  3. NCSI сравнивает полученный с вебсервера файл connecttest.txt с эталонным (файл должен содержать текст Microsoft Connect Test).
  4. NCSI выясняет адрес IP для доменного имени dns.msftncsi.com.

Windows 8.1[править | править код]

В Windows 8.1 и некоторых предыдущих версиях Microsoft Windows используется похожий алгоритм[1][2]:

  1. NCSI определяет адрес IP для доменного имени www.msftncsi.com с помощью запроса к DNS.
  2. NCSI загружает веб-страницу http://www.msftncsi.com/ncsi.txt (отправляет запрос GET протокола HTTP).
  3. NCSI сравнивает содержимое полученного с вебсервера файла ncsi.txt с эталонной строкой Microsoft NCSI.
  4. NCSI выясняет адрес IP для доменного имени dns.msftncsi.com.

Пассивные проверки[править | править код]

Помимо доступности зарезервированных доменных имён и веб-страниц NSCI мониторит активность пользователя в интернете[1][2].

В некоторых случаях Microsoft Windows открывает в браузере по-умолчанию портал MSN (страницу http://www.msftconnecttest.com/redirect). NSCI отслеживает такие запросы и при их успешности показывает в области системных уведомлений значок подключенного интернета[1][2].

Проблемы[править | править код]

В некоторых случаях ошибка NCSI приводит к невозможности активации Microsoft Office 365 при работающем подключении к Интернету[3].

В случае использования подключения VPN индикатор сети в области системных уведомлений сообщает жёлтым восклицательным знаком, что подключение отсутствует или ограничено, хотя основное подключение к Интернету работает нормально[5].

Примечания[править | править код]

Литература[править | править код]

Ссылки[править | править код]