Skip to content

怎么看代理客户端日志:定位连接失败的原因 ​

结论先说:连不上时先打开客户端的“日志”页面,把日志级别调到 info,复现一次失败,然后找带 error、warn 的行,按其中的关键词(timeout、handshake、x509、no such host 等)对照本文第 4 节判断原因。看完就把级别调回去,分享给别人前务必遮挡订阅地址和服务器信息。

实机核验与界面说明(核验日期:2026-10-09)

本文已基于最新主流客户端完成日志检索与排障流程的实机核验。

1. 日志能告诉你什么 ​

日志是客户端和内核在运行时写下的记录,每一行通常包含:时间、级别、事件内容。连接相关的行一般会写明:

  • 哪个程序或地址发起了连接(来源);
  • 要访问的目标域名和端口;
  • 命中了哪条规则、走了哪个代理组或节点;
  • 如果失败,失败在哪一步、报了什么错。

所以日志能帮你区分几类完全不同的问题:节点连不上、节点能连但握手失败、域名解析失败、规则把流量送错了地方。这些问题的处理方法完全不同,仅凭“打不开网页”这一现象很难区分。

2. 各客户端的日志入口 ​

客户端日志在哪里看日志级别在哪里调
Clash Verge Rev左侧导航「日志」页面「设置」中 Clash 相关设置的「日志等级」;另有「应用日志等级」
v2rayN主界面下方的信息区域「设置」→「参数设置」中的「启用日志」「日志等级」「启用日志存到文件」
v2rayNG侧边菜单中的「Logcat」设置中的「日志级别」
FlClash「工具」中先打开「日志捕获」,再进入「日志」设置中的「日志等级」
Hiddify「日志」页面,可「分享核心日志」「分享应用日志」「设置」→「通用」→「日志级别」
Shadowrocket / Stash应用内的日志或请求记录页面(位置以当前版本为准)以应用设置为准

几点补充:

  • Clash Verge Rev 的「日志」页面支持按时间正序或倒序显示;设置的高级部分有「日志目录」按钮,可以直接打开日志文件夹。界面说明「日志等级」仅对日志目录中 Service 文件夹下的内核日志文件生效。
  • v2rayN 开启「启用日志存到文件」后,日志会保存在程序文件夹中,适合需要发给别人看的情况。
  • FlClash 的「日志捕获」关闭时会隐藏日志入口,排查前先打开;日志可以导出。
  • v2rayNG 的 Logcat 页面提供刷新、复制、清除和分享日志的按钮。

3. 日志级别怎么选 ​

不同内核的级别名称略有差别,但含义相同,从少到多大致是:

级别记录内容什么时候用
silent / none不记录不建议,出问题时没有线索
error只记录错误平时可用
warning / warn错误 + 警告日常推荐
info加上每条连接走了哪条规则、哪个节点排查问题时用
debug / trace非常详细的调试信息只在开发者或客服要求时开

排查时的标准做法:

  1. 把级别调到 info;
  2. 清空现有日志(如客户端提供“清除”按钮);
  3. 复现一次失败,例如打开那个打不开的网站;
  4. 立即查看或导出日志;
  5. 排查完把级别调回 warning。info 和 debug 会产生大量记录,长期开着会占用资源,手机上还会更耗电。

4. 常见报错关键词对照 ​

下面的关键词来自常见内核(mihomo、Xray、sing-box)的英文报错,不同客户端措辞会略有差异,抓住核心词即可。

超时:节点连不上 ​

常见写法:i/o timeout、context deadline exceeded、dial tcp ... timeout、connect timed out

含义:客户端在规定时间内没能连上节点服务器。可能是节点故障、本地网络对该线路不通,或套餐已到期导致服务端拒绝。

怎么办:换几个不同地区的节点对比。全部超时看 机场所有节点都超时,应该按什么顺序排查;只有部分超时看 部分节点连不上、其他节点正常怎么办。

连接被拒绝或被重置 ​

常见写法:connection refused、connection reset by peer、EOF、unexpected EOF、broken pipe

含义:能找到服务器,但连接被对方拒绝或中途断开。常见于节点端口变更、节点维护、协议参数与服务端不一致(订阅过期没有更新)。

怎么办:先更新订阅再试;仍失败且集中在某几个节点,属于节点问题,联系机场。频繁出现在使用过程中,看 代理频繁断线怎么排查。

握手失败 ​

常见写法:handshake failed、tls: handshake failure、failed to handshake、invalid user、authentication failed

含义:连上了服务器,但在加密协商或身份验证阶段失败。常见原因有:

  • 系统时间不准:部分协议(例如 VMess)对时间敏感,设备时间偏差较大会导致验证失败;
  • 订阅中的账号信息已失效:重置过订阅或套餐变更后没有更新;
  • 客户端内核不支持该协议参数:客户端版本太旧。

怎么办:把设备时间设为自动同步,更新订阅,再把客户端升级到最新版。

证书错误 ​

常见写法:x509: certificate has expired or is not yet valid、x509: certificate signed by unknown authority、certificate is valid for ..., not ...

含义:TLS 证书校验没有通过。“expired or is not yet valid”最常见的原因是设备时间错误;其余情况多是节点证书或域名配置问题。

怎么办:先校准设备时间。时间正确仍报错,属于机场侧配置问题,按 向机场客服反馈故障,应该提供哪些信息 整理信息反馈。不要为了绕过报错去开启“跳过证书验证”一类选项,这会降低连接安全性。

DNS 解析失败 ​

常见写法:no such host、lookup ... failed、dns resolve failed、server misbehaving、all DNS requests failed

含义:域名没能解析成 IP 地址。可能发生在两个地方:解析节点服务器的域名失败(表现为所有节点不可用),或解析要访问的网站失败(表现为部分网站打不开)。

怎么办:先把客户端的 DNS 设置恢复默认,关闭其他会修改 DNS 的软件。原理见 DNS 是什么?代理里的 DNS 设置怎么理解,表现为“已连接但打不开”时看 显示已连接但打不开网页怎么办。

规则匹配:流量走错了地方 ​

这类日志不是报错,而是 info 级别下每条连接的记录。以 mihomo 内核为例,大致格式是:

text
[TCP] 来源地址 --> example.com:443 match DomainSuffix(example.com) using 节点选择[某节点]

意思是:访问 example.com 的连接命中了 DomainSuffix 规则,交给“节点选择”组里的某个节点处理。看这类记录可以回答:

  • 某网站打不开,是不是被规则送去了直连(DIRECT)或拦截(REJECT);
  • 是否命中了兜底规则(MATCH / Final),说明前面没有专门规则;
  • 流媒体、AI 服务是否走了你预期的代理组。

怎么办:规则不符合预期时,按 代理客户端的规则与分流怎么设置 调整;只有部分网站异常时看 开了代理后部分网站打不开怎么办。

其他常见提示 ​

关键词含义处理方向
address already in use、bind: ...本地端口被其他程序占用关闭其他代理客户端,或修改客户端端口
permission denied、需要管理员权限TUN 或服务缺少权限见 代理客户端 TUN 模式怎么开
订阅下载返回 403、404 或解析失败订阅链接失效或格式不对见 订阅更新失败怎么办

5. 分享日志前先遮挡敏感信息 ​

向机场客服或在社区求助时,日志很有用,但原始日志可能包含敏感信息:

需要遮挡的内容为什么
订阅地址(含 token 的完整链接)别人拿到就能使用你的套餐
节点服务器地址、端口、UUID、密码属于你账号的连接凭据
本机局域网 IP、公网 IP涉及个人网络信息
访问过的网站域名涉及个人隐私,只保留与问题相关的几行

做法建议:

  1. 只截取相关片段:复现前清空日志,只发失败前后的几十行;
  2. 逐项替换:把订阅 token、服务器地址、UUID 替换成 ***,节点名称可以保留;
  3. 截图也要检查:截图中的订阅卡片、节点详情同样可能露出地址;
  4. 发给机场客服时:通过工单等官方渠道发送,不要发到公开群里。

万一已经把订阅地址发了出去,按 订阅链接泄露了怎么办 立即重置。整理求助信息的完整清单见 向机场客服反馈故障,应该提供哪些信息。

相关阅读 ​