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

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

  mason961125 · 54 天前 · 13715 次点击
这是一个创建于 54 天前的主题,其中的信息可能已经有所发展或是发生改变。

起因

前几天发现 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 条附言  ·  49 天前
看起来微软已经针对国内的解析做了分区处理,目测问题已修复。
127 条回复    2021-10-18 11:32:04 +08:00
1  2  
blueboyggh
    1
blueboyggh   54 天前 via Android
我也遇到了这个问题,还以为是从 win11 退回 win10 导致的 bug,因为我另一台台式机没有这个问题,如果是劫持问题,为啥有的电脑有问题,有的电脑没事儿?
mason961125
    2
mason961125   54 天前
@blueboyggh 这个问题我倒是没遇到,因为我就一台 Windows 设备。起初我以为是 Windows 网络设置问题,所以重置了一次网络设置,第一次联网之后是好的,后来莫名其妙又变成未联网了,直到禁用了连通性测试才恢复。我猜测不是所有的包都被劫持了?可能放过去了一定数量的包吧...?
neteroster
    3
neteroster   54 天前 via Android
没错,昨天下午老是显示无 Internet,但是又能联网。我还以为就我这样。
blueboyggh
    4
blueboyggh   54 天前 via Android
@mason961125 另外两年前我也遇到过这个问题,当时也是修改注册表临时解决了,但是当时这个方法会导致一些自带应用无法检测联网状态而默认未联网,不知道现在还有没有这个问题
hotbaidu
    5
hotbaidu   54 天前 via Android
之前在 Mac mini M1 用 UTM 安装 Win11 也遇到过,禁用 Active Probe 会导致系统更新跟病毒码自动更新因为检测无网路时常报错,只能手动安装更新包。
mason961125
    6
mason961125   54 天前 via Android
@hotbaidu 我这边的表现和你相反,不禁用的时候因为探测失败导致无网络才会有各种系统错误,禁用之后不报错了反而好了。
villivateur
    7
villivateur   54 天前
我也出现这个情况了,貌似只有移动的才有?
wwbfred
    8
wwbfred   54 天前   ❤️ 1
疯了吧这是,墙这玩意儿有什么好处???
不过我这儿的确被 rst,但 windows 网络检查是通的,这是为啥。
LuckyTain
    9
LuckyTain   54 天前
我也出现了类似问题, 感谢
kkocdko
    10
kkocdko   54 天前
我也遇到了这个问题!我还以为是我的网络问题呢(之前经常碰到古怪的 CDN 域名被阻断

@villivateur 这边福建联通也被阻断了
villivateur
    11
villivateur   54 天前   ❤️ 1
怀疑是有人恶作剧向这个域名发送敏感词,让 GFW 自动封了这个 IP 的 TCP 连接
@wwbfred
kkocdko
    12
kkocdko   54 天前
感谢楼主告知这个功能的名字,我昨天按照 Android 网络感叹号的 CaptivePortal 搜了一大圈,啥都没找到。
richarddingcn
    13
richarddingcn   54 天前
问题大 昨天我也是这个问题 各种排查 结果升级驱动之后好了 现在发现简直偶然?
szdosar
    14
szdosar   54 天前
对大神的敬仰如滔滔江水绵绵不绝。学习了。
Lightbright
    15
Lightbright   54 天前
这个问题原因比较复杂,除了楼主说的原因之外,还有可能是 Windows 系统自己的问题
https://docs.microsoft.com/en-us/answers/questions/124300/still-not-fix-no-internet-connection-bug-in-window.html

另外,推荐一个项目,可以通过劫持彻底解决这个问题
https://github.com/dantmnf/NCSIOverride
explorerproxy
    16
explorerproxy   54 天前
我昨天也是一直显示未联网,不过这会已经好了
上海联通
Lightbright
    17
Lightbright   54 天前
@Lightbright 另外还有一点,当你使用 Windows 系统的代理服务器功能时,系统会把 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\ManualProxies 这个位置的注册表写错。具体表现为,会在你自己写的代理服务器地址前加一个 1 。。。





这很显然是一个 BUG,并且这个注册表位置和 Windows 的网络探测服务有关。。
sky96111
    18
sky96111   54 天前 via Android
@Lightbright 不一定是 bug,可能用 1 和 0 判断代理开启状态(纯推测
villivateur
    19
villivateur   54 天前   ❤️ 1
还有一种解决方法,目前 www.msftncsi.com 没有被劫持,可以把 Active Probe 的域名换成这个。
具体修改注册表 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet 以下键值对:

ActiveWebProbeHost - www.msftncsi.com
ActiveWebProbeContent - Microsoft NCSI
ActiveWebProbePath - ncsi.txt

然后重启
Lightbright
    20
Lightbright   54 天前
@sky96111 代理关闭这一项就没有了
lns103
    21
lns103   54 天前
刚刚回到学校就发现了这个问题,排查了一下发现 ipv6 连通性检测不受影响,只有 ipv4 被劫持,所以在双栈网络下没有异常。而我家里有 v6,学校的电信宽带没有 v6,只有公网 v4
ghjexxka
    22
ghjexxka   54 天前
前天玩游戏 xbox 同步游戏数据,离线检测貌似也是这个域名
mason961125
    23
mason961125   54 天前
@villivateur 理论上来说,可以换成任何你想用的域名(如果 Windows 没有对这个域名做白名单的话)
qwe678
    24
qwe678   54 天前
确实,探测失败判定为无网络连接后,无线热点也不给开
BestQueffEver
    25
BestQueffEver   54 天前   ❤️ 1
@Lightbright 如果设置的是 pac 代理则是“0http...”的格式,所以上面的推测有可能是对的。
justrand
    26
justrand   54 天前
顶一个,之前就发现了这个问题,一直没去管。原来如此
starsky007
    27
starsky007   54 天前 via Android
前两天我还为这个问题重启了一次电脑,看仍然能够上网就没管了。
745839
    28
745839   54 天前
河北电信昨天开始也这样。但是局域网内,有的电脑是正常的。并且都开启了 DHCP
nbweb
    29
nbweb   54 天前 via Android
前两天家里电脑网络连接成地球了,有时过一两分钟才能连上,我两三天装了三次系统。今天公司电脑一直是地坏,但能上网就没管了。
Windn0
    30
Windn0   54 天前 via iPhone
广州校园网也是这样的,手机热点的话没问题,实验室其他电脑也没这个问题,缺少样本排查问题。晚上回宿舍在用另一台电脑看看
zhl
    31
zhl   54 天前
我这边链接 wifi 显示无网络但可以正常上网,有线链接一切正常!
kiev84
    32
kiev84   54 天前
最近一两个月一直被这个问题困扰,网上能找到的方法都试过了,基本无效。
另外我这里,路由器重启之后能解决一次问题,只解决一次,电脑重启之后问题复现。
Windows 系统现在是真不省心。
nanjoyoshino
    33
nanjoyoshino   53 天前
碰到了一样的问题
crayygy
    34
crayygy   53 天前
我也遇到了一样的问题,还以为是我重置了 Windows 系统导致的,这么想想可能是因为我之前用的电信网络 DNS 有 cache,现在重置 Windows 以后直接连接的移动宽带,DNS 缓存没了就不对了。
px920906
    35
px920906   53 天前 via Android
巧了,昨晚刚搜到改注册表的方式解决掉,还以为是个别问题。
另外只改 active probing 的方式在我这不起作用。
LancerComet
    36
LancerComet   53 天前
这个问题影响了 UWP 使用,怎么弄都弄不好,一怒之下昨天晚上升级了 Windows 11,升级完之后还是这样,但我在设置里设置为手动 DNS 又设置回自动,然后就好了,非常莫名其妙
Knuth
    37
Knuth   53 天前   ❤️ 1
好多人碰到这个问题,解决方法
https://www.zhihu.com/question/48856675/answer/2047481546
2i2Re2PLMaDnghL
    38
2i2Re2PLMaDnghL   53 天前
之前重启后未联网一直没管
9.30 发现 Kindle 客户端根据系统判定未联网故不允许同步,但可以下载(逻辑感人)
开着梯拔插网线解决
talentl
    39
talentl   53 天前 via iPhone
命令行执行
netsh winsoc reset
可以修复。对我个人可用。
shunin0
    40
shunin0   53 天前
最近正好刷机,原生 android 的日常也是这东西造成感叹号()
就很真实
Bolero
    41
Bolero   53 天前 via iPhone
还以为是我电脑无线网卡有问题导致的 一会好一会不好的🤔
feelinglucky
    42
feelinglucky   53 天前
@Knuth 感谢,通过修改注册表设置成了个人自己的网站,应该暂时能够解决这个问题了。
sp670
    43
sp670   53 天前
我去,我也是这个问题
当时正好我在调试我家的无线,还以为我的系统还是无线网卡出问题了,大半夜还搞了另一个电脑来重新下载无线网卡驱动折腾了老半天
vachiko
    44
vachiko   53 天前
天哪原来是这个原因!我也考虑过会不会是测试联通性的服务器炸了,但没想到是被劫持了,感谢楼主测试分享!
ELloop
    45
ELloop   53 天前 via Android   ❤️ 1
@Knuth 那句 MS 太自信了 把我整笑了
yfugibr
    46
yfugibr   53 天前
windowsspyblocker, 可以直接更改这个东西
Sekai
    47
Sekai   53 天前
关了 让它爬
zlhsvc
    48
zlhsvc   53 天前
突然想到这几天网络波动剧烈,我一直以为是宽带问题
walkxspace
    49
walkxspace   53 天前
这两天我也遇到了 移动的宽带
minami
    50
minami   53 天前
为了解决这个问题,我已经把它改成 firefox 的域名了
lsy94
    51
lsy94   53 天前
关键 Win10 显示无网络连接时候无法连接 WebDav,昨天因为这事都快疯了
starsky007
    52
starsky007   53 天前 via Android
你们为什么没有改成百度的,不是说百度是用来测试网络连接的吗?
me221
    53
me221   53 天前
我的只是 CFW 的 tun 网卡变成地球了。
所以将 www.msftconnecttest.com 添加进代理就好了
AllenHua
    54
AllenHua   53 天前   ❤️ 4
我今天也遇到了这个问题,然后修改方法和 19 楼一样 写了篇文章记了一下。https://hellodk.cn/post/817

修改以下 3 个 key 的 value

ActiveWebProbeHost
ActiveWebProbePath
ActiveWebProbeContent

原本的值是

```
ActiveWebProbeHost=www.msftconnecttest.com
ActiveWebProbePath=connecttest.txt
ActiveWebProbeContent=Microsoft Connect Test
```

改成

```
ActiveWebProbeHost=www.msftncsi.com
ActiveWebProbePath=ncsi.txt
ActiveWebProbeContent=Microsoft NCSI
```

就好了
weixiaoD
    55
weixiaoD   53 天前 via Android
卧槽,我最近在路由器弄透明代理,以为是这个原因导致的网络图标地球。。。
yanyumihuang
    56
yanyumihuang   53 天前 via Android
你这个关了的话,office 有网吗?能用 onedrive 的保存吗?
HsuX
    57
HsuX   53 天前
如果浏览器可以打开这个网址是不是就证明没有被劫持?
bclerdx
    58
bclerdx   53 天前 via Android
@me221 怎么添加进去的。
zhjits
    59
zhjits   53 天前
主动检测不建议关……不过家里有条件的同学们可以自己劫持一下。方法去年写过,参考 https://v2ex.com/t/755248
chnyuwen
    60
chnyuwen   53 天前
@me221 我昨天也把连接检测走代理了,使用 TUN 模式,Windows 连接检测通过,可是我 UWP 应用全都无网络了...
你这边 UWP 应用能够在 TUN 模式联网吗?比如微软商店之类的
77ShiORi
    61
77ShiORi   53 天前
家里移动双栈没见到这个,反而今天在公司遇到了这个问题。
Mac
    62
Mac   53 天前
不是劫持,应该是改 IP 了,各大 DNS 缓存有 48 小时的延后时间。我前天遇到这个问题的,在逼乎看到的一个很早以前的帖子,说的就是这个。我还用 ping.pe 测过这个域名,全球节点在 48 小时前都 loss 100%,IP 地址也不是今天这个。目前上海电信,用 119.29.29.29DNS 解析出来的地址是能正常访问的。
Garphy
    63
Garphy   53 天前
今天早上新电脑带到公司,我还以为是公司网络问题,囧···
Greatshu
    64
Greatshu   53 天前
这也是人干出来的事?
https://z3.ax1x.com/2021/10/09/5iCrZV.png
Osk
    65
Osk   53 天前
想说脏话了, 我被迫把网络重置了才解决这个问题, 一开始就怀疑是不是 nsci 服务器出问题了, 但下意识一想: 这不科学, 谁闲的去搞 ncsi 服务器.


结果真是这样...
Lemeng
    66
Lemeng   53 天前
我的是 vm 虚拟机版本的问题,退后一个版本就正常了,百度的方法都不可以,没有去研究版本的方法
Atomo
    67
Atomo   53 天前
虽然没有遇到这个问题,但是也自建了一个服务器,以绝后患,真·全球可访问
[![5iAoCT.png]( https://z3.ax1x.com/2021/10/09/5iAoCT.png)]( https://imgtu.com/i/5iAoCT)
tempestissimo
    68
tempestissimo   53 天前
@Lightbright 目前发现这个项目在 21H2 上失效了,具体原因未知🤔
nmap
    69
nmap   53 天前
你这完全没解释为啥大部分时候网络探测显示是没问题的
starrysky806
    70
starrysky806   53 天前 via iPad
看完回复我问各位一个问题,有去真访问一下看看么.该域名使用*.clo.footprintdns.com 非本域名证书
https://www.msftconnecttest.com/connecttest.txt

<h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0I/NgYQAAAAChT3AHphTwRoP8WmfXkZ2BVFlCRURHRTA4MDYARWRnZQ==
人家 HTTP 400 回复
villivateur
    71
villivateur   53 天前 via Android
@starrysky806 你为啥要用 https 去访问
Cassius
    72
Cassius   53 天前 via Android
这个感觉直接在出口上 dns 劫持一劳永逸了啊。内网开一个 nginx 直接把这个 txt 挂上去,dns 劫持到 nginx 上收工了。
starrysky806
    73
starrysky806   53 天前 via iPad
@villivateur 习惯了,http 是 200 ok,看来确实有问题
explorerproxy
    74
explorerproxy   53 天前
昨天还没问题的,今天又出现了
Lightbright
    75
Lightbright   53 天前 via Android
@tempestissimo 需要手动修改偏移
me221
    76
me221   53 天前
@chnyuwen 可以正常使用
me221
    77
me221   53 天前
@bclerdx 依次点击 Profiles==》第三个按钮==》 Add==》
Content 填写 www.msftconnecttest.com
Type 选择 DOMAIN
Proxy or Policy 选择代理策略组
Themyth
    78
Themyth   53 天前
@villivateur 如果是向域名发送敏感词,为何劫持的是解析到的 ip 而不是这个域名本身?
不过这的确像是假墙现象。
villivateur
    79
villivateur   53 天前
@Themyth 为啥不能劫持 IP,墙有很多种运行方式
starsky007
    80
starsky007   53 天前
You have no Internet connection despite you can open this page. --Microsoft
尽管您可以打开此页面,但您没有 Internet 连接。 - 微软
来源: https://github.com/dantmnf/NCSIOverride
Windn0
    81
Windn0   53 天前 via iPhone
有什么更好的解决方案吗?能不能直接去微软社区反映,让微软修复这个不是他们的 bug 的 bug 。
starsky007
    82
starsky007   53 天前
@villivateur 谢谢,如果导出个 .reg 文件就更好了。
starsky007
    83
starsky007   53 天前
@AllenHua 谢谢,如果导出个 .reg 文件就更好了。
FFFFourwood
    84
FFFFourwood   53 天前
我也遇到了,,,我是改注册表解决的,,顺便写了文章记录一下
https://ffffourwood.cn/index.php/archives/407/
bclerdx
    85
bclerdx   52 天前 via Android
@FFFFourwood 很好的文章,暗黑色很好😂
v2tudnew
    86
v2tudnew   52 天前
经我测试,Windows 不仅仅靠这个判定网络是否正常,将三个域名手动污染,虽然开始一段时间显示无网络,但一两分钟就正常了。
Themyth
    87
Themyth   52 天前
@villivateur 因为我测试过……尴尬
bclerdx
    88
bclerdx   52 天前
@v2tudnew 哪三个域名?
v2tudnew
    89
v2tudnew   52 天前
@bclerdx #88
dns.msftncsi.com
www.msftconnecttest.com
ipv6.msftconnecttest.com
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
bclerdx
    90
bclerdx   52 天前
@me221 多谢!多谢!
v2tudnew
    91
v2tudnew   52 天前
其实吧,这还是微软自己挖的坑,看了下旧域名是 akamai ( CDN ?),新域名全球一个 IP,真就用户当小白鼠的 BUG10 。
FFFFourwood
    92
FFFFourwood   52 天前
@bclerdx 谢谢哈哈哈哈 但我是转载的 ,,,ctrl c v
leido
    93
leido   52 天前
万恶的墙必须倒
tempestissimo
    94
tempestissimo   52 天前
收到了巨硬的回复:
欢迎咨询 Microsoft 社区,很荣幸有机会为您提供协助。
非常抱歉得知您遇到了 “域名 TCP 流量被劫持” 的问题!但非常遗憾,您遇到的异常问题与 Windows 操作系统自身无关,建议您联系网络运营商技术支持服务寻求帮助,同时建议您使用反病毒软件进行查杀以确保设备安全性。
欢迎您随时回复此问题,衷心感谢您对 Microsoft 产品和服务的支持。

笑嘻了
bdnet
    95
bdnet   52 天前
严格来说是 TCP 阻断
就是墙的一种表现方式
估计在测试 调整什么
bclerdx
    96
bclerdx   52 天前 via Android
@tempestissimo 巨硬说的没毛病,向你的网络运营商寻求技术支持。
bclerdx
    97
bclerdx   52 天前 via Android
刚测了下 tcp 协议下,80 端口是通断交替。
bclerdx
    98
bclerdx   52 天前 via Android
这明显是受到了干扰。
buddha
    99
buddha   51 天前   ❤️ 1
@Greatshu 中国共产党的 N 个自信的表现.
toorich
    100
toorich   51 天前
@buddha 草,不至于不至于
1  2  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3905 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 06:03 · PVG 14:03 · LAX 22:03 · JFK 01:03
♥ Do have faith in what you're doing.