从Windows Vista时×××始,当计算机连接到网络后,Windows系统就开始检测网络连接状态,是否可以上网等。
具体的工作原理:
1.当计算机网络发生更改时(重启,更改IP地址,连接到不同的网络等)。
2.计算机尝试连接:http://www.msftncsi.com/ncsi.txt
ncsi.txt是一个文本文档,文件编码格式为ANSI,内容只有一行 Microsoft NCSI,无回车符等,其他多余字符。
3.计算机尝试解析域名:dns.msftncsi.com ,解析结果为固定值:131.107.255.255

当计算机打开ncsi.txt和解析dns.msftncsi.com 正确时,则提示可以正常连接网络。

可以通过本地组策略或注册表的方式禁用网络连接状态检测功能。
本地组策略>计算机配置>管理模板>系统>Internet通信管理>Internet通信设置  "关闭Windows网络连接指示器活动测试"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
 EnableActiveProbing默认键值为1 ,更改为0可以禁用网络连接指示器。

根据以上原理,我们可以自己做一个检测服务器,通过本地服务器进行网络连接状态验证。
1.安装IIS和DNS,默认安装。
2.在IIS的根目录下C:\inetpub\wwwroot\,添加ncsi.txt,内容为:Microsoft NCSI
3.在DNS服务器管理控制台中,添加www.msftncsi.com的解析和dns.msftncsi.com的解析。
4.将客户端的dns解析更改到检测服务器。

 
微软官方文档:https://technet.microsoft.com/en-us/library/cc766017(WS.10).aspx#BKMK_Overview