Как Windows определяет подключение к Интернету

В данной статье рассказывается о том, как операционная система Windows определяет подключение к Интернету.

Каждый пользователь операционных систем Windows сталкивался с ситуацией, когда значок сетевой активности в панели задач отображается с желтым треугольником, что означает отсутствие подключения к Интернету.

То же самое можно увидеть и в свойствах сетевого подключения. Каким же образом операционная система определяет, есть ли на данном сетевом интерфейсе соединение с Интернетом, или только доступ к локальной сети?.

Дело в том, что в операционных системах Microsoft начиная с Windows Vista имеется такая функция, как индикатор статуса сетевого подключения (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 разрешается в правильный IP — система выдает сообщение о необходимости аутентификации через браузер.

Настройки NCSI находятся в системном реестре, в разделе.

HKLM\\System\\CurrentControlSet\\Services\
laSvc\\Parameters\\Internet

При желании их можно отредактировать. Наиболее важные параметры для IPv4 представленны ниже (для IPv6 просто добавляем префикс V6):

EnableActiveProbing - наличие автоматической проверки подключения к интернет (1 — проверка включена, 0 — отключена)

ActiveDNSProbeContent - IP-адрес для проверки DNS

ActiveDNSProbeHost - имя хоста для проверки DNS

ActiveWebProbeHost - адрес веб-сайта для проверки

ActiveWebProbePath - путь к файлу проверки

ActiveWebProbeContent - содержимое файла

WinNOTE
Добавить комментарий