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]:
- NCSI определяет адрес IP для доменного имени www.msftconnecttest.com с помощью запроса к DNS.
- NCSI загружает веб-страницу http://www.msftconnecttest.com/connecttest.txt (отправляет запрос GET протокола HTTP и ожидает ответ
200 OK
). - NCSI сравнивает полученный с вебсервера файл connecttest.txt с эталонным (файл должен содержать текст Microsoft Connect Test).
- NCSI выясняет адрес IP для доменного имени dns.msftncsi.com.
Windows 8.1
В Windows 8.1 и некоторых предыдущих версиях Microsoft Windows используется похожий алгоритм[1][2]:
- NCSI определяет адрес IP для доменного имени www.msftncsi.com с помощью запроса к DNS.
- NCSI загружает веб-страницу http://www.msftncsi.com/ncsi.txt (отправляет запрос GET протокола HTTP).
- NCSI сравнивает содержимое полученного с вебсервера файла ncsi.txt с эталонной строкой
Microsoft NCSI
. - 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].
Примечания
Литература
- Liang, H. An Internet Explorer or Edge window opens when your computer connects to a corporate network or a public network : [англ.] : [арх. 17 ноября 2023] / H. Liang, R. West, C. Ye … [et al.] // Microsoft Learn. — Microsoft, 2023. — 3 August.
- Liang, H. Окно Internet Explorer или Edge открывается при подключении компьютера к корпоративной или открытой сети = An Internet Explorer or Edge window opens when your computer connects to a corporate network or a public network : [пер. с англ.] / H. Liang, R. West, C. Ye … [и др.] // Microsoft Learn. — Microsoft, 2023. — 3 августа.
- Harron, D. NCSI False "no internet" status : [англ.] : [арх. 11 мая 2023] / D. Harron, S. Qi. — Microsoft Q&A. — Microsoft Learn, 2020. — 5 August.
- Appendix K. Network Connectivity Status Indicator and Resulting Internet Communication in Windows Vista : [арх. 12 февраля 2021] // Windows Vista Technical Library : [англ.]. — 2008. — 25 November.
- Warmenhoven, C. Network Connectivity Status Indicator (NCSI) Showing No Internet — Solved : [англ.]. — 2020. — 31 July.
- Windows 10 отправляет данные Microsoft даже в случае отключения определенных функций : [арх. 8 ноября 2020] // SecurityLab.ru. — Positive Technilogies, 2015. — 17 августа.
- Windows Server: индикатор состояния подключения к сети отображается с желтой отметкой в Windows Server 2008 или более поздней версии : версия 2 : Номер статьи: 000128693 : [арх. 12 февраля 2021]. — База знаний поддержки DELL. — DELL Technologies, 2020. — 20 ноября.
Ссылки
- NСSI — Network Connectivity Status Indicator // Почтовый сервер Eserv. — 2014. — 21 марта.
- Microsoft NCSI на службе или как мы искали забытый нетбук // Хабр. — 2014. — 7 марта.