代理协议的历史
讲代理 IP 的诞生背景前,我们先了解下代理协议的历史。
SOCKS 协议
- SOCKS由David Koblas开发,最初作为MIPS公司的内部工具,用于在防火墙后安全代理TCP连接。
- 1992年,SOCKS4由NEC的Ying-Da Lee改进,增加了对目标域名的解析支持。
- SOCKS5(RFC 1928)于1996年发布,引入UDP代理、多种认证方式(如用户名/密码、GSSAPI)和IPv6支持
- SOCKS6,截止到 2025 年 3 月 5 日,属于草案阶段。SOCKS6的改进方向是,客户端尽可能提前发送尽可能多的信息,减少连接数。
SOCKS 协议初始目的是解决企业防火墙的访问控制问题,逐渐被用于突破网络限制。
HTTP 协议
- HTTP/1.0(1996年,RFC 1945):标准化了HTTP协议,代理功能(如缓存、请求转发)开始普及
- HTTP/1.1(1997年,RFC 2068,后更新为 RFC 2616):通过CONNECT方法支持 HTTPS 代理
- 代理认证:Proxy-Authenticate 和 Proxy-Authorization 头部支持代理身份验证
- 头部扩展:X-Forwarded-For(非标头)广泛用于标记客户端原始 IP
HTTPS 与代理安全演进
协议版本 | 年份 | 状态 | 关键改进 | 主要漏洞/缺陷 |
---|---|---|---|---|
SSL 1.0 | 1994 | 未发布 | 首个设计版本 | 存在严重漏洞,未实际使用 |
SSL 2.0 | 1995 | 已弃用 | 首个公开版本,支持 RSA 和 MD5 | 弱加密(RC4/MD5),无 MAC 保护 |
SSL 3.0 | 1996 | 已弃用 | 引入 SHA-1,握手完整性验证 | POODLE 攻击(CBC 填充漏洞) |
TLS 1.0 | 1999 | 已弃用 | 标准化为 TLS,使用 HMAC 增强完整性 | BEAST 攻击(CBC 漏洞) |
TLS 1.1 | 2006 | 已弃用 | 显式 IV 防御 BEAST,支持 IANA 套件 | 仍依赖 SHA-1/CBC |
TLS 1.2 | 2008 | 广泛使用 | 支持 AEAD(如 AES-GCM),默认 SHA-256 | Lucky 13 攻击(CBC 时序漏洞) |
TLS 1.3 | 2018 | 推荐标准 | 1-RTT 握手,强制前向保密,仅 AEAD | 0-RTT 数据可能重放 |
备注:上面表格的状态说明,截止到 2025 年 3 月 6 日是正确的,之后会有变动。以官网数据为准。
备注:
- 红色(
deprecated
):已弃用版本 - 绿色(
active
):仍在使用但将淘汰 - 蓝色(
latest
):最新推荐版本
为什么一开始叫 SSL,后来改名叫 TLS? 因为SSL 是网景的“企业品牌”,而 IETF 希望创建一个中立、开放的协议名,摆脱厂商绑定。也可以避免潜在的商标或专利争议。
SOCKS5代理跟HTTP代理对比
SOCKS5代理工作在传输层,支持任意协议且不解析数据。 而HTTP代理工作在应用层,仅处理HTTP/HTTPS流量,可以解析和修改请求内容。
用时序图对比二者的区别:
具体对比如下:
对比项 | SOCKS5 代理 | HTTP 代理 |
---|---|---|
协议层 | 工作在会话层(OSI 第5层) | 工作在应用层(OSI 第7层) |
支持协议 | 支持所有协议(HTTP、HTTPS、FTP、P2P等) | 仅支持 HTTP/HTTPS 协议 |
数据解析 | 不解析数据,直接转发原始流量 | 解析 HTTP 头部,可过滤、缓存或修改内容 |
安全性 | 本身不加密,但可结合 SSH/VPN 或 TLS 使用 | 仅支持 HTTPS 加密(明文传输 HTTP) |
认证方式 | 支持多种认证(如用户名/密码、GSSAPI) | 通常仅支持 Basic Auth(明文传输密码) |
适用场景 | 通用代理(如游戏、视频流、P2P下载) | 网页浏览、爬虫、访问受地域限制的网站 |
灵活性 | 高(可代理任意 TCP/UDP 流量) | 低(仅限 HTTP/HTTPS) |
代理透明性 | 对客户端透明,目标服务器看不到代理 | 目标服务器可通过 X-Forwarded-For 感知代理 |
这里特别说明下,HTTPS 流量是加密的。需要通过中间人代理(MITM Proxy),拦截HTTPS连接的TLS/SSL握手过程,解密流量后修改内容。大致流程如下:
SOCKS5 代理和HTTP代理哪个更快
先说结论:
- 总体来说,SOCKS5 代理速度快于 HTTP 代理
- 在纯HTTP/HTTPS场景且存在缓存利用时,HTTP代理更快;
- 在非HTTP协议、UDP传输或高吞吐需求下,SOCKS5通常具有更低延迟和更高吞吐量
展开说明。
- 在无验证的情况下,SOCKS5 代理的速度优于 HTTP 代理。
- HTTP 代理单次交互数据量为 200+字节,而 SOCKS5 代理为 33 字节。SOCKS5 胜
- HTTP 代理需逐行解析 HTTP 头部,而 SOCKS5 代理直接读取二进制字段(无解析开销)。SOCKS5 胜
- 理论 RTT 次数:HTTP 代理 1 RTT(单次请求-响应);SOCKS5 代理 1.5 RTT(方法协商 + 连接请求)。HTTP 胜
- 带身份验证的清下,
- HTTP 代理单次交互数据量为 200+字节,而 SOCKS5 代理为 40+字节。SOCKS5 胜
- 理论 RTT 次数:HTTP 代理 2 RTT(首次请求 → 认证质询 → 认证响应);SOCKS5 代理 1.5 RTT(方法协商 + 认证 + 连接请求)。SOCKS5 胜
备注: RTT(Round-Trip Time) 是 往返时间 的缩写。测量单位通常以毫秒(ms)为单位。 举个例子:你说一句话(发送请求) → 对方听到后回复(返回响应) → 整个过程的时间就是 RTT。
代理IP的诞生背景
铺垫到这里,我们开始讲代理 IP 的诞生背景。我们从代理IP的定义与核心原理这篇文章可以知道。 代理 IP:指代理服务器对外暴露的IP地址。
这里可以发散成两个问题:一是代理服务器的诞生背景以及代理IP 服务商的诞生背景。
代理服务器的诞生背景
早期代理服务器的作用:
- 解决企业防火墙的访问控制问题
- 突破网络限制
- 缓存
后面由于互联网和移动互联网的蓬勃发展,代理服务器有了新的作用:
- 跨境电商:需要固定的静态 IP 服务经营店铺
- 互联网公司:需要采集数据
- 营销公司:SEM 广告投放效果测试。比如只投放到上海,就需要上海 IP 测试广告是否正常投放。
- 人工智能:2023 年以来,大火的 AI 服务,也离不开数据。数据采集就需要代理 IP 服务
- 网站测试:了解其他地域的用户访问网站的情况。比如 17ce
代理 IP 服务商的诞生背景
代理服务器技术起源于 1990 年代。
1990年代中后期,一些配置不当的服务器(如开放HTTP/SOCKS端口)被用户发现并公开,成为最早的“免费代理IP”来源。技术论坛和邮件列表开始分享这些IP。
2000 年代初,个人或小型网站开始汇总代理IP。 国外的有:Proxy4Free(大概 2002 年创建)、freeproxylist(大概 2009 年创建)。 国内的有:
- 代理中国(2004 年):http://www.proxycn.com/
- 代理服务器网(2004 年):http://www.cnproxy.com/
- 无忧代理(2008 年):http://www.5uproxy.net/
- 快代理(大概 2013 年创建):早期以免费代理为主,后期转向商业化服务。
- 备注:大部分网站已经没人维护了。
2002 年 8 月 26 号的 Proxy4Free 网站的镜像页面:
2004 年 8 月 5 号的代理中国网站缓存页面:
2010年之后,许多早期免费网站逐渐增加付费服务(如高匿代理、API接口、隧道代理等)。 主要原因:
- 商业化转型:免费代理 IP 服务无法支撑网站运营发展,运营者开始商业化,提供更好、更稳定的付费服务。
- 政策影响:《网络安全法》实施后,未经审批的代理服务几乎消失。
- 技术迭代:用户更多使用基于云服务的动态代理或企业级解决方案。
2020 年到现在,一些付费平台也开始关闭。
- 2021 年(大概):蘑菇代理IP 平台(www.moguproxy.com)关闭
- 2024 年(大概):讯代理(www.xdaili.cn)关闭
- 2024年12月04日:芝麻代理停止部分服务
也有一些新起之秀,比如:
- 2020 年(大概),青果网络开始提供代理 ip 服务
- 2023 年创立的四叶天代理
代理 IP 的需求场景
这部分在【代理服务器的诞生背景】章节有介绍。这里讲讲具体场景的细化分类:
-
跨境电商多账号管理
- 需求:Amazon、eBay等平台对同一IP多账号关联的严格风控。
- 方案:使用静态住宅IP绑定店铺,模拟真实用户环境,规避封号风险。
-
广告效果精准验证
- 场景:SEM广告地域定向测试(如仅投上海)、TikTok区域化素材审核。
- 技术实现:结合GPS定位与代理IP,双重验证广告投放范围。
-
竞品数据监控与分析
- 行业应用:电商价格监控、旅游行业动态定价抓取。
- 反爬策略:通过分布式代理池(如住宅IP+数据中心IP混合)绕过频率限制。
-
全球化网站压力测试
- 需求:模拟不同地区用户访问延迟,优化CDN节点选择。
- 实现方式:利用17ce、Gomez等工具通过多地代理IP发起请求,测量响应速度。
-
API接口地域限制测试
- 场景:验证地图服务、流媒体API的区域封锁策略。
- 技术方案:通过AWS Lambda函数+代理IP池自动触发多地域API调用。
-
移动端IP白名单调试
- 痛点:企业内网系统仅允许特定IP段的移动设备接入。
- 解决方案:开发阶段通过4G移动代理(如Luminati)模拟真实移动IP测试。
-
AI训练数据采集
- 2023年OpenAI等厂商需求:大规模采集多语言社交媒体数据。
- 技术趋势:结合Headless浏览器(Puppeteer)与智能代理轮换系统。
结尾
写于2025 年 3 月 7 日 16:07,大约花了 1 天的时间整理这些内容。
参考
- openssh.com/txt/socks4.protocol
- SOCKS - Wikipedia
- MyRecord/笔记/科普/Socks协议.md at master · bfchengnuo/MyRecord · GitHub
- draft-olteanu-intarea-socks-6-11 - SOCKS Protocol Version 6
- HTTP - Wikipedia
- Transport Layer Security - Wikipedia
- 贡献三个可以查找免费代理服务器的网址 - glc400 - 博客园
转载请注明
- 蜻蜓代理 - 代理IP的诞生背景与需求场景
- 头条号 - 蜻蜓软件
- 微信公众号:蜻蜓软件(qingtingsoft)