从 TCP 三次握手看代理连接超时的各阶段报错 (EOF/Timeout)
#TCP握手#超时报错#诊断思路
阅读需 5 分钟||
当你打开 代理运行日志 时,往往会被铺天盖地的各类报错信息所淹没。诸如 i/o timeout、connection refused 和 EOF 是最常见的“罪犯”。如果能从底层 TCP 通信的视角去解读,排除故障将事半功倍。
1. i/o timeout:迟迟等不到回音
这是绝大多数断流最典型的表现,意味:您的设备向网络发出去了信号,但在长达数秒钟甚至数十秒后,犹如泥牛入海,什么都没回来。
- 底层原因:如果在
TCP SYN(握手的第一次发包阶段)就遇到这个报错,说明去程的链路断了,或者防火墙进行了一种“黑洞屏蔽”,只吃包不吐渣;如果在传输中途突然超时,通常是因为极差的物理线路或者中间网关静默清空了会话追踪表。 - 对策:更换运营商测试或者寻求质量更好的专线机场。
2. connection refused (连接被拒)
不同于超时,这种报错是系统非常干脆利落地告诉您“对方明确挂断了您的电话”。
- 底层原因:您的数据包确实抵达了目标服务器(或至少抵达了某个防火墙网关),但那个 IP 上根本没有监听对应端口(比如您机场由于欠费停机了服务端进程,但 IP 还活着);或者您因为误设了内网回环规则,把发往本地的一个不存在的端口交由内核处理而直接弹回。
- 对策:检查您的订阅端口配置是否正确,核实服务商是否维护关机。
3. EOF (End of File) 或 Reset (RST 阻断)
这是翻墙环境中最凶险的一类报警。它表示链路在传输到一半或者正准备建立加密验证时,被强硬地掐断。
- 底层原因:如果在极短时间内反复跳出大量 EOF,通常是由于您的 TLS 证书已过期,或者遭遇到国家级防火墙的深度包检测 (DPI) 判定为非法流量后,被审查网关强行向双方下发了 RST(重置)截断包。
- 对策:请立刻停止高频次测速及该节点的重试连接,这很可能触发严重的长效封锁。立即切换使用更加先进的新一代伪装协议线路暂避风头。