📦 The legacy system has been retired. Any proxies you already generated keep working until their traffic is used up — for help, contact [email protected].

← Hell World Blog··12 分钟阅读

99% 命中率被识破:50 毫秒的裂缝,连最顶级的住宅代理也藏不住

2022 年的一篇学术论文(BADPASS,ISPEC)证明,服务器仅凭 TCP RTT 与 TLS RTT 之间的差值,就能以 99.01% 的准确率识别出住宅代理。无需 JavaScript,无需 IP 信誉库,也不需要客户端配合。本文拆解这套方法的原理,以及它对 2026 年所有使用或防御住宅代理的人意味着什么。

Yusuke Sato#residential-proxy#anti-bot#tcp#tls#detection#bright-data#oxylabs#smartproxy#proxyrack

我们转售 hellworld.io 的全线产品——14 个住宅代理品牌、3 个移动代理池、Static ISP 以及 2 个无限量套餐。所以当我们写住宅代理检测这个话题时,立场必须坦诚:每一位依赖住宅出口的客户,都和这篇论文有着实实在在的利害关系,我们不打算假装没这回事。本文的目的不是要吓得谁不敢用住宅代理,而是讲清楚一种服务器端的检测方法——它低调,却异常精准——以及它对 2026 年这类工具的实际使用方式,到底意味着什么、不意味着什么。

对大多数跑爬虫、抢购机器人、广告核验或价格情报的团队来说,住宅代理是感觉上最稳妥的选择。源 IP 看起来就是某个普通 ISP 上的普通家庭宽带用户——不是数据中心,也不是已知的代理服务商——而这恰恰能击穿绝大多数 IP 信誉名单。

直到它失灵的那一天。2022 年的一篇学术论文——BADPASS:机器人如何利用「代理即服务」(BADPASS: Bots Taking ADvantage of Proxy as a Service,ISPEC 2022,作者来自 EURECOM、KAUST 和 Amadeus)——证明了只靠一个小技巧,就能以 99.01% 的准确率识别出住宅代理连接:在握手过程中,于服务器端直接对比同一条 HTTPS 连接的 TCP RTT 和 TLS RTT。

不用 JavaScript,不用 IP 信誉库,不用指纹库。只需要服务器手头早就有的两个时延数字。

如果你运营的是一个正被爬取的高价值站点,这是已公开发表的检测方法里最干净利落的一种。如果你跑的是爬虫,那也值得了解——因为你今天信赖的那些服务商,很可能全都有这个问题。

住宅代理为什么变得这么难封

数据中心代理很好过滤。AWS、GCP、Azure、DigitalOcean——它们的 ASN、IP 段、主机名规律、TLS 协议栈特征以及历史滥用数据,全都是公开已知的。大多数商用反机器人服务会自动标记来自这些段位的流量。

住宅代理则完全是另一码事。出口 IP 是一条真实的家庭宽带线路、一台移动设备,或是某个被招募进代理服务商资源池的消费级硬件(有时是通过捆绑在免费 App 里的 SDK 拉进来的)。在目标服务器看来,它和俄亥俄、东京或圣保罗某个正常付费用户毫无二致。

正因如此,电商、票务、旅游和航司平台在与爬虫的猫鼠游戏中节节败退——而并非巧合的是,这篇论文的作者之一就任职于 Amadeus,全球旅游 IT 基础设施的巨头。这些可不是躲在象牙塔里空想「假如机器人用了代理会怎样」的研究者。多年来,他们一直被这件事实打实地折磨着。

传统反机器人检测严重依赖 IP 信誉、请求频率、设备指纹和行为轨迹。而住宅代理几乎把 IP 信誉这个信号彻底搅浑了。于是一个很自然的问题浮现出来:服务器能不能根本不看 IP,仅凭连接本身就判断出这是个代理?

论文的答案是:能,只要测量两个 RTT。

核心洞见:住宅代理切断了 TCP,却没切断 TLS

这是整篇论文里最精彩的部分。

当用户直连一个网站时,情形很简单。浏览器直接向服务器开一条 TCP 连接,然后在这条 TCP 连接上协商 TLS。TCP 三次握手和 TLS 握手都发生在同一对端点之间。服务器测得的 TCP 往返时延和 TLS 往返时延应该几乎一致——它们丈量的是同一条路径。

**住宅代理不是这么干的。**大多数住宅代理采用「反向连接」(backconnect)架构:客户端先连到服务商的超级代理(superproxy),超级代理再调度一个住宅网关(gateway),由网关向目标服务器开 TCP 连接。从服务器的视角看,TCP 对端是网关——而不是最初那个客户端。

但 HTTPS 代理通常会把 TLS 会话当作一条不透明的隧道整段转发,而不是把它终结后再重新建立。这就意味着 TLS 会话仍然是在最初的客户端和目标服务器之间端到端协商的。网关只是来回倒腾加密字节。

由此产生了一个结构性的错配:

  • TCP RTT 测的是从网关到服务器的距离。
  • TLS RTT 测的是从真实客户端经由超级代理和网关、再到服务器的距离。

对于直连,这两个数字是一样的。而对于住宅代理连接,TLS RTT 几乎总是明显大于 TCP RTT,因为 TLS 握手报文要走完整条代理链路,TCP 握手却不用。

一句话概括:住宅代理把传输层一切为二,但 TLS 仍然假装自己是端到端的,而这个谎言带有一个可以测量出来的时延代价。

这套检测方法为什么格外危险

服务器端的时延测量有四个特性,让它对代理用户来说极其难缠:

**1. 它完全在服务器上跑。**不需要客户端配合,不需要弹同意框,不需要执行 JavaScript。只要你能在负载均衡器或源站上捕获报文时序,就能实现它。

**2. 屏蔽 JavaScript 没用。**很多反机器人方案在浏览器端塞探测脚本——WebRTC、尝试连本地回环地址、利用 performance API 的各种怪癖。老练的机器人会禁用 JavaScript、跑无头模式,或把这些探测剥掉。而这套方法绕开了所有这些,因为关键信号在任何 HTML 被送出之前就已经采到了。

**3. 它根本不在乎 IP 信誉。**住宅 IP 一直在轮换,每天都有新的冒出来。任何靠把特定 IP 标记为「坏」来检测的方案,都在打一场注定输的追逐赛。这套方法完全无视 IP——它只看连接的结构。

4. 检测发生在响应之前。RTT 差值在 TLS 握手过程中就显现出来了。你可以在送出第一个 HTML 字节之前就决定拒绝、拖延或限速这条连接。从防御视角看,这一点意义重大——你在拿主意的同时,没有让爬虫窃走任何东西。

实验内幕

作者们并不满足于停留在理论。他们搭建了一套全球测试床,来证明这个差值是真实且稳定存在的:

  • 采购了 4 家商用住宅代理服务商:Bright Data(前身为 Luminati)、Oxylabs、ProxyRack 和 Smartproxy。每家每月 40–50 GB 带宽。
  • 22 台服务器通过 Amazon Lightsail(16 台)和 Azure(6 台)分布在全球各地。地点涵盖印度、澳大利亚、日本、德国、爱尔兰、加拿大、美国东/西部、南非、阿联酋和巴西。
  • 每台服务器既当客户端又当服务器。从每一台服务器出发,团队向其他每一台服务器发送 HTTPS GET 请求:一次直连,外加分别经由四家代理服务商各一次——每对服务器之间共五条路径。
  • 整个测试跑了 110 天(2022 年 1 月 12 日至 5 月 1 日)。服务器端的 TLS 版本每天在 TLS 1.2 和 TLS 1.3 之间交替,因此数据集对两者都有覆盖。

在剔除了损坏的抓包、扫描器噪声和短暂宕机之后,他们保留了 92,712,461 条完整的连接记录——约占发起的近 9800 万次连接的 95%。这是一个相当有分量的数据集。

两个 RTT 是怎么测出来的

TCP RTT 很直接。服务器发出 SYN-ACK,然后等待客户端最后的 ACK。两者之间的时间,就是服务器所见的 TCP RTT。在直连上,这是客户端到服务器;在住宅代理连接上,这是网关到服务器。

TLS RTT 略微棘手一些。作者挑选了一对 TLS 握手记录:服务器在其中发出了某些它必须等客户端回应才能继续的内容。对 TLS 1.2 来说,大致是 ServerHelloDoneClientKeyExchange;对 TLS 1.3 来说,则是在 ServerHello 及加密握手消息之后 → 客户端的 change_cipher_spec / 第二轮报文。具体是哪几条记录并不是重点——原则在于「找到一个服务器发出内容、且必须等回复才能继续的点」。

无论 TLS 版本如何,这次往返都走完了完整的 TLS 路径:客户端 → 超级代理 → 网关 → 服务器。而在直连上,这只是客户端 → 服务器。

然后你算出一个数字:TLS RTT − TCP RTT。值小,说明是直连;持续地大,说明存在一个 TCP 层看不见的额外跳数。

结果触目惊心

论文给出了直连连接与代理连接各自 TLS RTT − TCP RTT 的分布,这两个群体几乎不重叠。

  • 97% 的直连连接,差值在 ≤ 20 ms
  • 而代理连接那一侧的同一坐标轴不得不画宽 100 倍——从 0 到 2000 ms——因为代理的差值动辄就是几百毫秒。

有些连接出现了负差值(TCP RTT 大于 TLS RTT)。这发生在 SYN-ACK 或最后的 ACK 恰好被抖动拖慢、而后续的 TLS 报文却没被拖慢的时候。这种情况很罕见:

  • 直连:2.9% 为负
  • Bright Data:0.9%
  • Oxylabs:1.8%
  • ProxyRack:0.2%
  • Smartproxy:1.4%

抖动确实存在,但它并不会破坏两个群体的可分性。

50 ms:命中 99% 的那个阈值

作者最终把 50 ms 定为一个实用的阈值。他们是通过单独分析每条连接的 RTT 天然抖动幅度来挑出这个值的:在 53% 的连接中,单条连接内部 RTT 的最大值减最小值的波动 ≤ 50 ms。所以 50 ms 既容纳了正常抖动,又远低于典型的代理差值。

依照这条规则——「若 TLS RTT − TCP RTT > 50 ms,则标记为住宅代理」——结果如下:

指标 数值
误报率(假阳性) 0.04%
漏报率(假阴性) 1.93%
整体准确率 99.01%

0.04% 的误报率意味着几乎没有正常用户会被这张网误捕——这一点至关重要,因为错杀真实客户的代价,远比放过几个爬虫昂贵得多。而 1.93% 的漏报率意味着几乎没有代理流量能溜过去。

即便是最坏情况,也有 92.78%

爱质疑的研究者会反驳:万一某条连接上第一次测到的 TCP RTT 恰好就是这条连接的最大值呢?那会抬高 TCP RTT、压缩差值,从而放走一部分代理流量。

作者对这种最坏情况做了压力测试。约 29% 的连接,其第一次 TCP RTT 等于该连接的最大值。假如你把这些连接统统当成倒霉地被偏置了,那就该出现可能的最差检测表现。在同样的 50 ms 阈值下:

  • 误报:0.01%
  • 漏报:9.68%
  • 准确率:92.78%

哪怕在如此悲观的抖动假设下,这依然是一个相当强的分类器。真实的生产部署不可能处处都撞上最坏情况;现实远比 92% 更靠近 99%。

「要是网关离服务器很近呢?」

代理服务商最自然的反制手段,就是把网关尽量调度到离目标近的地方,缩短网关到服务器的那段 TCP RTT。如果这一跳极小,差值不就塌缩了吗?

作者恰恰检验了这种本应最伤检测效果的场景。对于 Bright Data——它在 ARIN/RIPE 区域有大量网关——他们单独抽出弗吉尼亚 ↔ 弗吉尼亚的连接。对于 Oxylabs 和 Smartproxy——它们在 LACNIC 区域分布密集——他们看的是巴西境内的路由。对于 ProxyRack——它在 AFRINIC 池中体量可观——他们用的是南非境内的路由。

结果依然成立。在 50 ms 阈值下,在这些「最有机会逃逸」的子集中,漏报率反而降到了约 0.78%——因为即便网关在本地,客户端和超级代理却不在,TLS 路径仍然横跨整条链路。

一个理论上的攻击者,如果能把客户端、超级代理、网关和服务器全部控制在同一个都市圈内,确实能让差值塌缩。但商用住宅代理的调度逻辑根本不是这么运作的;它的轮换逻辑压根不在乎与目标的地理亲和度。

重点:这套方法抓不到 VPN 或 NAT

这里必须仔细读懂论文。它的检测对象明确是:在 TCP 层打断了端到端、却在 TLS 层保留了端到端的连接。反向连接式的住宅代理正符合这个模式,某些 SSH 风格的转发也符合。

而标准 NAT、IPsec VPN、WireGuard 及类似的 VPN 技术,通常并不终结 TCP 连接。它们改写 IP、封装报文、把报文路由进隧道——但 TCP 会话仍然是最初客户端与服务器之间端到端的。结果就是,TCP RTT 和 TLS RTT 会像直连时一样对齐。

如果你想检测的是泛泛的「这个用户是不是躲在某个隧道后面」,那这套方法是用错了工具。要做 VPN 和 NAT 检测,你需要 MTU 分析、IP 信誉、时延基线或协议指纹。

但针对特定的商用住宅代理市场——也就是那个对撞库、抢购和大规模爬取负有不成比例责任的市场——这套方法的有效性高得吓人。

值得知道的几点保留意见

这篇论文并非 USENIX/CCS/NDSS/IMC 那种顶级会议的出版物;ISPEC 是一个体面但属于第二梯队的安全会议。实验用的是作者自己的客户端和服务器基础设施,而非来自真实防御方的生产网站流量。检测对象也很狭窄——只针对那种「切 TCP、透传 TLS」的住宅代理。而且,如果某家服务商重新设计了架构(比如在网关处终结 TLS),检测信号就可能收窄。

但这些保留意见都没有推翻这个结论。它们只是告诉你:这套方法并非对每一种代理流量都通杀的银弹——它只对最流行的那一种有效。

如果你在防御一个站点,这意味着什么

如果你运营一个被攻击的目标站点,这是你能加上的、性价比最高的检测方法之一。实现上大致就是:在 SYN-ACK/ACK 以及选定的那几条 TLS 握手记录上打时间戳,算出差值,以 50 ms 为阈值,然后把它喂进你现有的风险评分。

你不必单凭它来做决策——把它和限速、设备指纹及行为信号结合起来,能进一步压低误报。但作为众多信号中的一个,「TLS RTT 减 TCP RTT 超过 50 ms」信号强度高、在客户端层几乎无法伪造,而且在每一条 TLS 连接上都可观测。

想了解 2026 年其他那些检测层长什么样,可以看我们的《2026 反机器人格局》实战指南,它拆解了六家最有可能挡在你目标站点前面的反机器人厂商。

如果你在用住宅代理,这意味着什么

一个不那么舒服的事实:每一家遵循标准「反向连接 + TLS 透传」架构的商用住宅代理服务商,都能被这套方法检测出来。这几乎囊括了所有的高端服务商,包括被测试的那四家。

可行的缓解路径很有限:

  • **服务商层面的架构改造。**服务商可以在网关处终结 TLS,再向目标重新建立一条 TLS,从而抹掉这种结构性的不对称。但这要求代理充当中间人(man-in-the-middle),会破坏证书校验,认真的用户不会接受这种东西。
  • **把整条链路凑到一起。**如果客户端、超级代理、网关和服务器都在同一个都市圈,差值会缩小。但基于资源池的商用调度不允许这么干。
  • **改用这套方法看不见的连接类型。**基于 VPN 和 NAT 的出口不受影响。但有取舍——它们有自己的检测向量。
  • **混用多种连接类型,并接受部分流量会被标记。**对大多数团队来说,这才是现实的答案。不是每个请求都需要住宅出口。有策略地把 Static ISP、移动和住宅代理混搭起来,降低每条连接的请求频率,并把工作流设计成:被标记的流量代价只是一次重试,而不是一次永久封禁。

这不是一篇「住宅代理已死」的文章。它们仍然有效,仍然能绕过当前大多数生产防御——因为大多数生产防御还没实现基于 RTT 的检测。重点在于:住宅代理那个结构性优势——看起来和真实用户一模一样——存在一道可测量的、根本性的裂缝,任何认真做防御的人都能利用它。

如果你想更深入地想清楚什么时候该用住宅、什么时候该用移动、ISP 或无限量,《代理层级决策树》按使用场景梳理了各种取舍。而想看各家服务商的原始性能数据,《14 家品牌实测》是我们发布过的最新基准测试。

从 2026 年起,任何认真构建反爬基础设施的人,都会学到这个技巧。请据此早做规划。


参考文献:Casino, F., Patsakis, C., Lecharlier, B., & Ricci, V. (2022). BADPASS: Bots Taking ADvantage of Proxy as a Service. ISPEC 2022.

One wallet, the full Hell World lineup

14 residential brands, 3 4G mobile pools, Static ISP, and 2 unlimited tiers. Top up $5, route some traffic, form your own opinion. Bandwidth never expires.

客户怎么说

5.0/5 · 44 条真实评价来自 Discord #feedback 频道

★★★★★

good customer service

service was delayed due to system error but once the team was aware, was immediately given my proxies and gave extra to make up for it
Akbx
Akbx
★★★★★

great service

resolved issue quickly ! thanks
zfly
zfly
★★★★★

I paid for the plan and the proxies never arrived

I need help please, it's been an hour already
SuperBears8
SuperBears8
★★★★★

Good service

Fast response and resolution
Allen
Allen
★★★★★

Paypal Issue

Had an issue with paypal and the support was able to get me up and running within the hour. Service is great!
inu
inu
★★★★★

Awesome support and great product

Was having issues setting up proxies from a couple pools. Support responded quickly and was very helpful. Everything running smoothly in no time.
terdleman
terdleman
★★★★★

good customer service

service was delayed due to system error but once the team was aware, was immediately given my proxies and gave extra to make up for it
Akbx
Akbx
★★★★★

great service

resolved issue quickly ! thanks
zfly
zfly
★★★★★

I paid for the plan and the proxies never arrived

I need help please, it's been an hour already
SuperBears8
SuperBears8
★★★★★

Good service

Fast response and resolution
Allen
Allen
★★★★★

Paypal Issue

Had an issue with paypal and the support was able to get me up and running within the hour. Service is great!
inu
inu
★★★★★

Awesome support and great product

Was having issues setting up proxies from a couple pools. Support responded quickly and was very helpful. Everything running smoothly in no time.
terdleman
terdleman