代理检测方式及绕过方式
代理检测原理及绕过方法
- 代理 IP 自身问题
- feature
- IP 在黑名单列表
- VPS 商家在黑名单列表
- 比如商家从事数据中心托管业务,公司类型为hosting。特点为 ip容易获取
- solve
- 换 ip、vps 商家
- 网络行为异常问题
- 检测方案
- Latency Test: 主要检测 TCP 链接和 WebSocket 连接的延迟。 原理: link
- feature
- 配置不当:本机ip暴露
- solve
# TCP连接和WebSocket连接的延迟检测原理
{
"is_proxy": true,
"info": {
"tcpIpStats": {
"samples": [
53.91,
54,
54,
54,
54.02,
54.06,
54.06,
54.07,
54.08,
54.1,
54.1,
54.11,
54.11,
54.13,
54.15
],
"min": 53.91
},
"wsLatencyStats": {
"samples": [
202.13,
194.97,
193.76,
200.31,
200.59
],
"min": 193.76
},
"connection": {
"wsConnectionEstablished": 1745395383302,
"wsFirstMessage": 1745395383497,
"wsLastMessage": 1745395384489,
"wsConnectionClosed": null
}
},
"name": "Latency Test",
"desc": "This test compares incoming TCP/IP latencies to WebSocket latencies initiated via JavaScript on the client side. If the WebSocket latency is significantly higher than the TCP/IP latency, then it is likely a Proxy or VPN connection."
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
这个代理检测结果说明了 WebSocket 延迟明显高于 TCP 连接延迟,确实是判断是否存在代理/VPN 的常用手段。下面是你看到的现象的详细解释:
# 🔍 数据摘要:
| 项目 | TCP (ms) | WebSocket (ms) |
|---|---|---|
| 延迟最小值 | 53.91 | 193.76 |
| 平均值(大致) | ≈54 | ≈198 |
| 差值 | ≈140ms |
# 🧠 原因分析:
# ✅ 为什么 TCP 延迟小?
TCP 延迟指的是浏览器通过 JavaScript 使用 XMLHttpRequest 或 fetch 打开一个直连的 TCP socket 或发起 HTTP 请求(如 image ping、静态文件)的 RTT(Round Trip Time):
- 这个测试通常非常短,因为 TCP 握手很快,可能只需要
SYN -> SYN+ACK -> ACK的 3 个包; - 浏览器或系统的 DNS/连接复用机制可能进一步缩短时间;
- 代理(特别是透明代理)对简单 TCP 流量处理较快,路径可能较短。
# 🧨 为什么 WebSocket 延迟大?
WebSocket 连接建立过程更加复杂:
- 发起
HTTP Upgrade请求(通常使用 HTTPS); - 完整握手完成后才算真正“建立连接”;
- JavaScript 测量的是 “第一个 message 到达” 的时间;
- 代理/VPN/中间人节点对 WebSocket 会引入较多缓冲、转发、TLS 拦截/加密耗时。
此外:
- WebSocket 流量可能被转发到远端代理再中继回来;
- 某些企业 VPN 会特意 延迟非标准端口或非 HTTP 流量;
- WebSocket 握手往往涉及更多 TLS 层和代理层的处理(尤其 SOCKS5/HTTPS 代理);
- 浏览器 JavaScript Event Loop 的时间戳精度在某些浏览器中也会影响 WS 延迟的测量。
# 🚩 检测原理总结:
检测网站的机制本质上是:
比较 TCP(基本连接)与 WebSocket(应用层连接)的 RTT 差异。
- 如果 差异很小(例如都在 50ms 左右),那大概率没有代理;
- 如果 WebSocket 明显慢很多,说明流量经过了非直连路径 —— 比如 VPN、SOCKS5、HTTP(S) 代理等;
- 某些安全厂商甚至加入 payload 验证、TLS 握手指纹、证书检测,进一步判断“代理痕迹”。
# ✅ 小结
| 对比项 | TCP | WebSocket |
|---|---|---|
| 握手方式 | 简单 3 次握手 | HTTP Upgrade + TLS |
| 传输复杂度 | 低 | 高 |
| 代理处理方式 | 通常直接中继或透明代理 | 可能转发、加密、拦截 |
| 延迟表现 | 快速、低抖动 | 明显延迟、高抖动 |
因此你看到的延迟差异是 典型的代理特征,这个测试方式简单却非常有效。
如果你想进一步识别代理方式(如 SOCKS5 vs HTTPS proxy),也可以从 TLS 指纹、证书链或 DNS 泄漏方面入手。需要我帮你拓展这一块吗?
上次更新: 2025/04/23, 16:55:58