Начиная с Vista, операционные системы Microsoft Windows научились определять функциональные возможности сетей, к которым вы подключены: система безошибочно рапортует, если ли соединение с интернетом, доступ только к локальной сети или сеть вообще недоступна. Вам когда нибудь было любопытно, каким образом это происходит? Если да - давайте посмотрим, какие механизмы задействует ОС, чтобы сообщить пользователю возможности текущего подключения.
В Windows Vista и Windows 7 есть такая функция, как Network Connectivity Status Indicator (NCSI), индикатор статуса сетевого подключения. Она вызывается и используется службой «Служба сведений о подключенных сетях» (Network Awareness) при подключении к какой-либо сети. В NCSI реализовано множество методов определения возможностей сети, наиболее интересным из которых является определение возможности выхода в Интернет. Это происходит следующим образом:
- После подключения к сети операционная система пытается открыть файл http://www.msftncsi.com/ncsi.txt
Это обычный текстовый файл, содержащий строку Microsoft NCSI. Ожидаемый ответ от сервера — заголовок 200 ОК и эта строка. - Второй шаг — проверка работоспособоности DNS. Для этого NCSI пытается определить IP-адрес хоста dns.msftncsi.com. Ожидаемое значение — 131.107.255.255.
Варианты дальнейшего развития событий здесь таковы:
- Если оба шага успешно завершены — система рапортует о наличии соединения с Интернет.
- Если файл ncsi.txt недоступен, а dns.msftncsi.com разрешается с другим адресом, либо его IP невозможно установить, - система сообщает о недоступности подключения к Интернет.
- Если файл ncsi.txt недоступен, но dns.msftncsi.com разрешается корректно — система уведомляет пользователя возможной необходимости аутентификации посредством браузера.
Microsoft NCSI и анонимность
Веб сервер, установленный на сайте www.msftncsi.com, насколько нам известно, это IIS, хранит в логах все IP-адреса, c которых был запрошен файл ncsi.txt. Согласно заявлению Microsoft эти данные не используются для установления личности пользователя, с компьютера которого пришел запрос. В случае, когда компьютер подключен, например, к корпоративной сети предприятия, то адресом, запросившим ncsi.txt, выступает адрес компьютера, предоставляющего доступ к Интернет, как правило, посредством NAT/Proxy.
Управление и настройка NCSI
Функция Network Connectivity Status Indicator может быть настроена или отключена совсем посредством изменения её параметров через реестр.
- Чтобы совсем отключить функцию NCSI, необходимо перейти в раздел реестра
[code]HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet[/code]
и изменить значение параметра EnableActiveProbing на ноль. Проверка подключения к Интернет описанным выше способом выполняться не будет.
- Вы можете изменить адрес веб-сервера, имя и содержимое файла, запрашиваемого NCSI, а также имя и IP-адрес хоста, используемого для проверки DNS
Для этого служат соответствующие параметры в том же разделе реестра
[code]HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet[/code]
ActiveDnsProbeContent — IP-адрес хоста для проверки DNS
ActiveDnsProbeHost – имя хоста для проверки DNS
ActiveWebProbeHost — адрес веб-сайта, на котором размещен файл для проверки наличия подключения к Internet
ActiveWebProbePath – путь к файлу проверки
ActiveWebProbeContent — содержимое файла проверки
Оставшиеся параметры управляют интервалами опроса сервера.
К примеру, я могу разместить на winreviewer.com файл winreviewer.com/ncsi/ncsi.txt с содержимым winreview ncsi и использовать всё это, изменив параметры на следующие:
ActiveWebProbePath = ncsi/ncsi.txt
ActiveWebProbeContent = winreview ncsi
Единственная, на мой взгляд, причина, по которой вы можете использовать собственный ncsi-сервер — это отслеживание подключений компьютера. Например, задав подобные настройки, я получу журнал внешних IP-адресов компьютера. Впрочем, это далеко не единственный способ сформировать такой журнал. В подавляющем большинстве же случаев изменять настройки NCSI нет никаких веских причин.
💡Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.
Отключился и подключился к сети заново. Затем заглянул в список разрешенных адресов (ipconfig /displaydns), msftncsi.com не обнаружилось. Почему так?
У меня тоже адрес не отображается. Странно.
есть такое подозрение, что, возможно, чтобы не загромождать общую картинку, этот адрес из вывода отфильтровывается… ipconfig майкрософтом написан
Вполне возможно.