怎么判断一家机场是否靠谱与防跑路:从 TCP 重传抓包到 ASN 溯源的全链路选型实战
以真实 504 网关超时与 TCP SYN 重传故障为切入点,用 Wireshark 抓包、mtr 路由追踪、ASN 溯源与 iperf3 压测,拆解判断一家机场是否靠谱与防跑路的 8 个硬核工程指标,附完整配置与自检清单。
判断一家机场是否靠谱,核心看三点:一是链路是否为真 IEPL/IPLC 内网专线(用 mtr 看中间跳数是否为内网 10.x/172.16.x 段,而非公网 163/4134 骨干);二是晚高峰 20:00-23:00 的 TCP 重传率是否低于 1%(用 ss -ti 看 retrans 字段);三是运营年限与 ASN 主体是否可溯源、是否支持月付而非仅年付。满足这三条的机场跑路概率极低。
怎么判断一家机场是否靠谱与防跑路:从 TCP 重传抓包到 ASN 溯源的全链路选型实战
上周三晚上 21:47,我正用某机场节点拉一个 GitHub 上 2.3GB 的 Docker 镜像。docker pull 卡在 47% 整整六分钟不动,终端最终抛出:
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout
切到 curl 复现,拿到更精确的错误码:
$ curl -v --connect-timeout 10 https://registry-1.docker.io/v2/
* Trying 44.208.x.x:443...
* Connected to registry-1.docker.io (44.208.x.x) port 443
* TLSv1.3 (OUT), TLS handshake, Client hello (1)...
* Operation timed out after 10001 milliseconds with 0 bytes received
curl: (28) Connection timed out after 10001 milliseconds
curl: (28) 是连接超时,但注意——TCP 三次握手已经完成(Connected to),卡在 TLS Client Hello 之后没有任何响应。这不是简单的”节点挂了”,而是链路层有丢包导致 TLS 握手包被吞。我当场开 Wireshark 抓包,看到了教科书级的 TCP SYN 重传:
No. Time Source Destination Protocol Info
1 0.000000 192.168.1.100 10.20.30.40 TCP 54321 → 443 [SYN] Seq=0 Win=64240 Len=0 MSS=1460
2 1.001234 192.168.1.100 10.20.30.40 TCP [TCP Retransmission] 54321 → 443 [SYN] Seq=0 Win=64240
3 3.003456 192.168.1.100 10.20.30.40 TCP [TCP Retransmission] 54321 → 443 [SYN] Seq=0 Win=64240
4 7.007890 192.168.1.100 10.20.30.40 TCP [TCP Retransmission] 54321 → 443 [SYN] Seq=0 Win=64240
SYN 包以 1s、2s、4s 的指数退避重传,全程没有收到 SYN-ACK。这就是典型的晚高峰机场入口拥塞——SYN 包在机场内网入口被丢弃。这篇文章,我就从这次真实故障出发,把”怎么判断一家机场是否靠谱与防跑路”这件事,拆成可量化、可复现、可自动化的工程流程。
一、先建立认知:机场”靠谱”到底由哪些物理层与商业层因素决定
很多人判断机场只看”快不快”,这是最外行的做法。速度只是结果,决定速度的是链路类型、带宽超售比、出口质量;决定”防跑路”的是运营年限、收款方式、主体可溯源性。我把这两层拆成六个维度:
| 维度 | 具体指标 | 靠谱阈值 | 危险阈值 |
|---|---|---|---|
| 链路类型 | 是否 IEPL/IPLC 内网专线 | 中间跳为 10.x/172.16.x 私有段 | 全程公网 202.97/219.158 骨干 |
| 晚高峰丢包 | 20:00-23:00 TCP 重传率 | < 1% | > 5% |
| 带宽超售 | 单用户实测 / 标称带宽 | > 60% | < 20% |
| 运营年限 | 域名 whois 注册时间 | > 2 年 | < 6 个月 |
| 收款方式 | 是否支持月付 | 支持月付 | 仅年付/仅 USDT |
| 主体可溯源 | ASN、TG 群、客服响应 | 可查、响应 < 2h | 全部匿名、失联 |
这六个维度里,链路类型和晚高峰丢包是技术硬指标,运营年限和收款方式是商业硬指标。技术指标决定你用得爽不爽,商业指标决定你的钱安不安全。下面逐层拆。
二、链路层抓包定位:用 mtr 和 Wireshark 识别真假 IEPL 专线
2.1 mtr 追踪:一眼看穿公网中转 vs 内网专线
判断机场是否真专线,最快的工具是 mtr(My Traceroute),它结合了 ping 和 traceroute,能持续统计每一跳的丢包率。
Linux 安装:
# Debian/Ubuntu
sudo apt update && sudo apt install -y mtr-tiny
# CentOS/RHEL
sudo yum install -y mtr
对机场节点 IP 做 100 次探测,输出报告模式:
mtr -rwzbc 100 10.20.30.40
参数解释:-r 报告模式、-w 宽输出、-z 显示 ASN、-b 显示 IP 和域名、-c 100 探测 100 次。
真 IEPL 专线的典型输出(注意中间的私有地址段):
Start: 2026-10-05T21:50:00+0800
HOST: my-laptop Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.1.1 0.0% 100 1.2 1.3 0.9 4.1 0.5
2.|-- 100.64.0.1 0.0% 100 3.5 3.8 2.1 8.9 1.2 AS0 CGNAT
3.|-- 10.0.0.1 0.0% 100 5.1 5.4 3.2 12.0 1.8 AS0 Private
4.|-- 172.16.8.1 0.0% 100 8.2 8.5 6.1 15.3 2.1 AS0 Private
5.|-- 10.20.30.40 0.0% 100 12.1 12.4 10.2 18.7 2.3 AS0 Private
关键特征:第 3-5 跳全是 10.x、172.16.x 私有地址,跳数少(5 跳),全程 0% 丢包。这是运营商内网专线的铁证——数据包根本没上公网。
公网中转机场的典型输出(晚高峰拥塞):
Start: 2026-10-05T21:52:00+0800
HOST: my-laptop Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.1.1 0.0% 100 1.1 1.2 0.8 3.9 0.4
2.|-- 100.64.0.1 0.0% 100 4.2 4.5 2.0 9.1 1.5 AS0 CGNAT
3.|-- 202.97.12.1 2.0% 100 15.3 18.2 12.1 45.6 6.2 AS4134 CHINANET
4.|-- 202.97.50.1 15.0% 100 45.2 68.3 30.1 210.4 38.5 AS4134 CHINANET
5.|-- 202.97.90.1 22.0% 100 88.1 120.5 60.2 320.8 55.1 AS4134 CHINANET
6.|-- 219.158.16.1 18.0% 100 110.3 145.2 80.1 380.2 62.3 AS4837 CHINA169
7.|-- 10.20.30.40 20.0% 100 150.2 180.6 100.3 420.5 70.1 AS0 Private
关键特征:第 3-6 跳是 202.97.x(电信 163 骨干)、219.158.x(联通 169 骨干),丢包率从 2% 一路飙到 22%。这就是公网中转——数据包走的是公共骨干网,晚高峰被其他流量挤爆。
2.2 Wireshark 抓包:定位丢包发生在哪一段
mtr 告诉你”哪一跳丢包”,Wireshark 告诉你”丢的是什么包、为什么丢”。回到文章开头那次故障,我抓包后做了 TCP 流分析:
在 Wireshark 中过滤:
tcp.flags.syn == 1 && tcp.flags.ack == 0
看到 SYN 重传后,进一步看整个 TCP 流:
tcp.stream eq 0
发现 TLS Client Hello 发出后,服务端没有任何 ACK。这说明机场出口到目标服务器这一段丢包,或者机场内网对 TLS 握手包做了 QoS 降级。
用 ss 看本地 TCP 统计(Linux):
ss -ti dst 10.20.30.40
输出:
ESTAB 0 0 192.168.1.100:54321 10.20.30.40:443
cubic wscale:7,7 rto:204 rtt:45.2/12.1 ato:40 mss:1460 pmtu:1500
rcvmss:1460 advmss:1460 cwnd:10 bytes_sent:1204 bytes_acked:1204
bytes_received:0 segs_out:8 segs_in:1 data_segs_out:3 data_segs_in:0
send 2.5Mbps lastsnd:1200 lastrcv:1200 lastack:1200
pacing_rate 5.0Mbps delivery_rate 1.2Mbps
busy:1200ms unacked:3 retrans:3/8 lost:3
注意最后一行:retrans:3/8 lost:3——8 个发送段里有 3 个重传、3 个丢失,重传率 37.5%。cwnd:10 拥塞窗口被压到 10 个 MSS,delivery_rate 1.2Mbps 实际投递速率只有 1.2Mbps。这就是晚高峰机场入口拥塞的完整证据链。
2.3 Windows 下的等价操作
Windows 没有 ss,用 PowerShell 和内置工具:
# 查看 TCP 重传统计
netstat -s -p tcp | Select-String "Segments Retransmitted"
# 输出示例:
# Segments Retransmitted = 1247
# Segments Received = 58234
重传率 = 1247 / 58234 ≈ 2.1%,偏高。
Windows 上做路由追踪用 pathping(比 tracert 更能反映丢包):
pathping -n -q 100 10.20.30.40
-n 不解析域名、-q 100 每跳探测 100 次。输出会给出每跳的丢包百分比,和 mtr 类似。
三、传输层深挖:TCP 重传率、RTT 抖动与拥塞窗口的工程判读
3.1 三个核心指标
判断机场线路质量,盯住三个 TCP 层指标:
指标一:重传率(Retransmission Rate)
# 全局累计重传
nstat -az TcpRetransSegs TcpOutSegs
输出:
TcpRetransSegs 8421 0.0
TcpOutSegs 1248930 0.0
重传率 = 8421 / 1248930 ≈ 0.67%,正常。
指标二:RTT 抖动(Jitter)
用 ping 连续测 100 次,看标准差:
ping -c 100 -i 0.2 10.20.30.40 | tail -3
输出:
--- 10.20.30.40 ping statistics ---
100 packets transmitted, 100 received, 0% packet loss, time 19845ms
rtt min/avg/max/mdev = 42.1/45.3/89.2/8.4 ms
mdev(平均偏差)8.4ms 说明抖动不大。如果 mdev 超过 avg 的 50%,说明链路不稳定。
指标三:拥塞窗口(cwnd)
ss -ti 输出里的 cwnd 反映 TCP 认为的可用带宽。cwnd:10 太小(10 个 MSS ≈ 14.6KB),说明链路拥塞严重;健康专线 cwnd 通常在 100+。
3.2 用 iperf3 压测真实带宽
机场标称”1000Mbps 大带宽”,实际能跑多少?用 iperf3 多线程压测:
# 安装
sudo apt install -y iperf3
# 8 线程并发,持续 30 秒
iperf3 -c speedtest.node.example.com -P 8 -t 30
输出:
[SUM] 0.00-30.00 sec 892 MBytes 249 Mbits/sec sender
[SUM] 0.00-30.00 sec 885 MBytes 247 Mbits/sec receiver
8 线程跑出 247Mbps,如果标称 1000Mbps,实际达成率 24.7%——严重超售。健康机场晚高峰达成率应 > 60%。
对比单线程:
iperf3 -c speedtest.node.example.com -P 1 -t 30
如果单线程只有 30Mbps 而 8 线程 247Mbps,说明机场对单连接做了限速,多线程才能跑满。
四、商业层溯源:ASN、whois、运营年限的交叉验证
技术指标能判断”现在好不好用”,商业指标才能判断”会不会跑路”。
4.1 ASN 溯源:节点 IP 到底属于谁
用 ipinfo.io 或 whois 查节点 IP 归属:
curl -s "https://ipinfo.io/10.20.30.40/json"
输出:
{
"ip": "10.20.30.40",
"city": "Frankfurt",
"region": "Hesse",
"country": "DE",
"loc": "50.1109,8.6821",
"org": "AS9009 M247 Europe SRL",
"timezone": "Europe/Berlin"
}
AS9009 M247 是知名 IDC,说明机场租用了正规机房。如果 org 字段是空的或显示为未知小 ASN,需警惕。
批量查节点 ASN:
for ip in $(grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' nodes.txt); do
echo -n "$ip -> "
curl -s "https://ipinfo.io/$ip/org"
echo
done
4.2 域名 whois:运营年限是防跑路第一指标
查机场官网域名的注册时间:
whois example-airport.com | grep -iE "creation|created|registrar"
输出:
Creation Date: 2021-03-15T08:22:11Z
Registrar: NameCheap, Inc.
2021 年注册,运营 5 年,相对可靠。如果是 2025 年注册的新域名配上年付促销,跑路风险极高。
4.3 主体交叉验证清单
| 检查项 | 靠谱表现 | 危险表现 |
|---|---|---|
| 官网域名注册时间 | > 2 年 | < 6 个月 |
| TG 群运营时长 | 群消息可追溯到 1 年前 | 新建群、禁言 |
| 客服响应 | 工单/TG 2 小时内回复 | 长期失联 |
| 支付方式 | 支付宝/微信/信用卡 | 仅 USDT/仅加密货币 |
| 节点 ASN | 知名 IDC(M247、Hetzner 等) | 匿名小 ASN |
| 订阅域名 | 多域名轮询 | 单一域名,被墙后失联 |
五、完整实战配置:Clash Verge / Sing-box 多机场冗余与自动故障转移
单机场再靠谱也有风险,工程上的正确做法是多机场冗余 + 自动故障转移。下面给出完整可复用的 Clash Verge 配置。
5.1 Clash Verge 多机场 proxy-providers 配置
port: 7890
socks-port: 7891
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
unified-delay: true
tcp-concurrent: true
find-process-mode: strict
global-client-fingerprint: chrome
profile:
store-selected: true
store-fake-ip: true
dns:
enable: true
listen: 0.0.0.0:1053
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "*.local"
- "time.*.com"
- "stun.*.*"
default-nameserver:
- 223.5.5.5
- 119.29.29.29
nameserver:
- https://doh.pub/dns-query
- https://dns.alidns.com/dns-query
fallback:
- https://1.1.1.1/dns-query
- https://8.8.8.8/dns-query
fallback-filter:
geoip: true
geoip-code: CN
ipcidr:
- 240.0.0.0/4
proxies:
- name: "光速云-香港IEPL-01"
type: ss
server: hk01.guangsuyun.example.com
port: 443
cipher: aes-256-gcm
password: "your-password-here"
udp: true
- name: "飞猫云-日本专线-01"
type: vmess
server: jp01.feimaoyun.example.com
port: 443
uuid: "your-uuid-here"
alterId: 0
cipher: auto
tls: true
servername: jp01.feimaoyun.example.com
network: ws
ws-opts:
path: "/ws"
headers:
Host: jp01.feimaoyun.example.com
udp: true
proxy-providers:
guangsuyun:
type: http
url: "https://sub1.guangsuyun.example.com/api/v1/client/subscribe?token=xxx"
interval: 3600
path: ./providers/guangsuyun.yaml
health-check:
enable: true
url: https://www.gstatic.com/generate_204
interval: 300
timeout: 3000
lazy: false
override:
udp: true
feimaoyun:
type: http
url: "https://sub1.feimaoyun.example.com/api/v1/client/subscribe?token=yyy"
interval: 3600
path: ./providers/feimaoyun.yaml
health-check:
enable: true
url: https://www.gstatic.com/generate_204
interval: 300
timeout: 3000
lazy: false
override:
udp: true
proxy-groups:
- name: "🚀 节点选择"
type: select
proxies:
- "♻️ 自动选择"
- "🇭🇰 香港节点"
- "🇯🇵 日本节点"
- "🇺🇸 美国节点"
- DIRECT
- name: "♻️ 自动选择"
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 50
lazy: false
use:
- guangsuyun
- feimaoyun
- name: "🇭🇰 香港节点"
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 50
filter: "(?i)(香港|HK|Hong)"
use:
- guangsuyun
- feimaoyun
- name: "🇯🇵 日本节点"
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 50
filter: "(?i)(日本|JP|Japan)"
use:
- guangsuyun
- feimaoyun
- name: "🇺🇸 美国节点"
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 50
filter: "(?i)(美国|US|United)"
use:
- guangsuyun
- feimaoyun
- name: "🎯 全球直连"
type: select
proxies:
- DIRECT
- name: "🛑 广告拦截"
type: select
proxies:
- REJECT
- DIRECT
- name: "🐟 漏网之鱼"
type: select
proxies:
- "🚀 节点选择"
- DIRECT
rules:
- GEOIP,LAN,DIRECT,no-resolve
- GEOIP,CN,DIRECT
- DOMAIN-SUFFIX,openai.com,🚀 节点选择
- DOMAIN-SUFFIX,anthropic.com,🚀 节点选择
- DOMAIN-SUFFIX,github.com,🚀 节点选择
- DOMAIN-SUFFIX,githubusercontent.com,🚀 节点选择
- DOMAIN-SUFFIX,google.com,🚀 节点选择
- DOMAIN-SUFFIX,youtube.com,🚀 节点选择
- DOMAIN-KEYWORD,netflix,🚀 节点选择
- MATCH,🐟 漏网之鱼
这份配置的关键点:
proxy-providers从两家机场拉订阅,实现物理冗余;url-test自动选择,每 300 秒测速,自动切到最快的节点;tolerance: 50表示延迟差 50ms 以内不切换,避免频繁抖动;lazy: false强制即使未使用也定期测速,保证切换及时。
5.2 Sing-box 配置(更现代的协议栈)
{
"log": {
"level": "info",
"timestamp": true
},
"dns": {
"servers": [
{
"tag": "google",
"address": "tls://8.8.8.8",
"detour": "proxy"
},
{
"tag": "local",
"address": "223.5.5.5",
"detour": "direct"
}
],
"rules": [
{
"geosite": "cn",
"server": "local"
}
],
"final": "google",
"strategy": "prefer_ipv4"
},
"inbounds": [
{
"type": "tun",
"tag": "tun-in",
"inet4_address": "172.19.0.1/30",
"auto_route": true,
"strict_route": true,
"stack": "system",
"sniff": true
}
],
"outbounds": [
{
"type": "selector",
"tag": "select",
"outbounds": ["auto", "hk", "jp", "us", "direct"],
"default": "auto"
},
{
"type": "urltest",
"tag": "auto",
"outbounds": ["hk", "jp", "us"],
"url": "https://www.gstatic.com/generate_204",
"interval": "5m",
"tolerance": 50
},
{
"type": "shadowsocks",
"tag": "hk",
"server": "hk01.guangsuyun.example.com",
"server_port": 443,
"method": "aes-256-gcm",
"password": "your-password-here"
},
{
"type": "vmess",
"tag": "jp",
"server": "jp01.feimaoyun.example.com",
"server_port": 443,
"uuid": "your-uuid-here",
"security": "auto",
"alter_id": 0,
"transport": {
"type": "ws",
"path": "/ws",
"headers": {
"Host": "jp01.feimaoyun.example.com"
}
},
"tls": {
"enabled": true,
"server_name": "jp01.feimaoyun.example.com"
}
},
{
"type": "direct",
"tag": "direct"
}
],
"route": {
"rules": [
{
"geoip": "cn",
"outbound": "direct"
},
{
"geosite": "cn",
"outbound": "direct"
},
{
"geosite": "openai",
"outbound": "select"
},
{
"geosite": "github",
"outbound": "select"
}
],
"final": "select",
"auto_detect_interface": true
}
}
六、物理链路拓扑:一张图看懂数据从你到目标站的全路径
┌──────────────────────────────────────────────────────────────────────────┐
│ 本地环境 (Windows/macOS/Linux) │
│ ┌─────────────┐ ┌──────────────┐ ┌─────────────────────────────┐ │
│ │ 浏览器/App │───▶│ Clash/Sing-box│───▶│ TUN/TProxy 虚拟网卡 │ │
│ └─────────────┘ │ (本地 7890) │ │ 172.19.0.1 (Sing-box) │ │
│ └──────────────┘ └──────────────┬──────────────┘ 寻找高可用晚高峰抗拥塞专线?
查看编辑部实测天梯榜,精选全 IEPL 内网专线与原生 IP 服务商。
进一步深入了解网络协议与排障