国行 Switch 停服之后,如何联网

2026-11-01 04:400 条评论2 次阅读

5 月 15 日 22:00 之后,我那台国行 Switch 就没再连上过网。

设置里的「互联网」挂着一个红叉,点任何联网相关的东西都会弹「需要连接互联网」。卡带照玩,存档都在,可每次开机都要先看一眼那个红叉。

5 个多月后我受不了了,决定搞清楚它到底在判断什么。

连接失败,互联网一项亮着红叉

一、先说结论

这个工具只做一件事:在局域网里伪造连接自检的响应,让主机不再误判自己断网。

它不复活已经关掉的服务。

能 说明
✅ 消除「互联网:未连接」红叉 3 格自检全部通过
✅ 消除「需要连接互联网」类弹窗 部分游戏的前置联网检查会放行
✅ 记录主机在找哪些服务 便于确认边界
❌ 恢复 eShop 服务端已下线,无内容可取
❌ 下载游戏更新、补丁 更新通道同样绑在已注销的域名上
❌ 在线联机、排行榜 服务器不存在
❌ 云存档 国行从未提供过

那 4 个 ❌ 与保守无关,物理上就做不到。原因在第五节。

二、我先搭了个透明的观察窗

不用破解,不改固件。在 PC 上起一个 HTTP 代理,把主机的 Wi-Fi 设置里的代理指过去。

连接自检走的是明文 HTTP,所以代理能直接看到目标域名,也能直接伪造响应。这里连证书都不用装。

一个对照值得记住:如果自检走的是 HTTPS,这条观察窗就完全不存在。零售机装不了根证书,任何本地中间人都过不了主机的校验。

整个方案只能停在明文这一层,边界是协议本身划的。

三、答案比想象中小得多

主机向 http://ctest.cdn.n.nintendoswitch.cn/ 发一个 GET,它只认 4 项:

HTTP/1.1 200 OK
Content-Type: text/plain
X-Organization: Nintendo
Content-Length: 2

ok

状态码 200,响应体恰好是 ok 这 2 个字节、不带换行,Content-Type 是 text/plain 且不能带 ; charset=...,最后一个 X-Organization: Nintendo。

第 4 项最容易漏,漏了也不会立刻失败。主机每 3 秒重试一次,一直重试下去。

ctest.cn  伪造 200,缺 X-Organization
ctest.cn  伪造 200,缺 X-Organization
ctest.cn  伪造 200,缺 X-Organization

我第一次跑就漏了这项,日志里 60 多次重试的间隔稳定在 3 秒。补上这一行,重试立刻停,自检转绿。

一个响应头字段决定一台主机的判断,听着脆弱。但对用户来说它只是「网连上了」,对主机来说这就是全部证据。

伪造的只是这一小段。主机拿到 200 之后会立刻往深处走,那里是我伪造不了的地方:

ctest...cn:80 明文

dauth / sun / aqua :443

主机发起联网检查

要看哪个域名

本地回 200 加 ok

3 格自检全绿

HTTPS 设备认证

证书由腾讯签发,服务端已消失

原理上不可伪造

四、主机在找谁

连接测试、软件更新、系统更新,3 种触发方式都跑了一遍。主机发出的请求一共 6 条:

目标 用途 现状
ctest.cdn.n.nintendoswitch.cn:80 连接自检(明文) 域名已注销,可伪造
api.hac.lp1.ctest.srv...cn:443 自检第二轮校验 域名已注销
sun.hac.lp1.d4c...cn:443 系统更新元数据 域名已注销
aqua.hac.lp1.d4c...cn:443 更新必须性判定 域名已注销
Service-status-lp1.cdn...cn:443 服务状态查询 域名已注销
dauth-lp1.ndas.srv...cn:443 设备与账号认证 域名已注销

关键一条:全程没有出现任何 *.nintendo.net 请求。

任天堂全球 CDN 在境内解析正常,但国行主机从不向它们发请求。它整条链路都指向腾讯自建的服务,而那些服务 5 月 15 日就关了。

这个观察直接堵死一条流传很广的路:把流量改道到全球服务器。主机压根不知道那些地址。

五、撞墙:362 毫秒和 24 个字节

自检通过后,主机会紧接着去 dauth-lp1.ndas.srv.n.nintendoswitch.cn:443 做设备认证。这一步是 HTTPS。

有人会问:那把 .cn 域名指到任天堂的全球节点,不就行了?

这个实验我真做过。在 PC 上起透明转发,把 sun.hac.lp1.d4c.n.nintendoswitch.cn:443 映射成 sun.hac.lp1.d4c.nintendo.net:443,TCP 直连任天堂真实节点,不做任何 TLS 中间人。主机看到的就是任天堂服务器原样吐出来的字节。

517B   主机发  ClientHello,SNI=cn
2769B  服务器回  证书整趟,慢 4.2 秒
24B    主机发  AppData,362 毫秒后
连接关闭

24 字节是判据。

TLS 1.3 的记录格式是 5B 头 + AEAD(内容 + 1B 类型) + 16B tag:

主机若在发什么 算式 长度
加密 Alert(证书被拒) 5 + 1 + 1 + 1 + 16 24
Finished(握手第 1 步) 5 + 32 + 1 + 16 54
Finished 加 HTTP 请求 54 加 300 以上 350+

实测上行 541 字节,正好是 517 加 24。服务器回的 2769 字节是证书那一整趟。

结论写得出来:主机完整收到了证书,用 362 毫秒校验完,判定不受信任,发一个加密的告警就断开。它没发过 Finished,更没发过 HTTP 请求。

那 2769 字节里装的是什么?拿同一个 .cn 的 SNI 直连该节点,取到的证书是 Akamai 的兜底证书,SAN 全是 *.akamaihd-staging.net 这类。任天堂节点按 SNI 找不到 .cn 的证书,回落成一张与请求主机名完全无关的证书。

地址能换,证书换不了。任天堂 CDN 的证书由自家私有 CA 签发,根证书只内置在主机固件里。公网证书、自签证书、本地中间人,主机一律不认。

到这一步我把 4 层全试了一遍:

层 需要什么 结果
区域标志 固件切到全球分支 锁死「中国大陆」,界面灰色不可改
DNS *.nintendoswitch.cn 可解析 记录已清空,任意子域返回 NXDOMAIN
TLS 目标持有国行域名的有效证书 节点证书 SAN 只有 *.cdn.nintendo.net
内容 国行签名的系统包 海外包与国行包不可混用

4 层没有一层能在局域网内绕过去。

六、那个「升到 23」的传说

国行停在 19.0.2,2026 年 1 月发布的最后一版。海外现在是 23.0.1,10 月 1 日发的。

中间隔了 4 个大版本。

网上有不少教程说国行能升到 23。我挑了 2 篇流传最广的读了原文,结论是它们全是破解机操作,第一步是改固件里的区域标志,与换服务器地址无关。

原文写得很直白:「国行机器需要先转换为国际版之后再升级,不然会成砖」。另一篇给的窗口是 19.0.1,与我这台同版本。

所以「他能升」不等于「换地址能升」。

判断一张教程真假,看有没有这 5 个特征,出现任一项就是破解路线:

出现 意味着
大气层 / Atmosphere / hekate / fusee 自定义固件
emuMMC / SysNAND / 备份 NAND 承认有变砖风险
Tencent-switcher / 转区 / 全球版本 改的是区域标志
「离线固件包」「整合包」 系统包来自非官方来源
「先转区再升级」 与官方通道无关

区域标志为什么动不了?Switch 的 CDN 地址是 {server}.hac.{env}.{serverset}.{host},host 二选一:nintendo.net 或 n.nintendoswitch.cn。

国行机的区域固定在中国大陆,这个分支是编译进系统的。改 DNS 改不了主机要拼的字符串。

还有个副作用值得提一句。要求最低系统 20.0 的海外卡带,在国行机上跑不起来。卡带里确实带着 20.0 的系统包,可两边的包互不通用,插卡只会提示「需要更新主机」然后失败。

七、4 条路,代价不对称

路径 成本 得到 失去
就地当单机 0 卡带、已下载数字版、本地联机全在 线上功能永久缺失
二手海外版 OLED 千元级 23.x、eShop、联机、云存档 数字版需重买,卡带通用
Switch 2 三千元级 同上加新作 同上
破解加转区 违法、失保、变砖无官方修复 23.x、能跑新作 机内已下载的国行数字版可能全部失效,而且永久无法重下

这张表里最想说的一句是:代价不对称。

赌掉的是「已经无法重新获取」的资产,换来的是「能玩更新的卡带」。前者不可逆,后者有更便宜的替代方案。

收尾

这个工具 600 行,纯标准库,38 个测试。代码在 GitHub 上,仓库名 switch-net-fix。
Github: https://github.com/chengjungao/switch-net-fix
无法访问GitHub的国内用户点击:https://gitee.com/chengjungao/switch-net-fix

它做的事只有一件:在局域网里回一个几十字节的响应,让主机别再把「服务没了」当成「网线没插」。

我的 Switch 现在 3 格全绿,卡带照玩。eShop 是不会回来了,联机也不会。

但每次开机,不用再看那个红叉。

连接成功,3 格全部通过