Наверняка каждый пользователь операционных систем Windows сталкивался с ситуацией, когда значок сетевого подключения в панели задач отображался с желтым треугольником, что означает отсутствие подключения к Интернету.
в операционных системах Microsoft начиная с Windows Vista есть такая функция, как индикатор статуса сетевого подключения (Network Connectivity Status Indicator, NCSI). Эта функция вызывается службой сведений о подключенных сетях (Network Awareness) при подключении к любой сети.
Для определения возможностей сети в NCSI есть множество различных методов, одним из которых является определение возможности выхода в Интернет. Проверка проводится в два этапа:
• При подключении к сети система посылает HTTP-запрос по адресу
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\NlaSvc\Para meters\Internet, при желании их можно отредактировать. Вот наиболее важные параметры для IPv4 (для IPv6 просто добавляем префикс V6):
EnableActiveProbing — наличие автоматической проверки подключения к интернет (1 — проверка включена, 0 — отключена);
ActiveDNSProbeContent — IP-адрес для проверки DNS;
ActiveDNSProbeHost — имя хоста для проверки DNS;
ActiveWebProbeHost — адрес веб-сайта для проверки;
ActiveWebProbePath — путь к файлу проверки;
ActiveWebProbeContent — содержимое файла.
Используя эти настройки, можно изменить дефолтные адреса на свои, и подняв веб-сервер, по его логам отслеживать подключения нужных компьютеров. Впрочем, смысла особого в этом лично я не вижу.