由于 Windows 自带的网络检测方式中,关于 http 检测的部分出现问题,所以记录
Windows 关于网络检测部分的配置 ,主要存在于注册表下方位置
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet]
将该区域的默认设置导出,为以下内容
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet] "ActiveDnsProbeContent"="131.107.255.255" "ActiveDnsProbeContentV6"="fd3e:4f5a:5b81::1" "ActiveDnsProbeHost"="dns.msftncsi.com" "ActiveDnsProbeHostV6"="dns.msftncsi.com" "ActiveWebProbeContent"="Microsoft Connect Test" "ActiveWebProbeContentV6"="Microsoft Connect Test" "ActiveWebProbeHost"="www.msftconnecttest.com" "ActiveWebProbeHostV6"="ipv6.msftconnecttest.com" "ActiveWebProbePath"="connecttest.txt" "ActiveWebProbePathV6"="connecttest.txt" "CaptivePortalTimer"=dword:00000000 "CaptivePortalTimerBackOffIncrementsInSeconds"=dword:00000005 "CaptivePortalTimerMaxInSeconds"=dword:0000001e "EnableActiveProbing"=dword:00000001 "PassivePollPeriod"=dword:0000000f "StaleThreshold"=dword:0000001e "WebTimeout"=dword:00000023 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\ManualProxies]
在这里我们可以观察到,Windows 使用的两种方式分别为
1 、 DNS 查询,解析 dns.msftncsi.com 域名,能否解析到两个指定的 131.107.255.255 / fd3e:4f5a:5b81::1" 两个地址
2 、 HTTP 查询,创建一个 Winhttp 请求,访问 http://www.msftconnecttest.com/connecttest.txt 获得回复内容是否符合 Microsoft Connect Test 字符串
而后者由于某些因素,出现不可用的情况时,我们可以修改为其它网站
两者的检测反馈是 与 关系,也就是缺一不可。
题外话
据闻,此故障被微软定为 一级事故 。
原因是 企业级软件依靠系统来判断是否存在网络,防止网络中断时积累 DDOS 流量。
NCSI 报告没网,原则上需要网络的应用要停止尝试
真没想到这个小检测能影响那么大。