boboliu

关于 /t/806309 的 Windows 网络不可用问题的一个受限但稳定的解决方案

  •  
  •   boboliu · Oct 8, 2021 · 3792 views
    This topic created in 1705 days ago, the information mentioned may be changed or developed.

    我其实早就被巨硬给我显示 No Internet 这问题所困扰,也试过很多解决方案

    看到那个帖子里面有很多改 NCSI 参数的教程,就我的经验来说,即使暂时能用,网络稍一波动也会去世,而且不可控不知道什么时候能好

    目前我使用相对最好的方案是:@dantdantmnf/NCSIOverride

    Pros:

    • 稳定可用,永远都显示有网
    • 可以应对 NCSI 请求受限,但实际到巨硬 /Adobe/其他使用 NCSI 判断有无网络的服务商网络可用的场景(如部署了WindowsSpyBlocker 的规则
    • 可以根据网卡配置行为,如有线永远显示 online,而无线继续 NCSI

    Cons:

    • 不适用于经常需要使用 http 劫持方式进行鉴权的情况(也可通过自行访问 http 链接缓解,各位应该心里都有数,不是什么大事)
    • 不适用于需要此 Indicator 判断自己有没有网的人
    • 不适用于真的没网的人(
    • 不适用于讨厌侵入式修改系统行为的人
    • 在没人发 offset 的时候需要自己(按照相当简单明了的教程)找

    如果你认为这个方案适合你,自行安装后,在 HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\NCSIOverride 配置即可,别忘了配置 offset,以及给 repo 点个 star

    这里附 21H1(19043.1266) 的 offset:1a69c

    Supplement 1  ·  Oct 8, 2021
    来自 tg @ArcaeaWS 的补充:21H2(22000.194) 的 offset:21004 (in hex)
    18 replies    2021-10-15 14:41:16 +08:00
    KagurazakaNyaa
        1
    KagurazakaNyaa  
       Oct 8, 2021
    还有一个方案,如果有使用 dnscrypt-proxy 或者 adgurad home 之类的自建 dns 服务器的,你可以将对应的域指定到自有的服务器,并自行托管一个 txt 文件来确认网络可达性
    boboliu
        2
    boboliu  
    OP
       Oct 8, 2021
    @XiLingHost #1 的确,我之前有用这个方案,在软路由上做了一个劫持,然后后来换了路由器……
    KagurazakaNyaa
        3
    KagurazakaNyaa  
       Oct 8, 2021
    @boboliu 那你可以直接写在 hosts 里,然后本地跑一个 nginx
    swulling
        4
    swulling  
       Oct 8, 2021
    正确办法难道不是给微软反馈让他们换一个网址么。
    boboliu
        5
    boboliu  
    OP
       Oct 8, 2021
    @XiLingHost #3 那优雅程度就要差得多了,我是这么干过的,nginx 只是开机自启的话,比 NCSI probe 要晚,还是要手动触发一次 reprobe
    KagurazakaNyaa
        6
    KagurazakaNyaa  
       Oct 8, 2021
    @boboliu 那就 iis,虽然脏一点
    boboliu
        7
    boboliu  
    OP
       Oct 8, 2021
    @XiLingHost #6 所以我很好奇您在发出评论之前有试过么
    AllenHua
        8
    AllenHua  
       Oct 8, 2021
    改成这样还是可以的,今天刚测试成功
    [![5P58EV.png]( https://z3.ax1x.com/2021/10/08/5P58EV.png)]( https://imgtu.com/i/5P58EV)
    KagurazakaNyaa
        9
    KagurazakaNyaa  
       Oct 8, 2021
    @boboliu 我内网一直有很多服务在跑,所以我本机从来不跑这些东西,直接多开个虚拟机就行了,或者干脆多跑个 docker container
    boboliu
        10
    boboliu  
    OP
       Oct 8, 2021
    @XiLingHost #9 还是那句话,这个方案实际执行并不好用……
    baobao1270
        11
    baobao1270  
       Oct 9, 2021
    我觉得可能还是 self-host 一个 NCSI 比较好
    Mac
        12
    Mac  
       Oct 9, 2021
    1 、Win + R,输入“gpedit.msc”打开组策略控制台窗口。

    2 、依次展开“计算机配置”、“管理模板”、“系统”、“Internet 通信管理”,然后单击“Internet 通信设置”。

    3 、在详细信息窗格中,双击“关闭 Windows 网络连接状态指示器活动测试”,然后单击“已启用”。
    2i2Re2PLMaDnghL
        13
    2i2Re2PLMaDnghL  
       Oct 9, 2021
    完美的解决方案:不要用 Windows (
    titanium98118
        14
    titanium98118  
       Oct 9, 2021
    我两台 WIN10,没遇到这问题,什么情况才会出现?
    boboliu
        15
    boboliu  
    OP
       Oct 9, 2021 via Android
    @Mac 关闭
    boboliu
        16
    boboliu  
    OP
       Oct 9, 2021 via Android
    @Mac 关闭之后你就知道问题所在了,很多程序都会认为没有联网

    @2i2Re2PLMaDnghL 有一说一,确实

    @titanium98118 看脸(和网络质量)
    lynnharry
        17
    lynnharry  
       Oct 13, 2021
    感谢楼主,虽然这个方法比较麻烦,但是是我试过所有的方法中唯一有效的方法。麻烦在于 offset 每个 windows 小版本都不一样,需要自己下载 windbg 获取。repo 里面的 ps 脚本貌似还有 bug 还得修改。
    我的 21h1 19043.928 的 offset: 1a8dc
    Aceycli
        18
    Aceycli  
       Oct 15, 2021
    修改下 host 不就行了吗,怎么搞这么复杂
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3100 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 15:08 · PVG 23:08 · LAX 08:08 · JFK 11:08
    ♥ Do have faith in what you're doing.