V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mason961125
V2EX  ›  宽带症候群

Windows 用来检测网络连通性的 IP 似乎被劫持了

  mason961125 · 2021-10-08 06:13:35 +08:00 · 25689 次点击
这是一个创建于 925 天前的主题,其中的信息可能已经有所发展或是发生改变。

起因

前几天发现 Windows 的网络图标一直显示未联网状态,但实际上是联网了,后来搜索了下大概率是 Windows 的网络连通性探测的机制有问题了。

Active Probe

一般来说,如果联网了,并且实际能够通过浏览器访问互联网,但 Windows 却显示 无 Internet, 已连接,大概率是 Active Priobe 出了问题。

Active Probe 会从两个角度进行测试:

  • DNS 解析
  • HTTP 连接

两个测试任意一个不过都会导致 无 Internet, 已连接 这个结果。除了图标的显示有差别外,Windows 其实把 Active Probe 的结果用在了很多系统内置条件的判断上,网络不通会导致非常多的功能不可用。

👇 注册表中 Active Probe 相关参数

Registry

经过一番测试后发现用来测试 Web 连通性的域名 www.msftconnecttest.com 对应的 IP 被 TCP 劫持了,ICMP 和 UDP 似乎没有问题。

排查

于是分别对两个测试的内容进行手动测试,由于没有 v6 环境,就跳过了 v6 测试。最终发现 DNS 解析测试是完全没有问题的,而 HTTP 连接测试则出现了劫持情况。

具体表现为:

  • www.msftconnecttest.com 解析出的 v4 在使用 ICMP 和 UDP 进行 ping 时能够正确到达目的地,但 TCP 被劫持,具体通过延迟来判断,我本地对这个 IP 的 UDP 和 ICMP ping 延迟都是相通的,而 TCP 则少了一个量级
  • 全国性的对这个 IP 的 80 端口不可访问

👇 TCP 路由跟踪 TCP mtr

👇 全球端口测试 Port test

解决方案

既然 Active Probe 因为自己不可控的原因不能成功,那就禁用 Active Probe 。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\InternetEnableActiveProbing1 改为 0 来禁用,完成后重启即可。

第 1 条附言  ·  2021-10-13 10:17:48 +08:00
看起来微软已经针对国内的解析做了分区处理,目测问题已修复。
129 条回复    2022-12-07 08:48:25 +08:00
1  2  
zhcnlcq
    101
zhcnlcq  
   2021-10-11 17:32:47 +08:00
还是挺奇怪的,我也出现了这种情况,通过浏览器确实不能正常打开 http://www.msftconnecttest.com/connecttest.txt,经过上边提到解决方法设置以后,确实恢复正常了,但是公司的局域网而且出口 ip 是固定,其他的同事网络图标都正常就只有我一个是这种问题.对比测试同事也是不能打开 http://www.msftconnecttest.com/connecttest.txt 但是他检测是正常的. 以为是 DNS 和 web 检测是或条件,但是对比并不是这样!
Smallsun1231
    102
Smallsun1231  
   2021-10-11 17:48:08 +08:00
因为公司邮件服务器在云上,出现此问题的时候邮箱是无法同步收发信息的。
故咨询巨硬,给了回复如下:

这种情况确实是不正常的,从个别用户提供的 fiddler log 来看是 autodiscover 指向有问题,但是当前越来越多的国内客户反应这个问题,所以后台认为这是一个潜在的 service incident,基于整体分析,给出了以下解释和其他暂时的解决方法:
Smallsun1231
    103
Smallsun1231  
   2021-10-11 17:48:26 +08:00
1. Office 365 应用程序依赖于 Windows 中的 NCSI (网络连接状态指示器)服务来执行网络连接测试并在应用程序运行之前构建网络连接的配置文件。但是,NCSI 服务的端点不在中国大陆。( http://www.msftconnecttest.com/connecttest.txt
https://docs.microsoft.com/en-us/troubleshoot/windows-client/networking/internet-explorer-edge-open-connect-corporate-public-network
2 . 我们意识到应用程序客户端访问全局 NCSI 服务被重置,因此应用程序连接到 O365 服务出现问题,错误消息“无法连接”;

3 . 如果我们直接对 NCSI 端点运行测试,则会弹出错误消息“connection reset”

http://www.msftconnecttest.com/connecttest.txt
Smallsun1231
    104
Smallsun1231  
   2021-10-11 17:50:28 +08:00   ❤️ 1
再贴一张解决方案
lhhappy
    105
lhhappy  
   2021-10-11 20:48:55 +08:00
但奇怪的是,很多用户如果用手机开热点给电脑,就不会出现小地球,大多数出问题的是宽带线路。家用宽带,公司商用宽带,和外面的公共 WIFI 都有这问题
1265578519
    106
1265578519  
   2021-10-11 22:21:23 +08:00
13.107.4.50 www.msftconnecttest.com
hosts 加一行
就解决了
哪里用那么麻烦去改注册表
可用 ip 有
13.107.4.50
13.107.4.51
13.107.4.52
13.107.4.53
13.107.4.54
13.107.4.55
13.107.4.56
yanlaz
    107
yanlaz  
   2021-10-12 11:10:42 +08:00
奇怪了,手机热点就没事,热点网络也打不开 http://www.msftconnecttest.com/connecttest.txt ,只有挂 vpn 可以
lmmortal
    108
lmmortal  
   2021-10-12 12:11:26 +08:00 via iPhone
我的电脑也出现这问题了 刚刚改了 hosts 没什么作用 等会重启试试
lmmortal
    109
lmmortal  
   2021-10-12 13:03:36 +08:00 via iPhone
@Smallsun1231 按照这个第三条改了,已经可以了
bclerdx
    110
bclerdx  
   2021-10-12 14:28:51 +08:00
@Smallsun1231 兄弟,你如下的那张图是什么工具?
bclerdx
    111
bclerdx  
   2021-10-12 14:29:45 +08:00
@lmmortal 修改完注册表,需要重启电脑么?此方法仅适用于 Windows 10 系统? Windows 7/8/8.1 适用么?谢谢!
czyt
    112
czyt  
   2021-10-12 14:47:06 +08:00
添加几个服务器
```
"microsoft": {
"webHostV4": "www.msftconnecttest.com",
"webPathV4": "connecttest.txt",
"webContentV4": "Microsoft Connect Test",
"webHostV6": "ipv6.msftconnecttest.com",
"webPathV6": "connecttest.txt",
"webContentV6": "Microsoft Connect Test",
"dnsHostV4": "dns.msftncsi.com",
"dnsContentV4": "131.107.255.255",
"dnsHostV6": "dns.msftncsi.com",
"dnsContentV6": "fd3e:4f5a:5b81::1"
},
"debian": {
"webHostV4": "network-test.debian.org",
"webPathV4": "nm",
"webContentV4": "NetworkManager is online\n",
"webHostV6": "network-test.debian.org",
"webPathV6": "nm",
"webContentV6": "NetworkManager is online\n",
"dnsHostV4": "resolver1.opendns.com",
"dnsContentV4": "208.67.222.222",
"dnsHostV6": "resolver1.opendns.com",
"dnsContentV6": "2620:119:35::35"
},
"firefox": {
"webHostV4": "detectportal.firefox.com",
"webPathV4": "success.txt",
"webContentV4": "success\n",
"webHostV6": "detectportal.firefox.com",
"webPathV6": "success.txt",
"webContentV6": "success\n",
"dnsHostV4": "resolver1.opendns.com",
"dnsContentV4": "208.67.222.222",
"dnsHostV6": "resolver1.opendns.com",
"dnsContentV6": "2620:119:35::35"
}
}
```
acess
    113
acess  
   2021-10-12 23:20:16 +08:00
关 active probing 没解决(包括组策略)
重新打开 active probing,然后 ActiveWebProbeHost(v6)改成 www(ipv6) . msftncsi . com,ActiveWebProbePath(v6)改成 ncsi.txt 就好了
v2tudnew
    114
v2tudnew  
   2021-10-12 23:47:58 +08:00
@1265578519 #106 只有 52 被阻断,看来是针对 IP 的.
lns103
    115
lns103  
   2021-10-13 09:17:50 +08:00 via Android
@lhhappy @yanlaz 因为现在数据网络和热点都有 ipv6,而 ipv6 检测是正常的,只要 v4 或 v6 检测通过了,就不会出现小地球,可以打开网络适配器中的连接属性查看
很多公共网络和家庭路由器都没有配置 ipv6
lns103
    116
lns103  
   2021-10-13 09:20:09 +08:00 via Android
foxnake234
    117
foxnake234  
   2021-10-13 10:06:01 +08:00
Hi guys, 我们从 10/4 起也规模性的出现一堆用户无 internet, 可上网,无法使用 M365 outlook,这是目前网上我能找到的对此 incident 最有帮助的帖子。
大家的问题有:同局域网部分只有用户发生问题,重装网卡驱动,重置网络,切换内、外网,切换有线无线可能部分解决,几乎像玄学一样。
目前的解决办法:让针对 msftconnecttest 的流量绕过 wall,似乎就都正常了。
感谢 @Ins103 的回答也解释了为什么不能用 IE 打开 connecttest.txt 但是系统仍判断有网络的疑惑,可能 IPV6 检测过了。
至于为什么发生范围是玄学,以及切有线无线,内外网能玄学解决部分用户,只能有待大家发现了。
希望微软早日解决此问题。如果有谁获得微软终极解释也请分享下。谢谢。
foxnake234
    118
foxnake234  
   2021-10-13 10:07:35 +08:00
对了,现在再用 ping 网页查看 13.107.4.52 的连通性,中国已经是一片绿无阻断了,但是在绿的情况下我们还是发现了部分用户无 internet 的问题,可能由于缓存引起。估计这问题待缓存过期后就逐渐退散了。。?
TomChaai
    119
TomChaai  
   2021-10-13 11:08:40 +08:00
@foxnake234
ping 一直是好的,这个墙的干扰手段相当鸡贼,专门针对 80 端口的流量修改路由转发,你用 ping 测不出。
我试了下这个 IP 貌似还是坏的,我看了下 DNS 解析,微软用了个 geodns,把国内解析到 Akamai 上去了,国际上还是用的 msedge 。
foxnake234
    120
foxnake234  
   2021-10-13 11:31:55 +08:00
@TomChaai 我不是用 PING, 我是用 PINGINFOVIEW 的 TCPPING 工具检测 www.msftconnecttest.com:80, 返回昨天是 13.107.4.52 是通的,今天是 184.26.43.18 也是通的
如果只是 PING 的 ICMP 的话得到的 IP 反而是 52.164.206.56 。
另外题主的截图中国一片红的工具 ping.px 检测, 所有国家都是 13.107 那个,只有中国五花八门但是是通的,猜是微软做了什么
Smallsun1231
    121
Smallsun1231  
   2021-10-13 11:37:03 +08:00
@bclerdx 哪一张图啊
v2tudnew
    122
v2tudnew  
   2021-10-13 12:03:39 +08:00
@foxnake234 #120 https://www.boce.com/http/www.msftconnecttest.com/b194c4c075a3b6cdb88882a812303dfc.html
昨天还都是阻断,今天全绿了,而且用上了 CDN 。
TCPING 没用,昨天阻断时我也测过。
TomChaai
    123
TomChaai  
   2021-10-13 13:02:23 +08:00
@foxnake234 你用 resolve-dnsname 解析,会发现 dns 记录第一条是个 geodns 服务,然后这个服务根据用户 ip 返回不一样的 cname 。
国外用户基本还是那个静态的 msedge IP,国内一般解析到 akamai cdn 上
takeshima
    124
takeshima  
   2021-10-13 13:04:26 +08:00 via Android
这是微软要被搞了吗
bclerdx
    125
bclerdx  
   2021-10-13 20:53:27 +08:00 via Android
@TomChaai 啥工具解析?
TomChaai
    126
TomChaai  
   2021-10-13 21:19:48 +08:00
@bclerdx nslookup 或者 resolve-dnsname 都可以啊
cccClyde
    127
cccClyde  
   2021-10-18 11:32:04 +08:00
Windows 11 22000.282 ,重庆电信;

最近出现网络正常但右下角提示「未连接 Internet 」的问题。

试了很多方法,我这里有效的是将注册表路径:

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet

中的 ActiveWebProbeContent 和 ActiveWebProbeContentV6 两项,值由「 Microsoft Connect Test 」改为「 Microsoft NCSI 」,重启就好。
txyyh
    128
txyyh  
   2021-12-24 14:00:22 +08:00
@1265578519 这几个 IP 全部显示服务下线
湖南联通
dgy125
    129
dgy125  
   2022-12-07 08:48:25 +08:00
把 Active Probe 禁用后,图标是正常了,但是自带日历、邮件等应用无法同步,甚是头疼。
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2407 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 124ms · UTC 01:05 · PVG 09:05 · LAX 18:05 · JFK 21:05
Developed with CodeLauncher
♥ Do have faith in what you're doing.