SNSCDN 网络检查结果怎么看:PASS、FAIL 与 SKIP
SNSCDN 的 netcheck 工具用于找出一次检查中最早出现异常的位置。它不是测速工具,也不会验证订阅、客户端配置或所有地区的可用性。
下载或复制公开工具仓库后,请先进入仓库根目录。macOS 或 Linux 执行:
bash bin/netcheck.sh example.com 443
Windows PowerShell 执行:
.\bin\netcheck.ps1 example.com 443
请把 example.com 换成需要检查的公开主机名。不要使用订阅地址、带令牌的 URL、后台地址、私有 IP 或其他非公开地址。
工具不会把结果上传到 SNSCDN,但会进行正常的 DNS 查询并连接目标。DNS 解析服务和目标服务器可能看到普通的查询或连接元数据。
先确认自己运行的是哪个版本
| 行为 | macOS / Linux | Windows PowerShell |
|---|---|---|
| DNS | 使用系统中可用的解析命令 | 使用 .NET DNS 解析 |
| TCP | 系统安装 nc 时执行 | 执行,超时约 5 秒 |
| TLS | 仅端口为 443 且安装 OpenSSL 时单独显示 | 没有单独的 TLS 行 |
| HTTP | curl 发送普通请求;2xx/3xx 为 PASS | Invoke-WebRequest 发送 HEAD 请求 |
| SKIP | 缺少所需命令或 TLS 条件不满足时可能出现 | 当前不会显示 SKIP |
部分服务不接受 HEAD,所以 Windows 可能报告 403、405 或通用 HTTP 失败,而浏览器使用 GET 仍能打开。这种差异不能单独证明网站离线。
按输出从上到下判断
DNS lookup failed
本次解析没有取得目标 IP。先检查主机名拼写,再保持其他条件不变,分别使用 Wi-Fi 和移动网络测试。只有一个网络失败时,优先检查该网络或 DNS 路径;多个网络都失败时,再检查域名的公开解析状态。这一行本身不能证明服务器离线。
TCP port ... is unreachable
设备未能在限定时间内连接目标端口。原因可能位于本机防火墙、接入网络、路由、端口策略或远端服务。后续 HTTP 也可能随之失败,所以应先处理最早出现的 TCP 错误,而不是把每个失败行当成互不相关的问题。
TLS certificate received
这只表示 Bash 脚本通过 TLS 连接收到了 OpenSSL 可以解析的证书信息。该检查没有完整验证证书信任链、主机名匹配、有效期或浏览器兼容性,因此不能把这一行等同于“证书完全有效”。
如果浏览器仍显示证书警告,请另外检查设备时间、主机名、证书有效期和信任链。不要忽略证书警告,也不要通过关闭证书验证来处理。
TLS handshake or certificate check failed
Bash 脚本没有取得可解析的证书信息。主机名、网络中间设备、TLS 配置或远端服务都可能导致这一结果;不能只凭该行断定证书过期。Windows 没有独立 TLS 行,相关异常通常会出现在后面的 HTTP request failed: ... 中。
明确的 HTTP 4xx 或 HTTP 5xx
只有工具收到了明确的 HTTP 状态码,才能确认请求到达了 HTTP 层。4xx 通常表示请求被拒绝或不符合端点要求;5xx 表示服务端未能正常处理。它们不等于“网络完全不通”。
Bash 版本会把 2xx/3xx 显示为 PASS,把其他明确状态码显示为 FAIL。它不会自动跟随重定向,所以 [PASS] HTTP 301 或 302 只表示收到了重定向响应,不证明跳转目标可用。Windows 版本使用 HEAD,并可能把非成功状态放进异常摘要。
通用的 HTTP request failed
这不是“已经到达 HTTP 服务”的证据。DNS、TCP、TLS、超时、连接中断、不接受 HEAD 或非成功状态都可能产生通用失败。PowerShell 版本应先阅读同一行的异常摘要;Bash 版本不会显示 curl 的错误摘要,应回看上方最早出现的 DNS、TCP 或 TLS 结果。
[SKIP] 与最后一行 [PASS]
[SKIP] 表示这一项没有执行,不表示检查通过。Bash 脚本只统计 [FAIL];即使上方有 [SKIP],最后仍可能显示 [PASS] No blocking problem detected。因此必须先查看所有项目,不能只看最后一行。Windows 版本当前没有 SKIP 输出。
全部可用项目显示 PASS,也只代表这一次检查没有发现阻断性问题。它不测带宽,不验证客户端设置,也不能证明其他网络、地区、时间或线路都稳定。需要更完整的排查时,请继续阅读连接故障与工单指南。
安全整理工单信息
建议只提供:
- 设备系统和版本;
- 网络类型,例如家庭 Wi-Fi 或移动网络;
- 测试日期、时间和时区;
- 使用的公开主机名与端口;
- 每项的
[PASS]、[FAIL],以及 Bash 版本可能出现的[SKIP]; - 同一时间浏览器或客户端显示的简短错误。
分享前删除解析出的 IP、完整 URL、证书详情、账户邮箱、订单资料、订阅地址、二维码、访问令牌和其他凭据。PowerShell 的异常摘要也可能包含 URL 或内部信息,必须先检查并遮盖。不要把完整日志粘贴到公开 Issue、论坛或群聊;账户、订单和订阅问题应通过登录后的工单提交。