代理 IP:『成为一分钟 IP 主人』的那些事

warning: 这篇文章距离上次修改已过134天,其中的内容可能已经有所变动。

瞧一瞧,看一看,吹牛逼不打草稿牌代理IP,让你做一分钟的这个IP的主人,HTTP,Socks5,应有尽有,数量有限,欲购从速,详情请咨询三达不溜点坑你点康姆。

和之前一样,网络小故逝,番外篇,全文掺杂大量笔者的思考,如果你也是一个喜欢折腾网络的人,不妨进来看看笔者的胡说八道和天马行空。

应该还有人记得3128端口的那些日子?应该还有人记得3128端口的那些日子?

1. 前言

老规矩,先放目录

其实我自己都说不清楚,写这么长时间了,要不要把『网络小故逝』系列重新打开,免得每次都说是番外篇。但考虑到之前数字序号排列得整整齐齐,再插进去也不是很有美感了,所以还是保持这样比较好。

今天的话题是代理IP。范围很广,什么共享代理IP,住宅代理IP,静态代理IP,游戏工作室代理IP,包括你在网上看到的所谓『Free SSH Tunnel』都囊括在内,都能来聊聊。当然,为了便利讨论起见,还是先做个范围限定:下面提到的所有『代理IP』,都指的是侧重于这个IP的,而不是连接服务的(另有说明除外)。后者的例子,如本站右侧AFF窗口所示那种就是了,他的销售侧重点不是『连上之后,可以获得某个IP』,所以不算在我们的讨论范围内。

其实光从技术上来看,上面的几个关键词,差别并不是很大,无非就是你如何连接到代理服务器,以及IP的位置有所不同。不过,有句话叫做『技术的尽头永远不是技术』,至于尽头具体是什么,那就得看语境了,有可能是规定,有可能是炒作,当然更有可能和本文一样,尽头是营销。

2. 你买的是什么

在开始之前,需要明白,与代理IP相关的,很多情况下都不是什么高大上的技术,既不是『全球百大公司财富秘籍』,也算不上是『如何让仙舟的爻老板爱上我』。所有相关资料都可以在网上找到,有固定的代理协议格式(比如Socks5对应的就是RFC1928),也有各种开源的服务器/客户端实现。这就导致一个很显然的结果,即大家的基础技术站在同一起跑线上,只能竞争一些别的东西。

至于竞争什么,这里先卖个关子,先来从几个角度审视一下代理IP。看完之后,我相信你可以揣摩出一点感觉。

2.1 套子里的数据包

互联网的世界,和现实世界差不了太远。比如你住在翻斗花园,去上班,那么在公司看来,你的出发地就是翻斗花园。同样的,你在互联网上访问某个网站,那么在网站看来,你的源IP地址就是你的宽带出口地址。

代理IP,在这个语境下,其主要作用就是改变源IP,在远端看来,你的源地址就变成了代理服务器的IP,不再是原来的宽带出口IP。光凭这一点,就能改变很多事情了。

2.1.1 像川剧一样变脸

很多情况下,提供服务的站点会使用访客源IP,来作为主要甚至唯一的用户标识符,与风险筛查措施。比如经常提到的『要用日本IP才能登上DMM』,就是一个例子,他判断你是否位于日本,第一步靠的就是你的IP地址是否归属于日本,如果不是,就会被直接拦下来:

笔者的出口常年位于香港笔者的出口常年位于香港

此外的例子还有很多,比如爬虫,挂不同的代理IP去访问目标站点,避免触发站点的速率限制风控;比如流媒体服务,有些影片只在某些地区提供服务,因此挂上代理也可以实现跨区观看。当然后者的话,人们经常会联想到VPN的使用,尤其是各种大厂VPN的宣传广告之一,就是『扩充你的Netflix片库』,意思是可以看别的区域的。但实际上,准确的说法应该是『VPN可以改变源IP』,而非『只能通过VPN实现流媒体跨区观看』,用代理,也是可以的。

对于这一类用途,因为其对于防止风控的要求不算太严格,反而是对于带宽有一定要求,所以很多商家都会提供机房IP代理,或者『数据中心代理』。顾名思义,就是商家在数据中心开个服务器,接入机房带宽,然后安装代理软件,供客户连接。这种做法其实非常原教旨,也很符合直觉,不论是早年间横跨169与163的网关,还是后期互联网上一堆公开的匿名代理,都是类似的结构。

机房代理的特点就是非常便宜(尤其是国外机房),原因在于,机房的带宽多为批发价,而且口子很大,能带的用户数量也多很多,摊开到每个用户身上的固定成本(比如机房租赁费)就显得低很多。与此同时,并不是每一位用户在任意时候都会占满带宽下载,尤其是用户数量多的情况下,削峰填谷的效应就更明显,因此商家可以放心地提高一点超售比,这也是降低成本的好方法。上面两个主要因素加起来,就造就了数据中心代理的低价:

某著名商家的单价报价某著名商家的单价报价

从原理上来看,这样的代理IP当然没问题,但有个两个小细节:

一是,我们都知道,机房带宽与家庭宽带,分配到的IP地址必然是不同的,因此就有企业收集各大机房与各大家宽的IP地址段,供人查询。显然,家宽IP段,真实用户数量要高很多,机房代理IP相对固定,且更容易被检测出来是用作代理的。部分网站就会以此为风控依据,允许家宽IP段进入,但禁止机房IP段,或者对机房IP段提高风险指标。

某著名IP信息服务商,提供对代理IP的初步判断某著名IP信息服务商,提供对代理IP的初步判断

二是,资源利用率的提高,意味着同一个IP被多位用户使用的可能性也高。如果用户访问的网站较为分散,比如用户A访问A网站,用户B访问B网站,当然问题不大。但对于头部平台而言,很可能有一堆用户都想访问,所以虽然你可能只是偶尔访问,但实际上其他用户也在『偶尔访问』,在平台看来,就是同一个IP在不停地访问自己的站点,很容易继续触发速率限制。此外,林子大了什么鸟都有,共享这一个IP的用户里面,可能有恶意用户/滥用用户,用这些代理IP去搞欺诈,发SPAM等,导致这个IP的信誉度降低(和上面一样,也有公司统计)。你作为他们的网上邻居,虽然并无此类行为,但也难免牵扯其中。

这两个小细节,就决定了数据中心代理IP的质量并不会太高,可能会出现:

  • 网站(流媒体,AI,游戏等)提示『您是否使用了VPN/代理』
  • TikTok 直播间不进人,视频没人看
  • 社交媒体账号很快被封禁,提示有风险
  • 亚马逊,eBay等提示欺诈风险
  • Paypal 砍单
  • Google 频繁弹验证码

等现象。

虽然部分代理IP商家会做好欺诈防护(例如禁止访问25,465,587等高危目标端口),并推出价格略高的所谓私享IP(大幅降低IP共享率)或者专用IP(完全仅由你使用),可以缓解上述第二个问题,但对第一个问题来说(尤其是在涉及到支付,社交媒体账号,跨境电商等领域),依然无解,因为出口IP已经被标记为『机房使用』。

2.1.2 我想有个家

为了满足这些人群的需求,部分代理IP商家推出了所谓家宽代理IP。顾名思义,就是出口IP归属于家庭宽带的代理服务器。至于具体背后的技术,这里暂时按下不表,下面会有详细描述。

上文说过,家宽IP的『真人感』更强,看到家宽IP的来访,站点大概率会认为背后的使用者就是一个活生生的人。家宽代理IP就是利用了这份信任,让机房IP难以通行的网站,尤其是涉及到金融支付的,可以网开一面。

介绍完了,就这么多。除了这一点,家宽IP并没有什么特别之处。所以其实还是本文的一个主要观点,不要把家宽IP看得太高大上,或者认为他是什么天机不可泄露的技术,其实从本质上来讲,技术角度来看,也就这样而已。

2.2 如何跨上IP高速公路

很好,现在我们决定买代理IP了。和别的虚拟类商品一样,我们需要用点什么方式来连接上去,因此本节就来介绍一下关于代理IP的连接方式。

有人可能会说了,连接方式有啥好讲的,不都是能连上能用,出来确实是那个IP,不就行了么?对于这个问题,这里先给个简短的回答:连接协议,可以作为分析该商家IP来源的一个依据。

2.2.1 HTTP/Socks5

这应该是最为普及,也最为广泛的明文连接协议了,购买之后商家给你提供IP和端口,用户名和密码,就能用正常的代理客户端连上。甚至这两个协议名,就可以代表了出售的商品与商家本身,所以成为了一个热门的SEO关键词,因此本身值得拿出来详细介绍。

厂家名称已打码厂家名称已打码

2.2.1.1 HTTP 代理

HTTP代理,历史悠久。发布于1996年,定义了HTTP/1.0的RFC1945就有提及与代理相关的内容,也正是因为历史悠久,网上已经有很多详细介绍HTTP代理的协议实现细节的文章,因此关于具体的技术规范,这里不再展开,有需要的朋友可以自行查询。

关于Proxy的定义关于Proxy的定义

因为HTTP代理过于普及,因此在没有明确提到代理服务器类型的地方(比如Windows的IE代理,比如安卓手机WiFi高级设置里面的代理服务器),都可以不妨假设他要求的是HTTP代理。

不过也许是名字的关系,很多人可能会有疑问:

  1. HTTP代理可以代理HTTPS吗?
  2. HTTP代理只能用于网页浏览吗?
  3. HTTPS代理是怎么回事?

上面三个问题,其实本质上是所有代理协议都存在的一个共同问题,也就是『代理协议本身』和『所代理的数据流量』是否有关系的问题,理解了这一点,上面三个问题自然也就得到了解释。

首先回答第一个问题:远古时期的HTTP代理,无法代理HTTPS协议,但现在(千禧年之后)的HTTP代理,是可以的。原因在于,1999年6月份发布的HTTP 1.1规范(RFC2616)在RFC1945的基础上添加了几个HTTP方法,其中就包括CONNECT,用来让远端服务器向指定目标建立TCP连接,并双向转发TCP流(且不修改,不缓存),而HTTPS基于TCP,所以自然可以被代理。

于是很自然就能回答第二个问题了:现代的HTTP代理,不仅可以用于网页浏览,如果客户端支持,还可以用于其他的TCP业务,例如RTMP直播推流,SSH流量,RDP远程桌面,基于TCP的即时聊天软件,通通都可以。只要CONNECT,就能打开TCP转发,服务器根本不管你里面跑的是什么内容,只要是TCP数据,都照样转发。甚至如果你想,CONNECT到一个站点的80端口之后,在里面传输明文HTTP也是可以的,只是这么干没什么意义罢了。

至于第三个问题,这里的所谓『HTTPS代理』其实有些歧义,第一种理解就是上面说的,可以代理HTTPS的代理,这个就没什么好说了,顶多部分商家可能因为SEO等因素会特意注明。第二种就是『跑在TLS隧道里面的HTTP代理』,这个其实就是在普通的HTTP代理协议外面包一层TLS加密,让其他人看不到代理的内容罢了,里面就是普通的HTTP代理,没有什么特别的地方。

最后多说一句,因为TLS隧道是加密的,早年间曾经有人试过基于Squid+Stunnel的HTTPS代理方案,想用来看世界。这种方法防止被动监听是没什么问题的,但当DPI设备加入了主动探测的支持后,这类方案只需简单的主动探测,看看有没有200或者407(需要鉴权)状态码响应,就很容易被发现,因此已经式微。

2.2.1.2 Socks5 代理

另一个比较知名的协议是Socks5,定义于RFC1928,比HTTP 1.0还要略早一些(这还没算上在此之前的Socks 4协议)。

Socks5最大的亮点就是在协议层面支持代理UDP协议,而HTTP代理就不行,因为远端定死了只能建立TCP连接。当然,硬要说的话,在2022年8月份发布的RFC 9298中确实规定了HTTP代理UDP的标准,甚至更好玩的是,在RFC 9484中,还给出了如何使用HTTP/3去传输IP数据包的标准,意味着HTTP/3正式成为了VPN协议。不过你从编号也许就能推断出来,这两个标准都太新了,很少有稳定可用的服务器软件与客户端实现,而且服务商的改造动力不大,因此市面上并没有多少服务商支持这两个标准,我们可以暂时当他们不存在。

支持UDP,意味着能够使用更多的应用,例如基于UDP的直播推流协议,即时聊天软件的视频电话功能,以及很多游戏,都需要UDP的支持。然而,正如本站之前的博文所提到的,Socks5只是在协议上可以代理UDP,并不意味着你搞到的Socks5代理IP就一定能够用来代理UDP。除了前文提到的原因外,还有一个原因是供应商所用的软件不一定有实现这个功能,或者实现了也不一定有启用。最稳妥的办法当然就是,在选购Socks5代理的同时,仔细阅读商家的说明,或者直接询问商家,明确一下是否可以用来代理UDP,并先小额试用一下。

2.2.2 『自研』的协议

上面提到,HTTP/Socks5都是很典型的明文代理协议,说人话就是通信过程中不加密,外部被动监听很容易发现这是个代理协议,甚至如果内层数据也不加密(如访问HTTP网站),那么通信内容也是会一览无余。比如,我们使用WireShark对HTTP代理进行抓包,可以看到,TCP三次握手之后,就开始传输需要连接的目标站点地址,可以说完全是在链路上裸奔:

蓝色为对端回复蓝色为对端回复

至于Socks5,道理也是一样的,连接建立后双端开始对暗号(0x05开头的数据包)并传输目标地址,也可以判断出来在跑代理:

十六进制模式更直观十六进制模式更直观

在当今的互联网上,可以认为,像这样的明文协议已经不适合在公网使用了。笔者也接到过读者的咨询,询问如何搭建HTTP/Socks5服务器供指纹浏览器上面运营海外社交媒体账号使用,但实际上,这个问题的答案是『并不推荐』,原因正是如上所示——如果说通信内容泄露还是小事,更大的问题有两个,一个是容易被高级DPI设备所阻断,比如我们大家都知道的苟分王,或者国内的备案墙;一个是你的代理IP鉴权信息同样在公网裸奔。

因此,部分代理厂商,尤其是国内新兴的,顺便做了合规跨境业务的厂商(比如出售合规TikTok直播专线的,具体内容已经在SD-WAN一文中有所讨论,这里不再赘述)会引入所谓的『自研协议』,用这种私有协议来连接到目标代理IP,或他们的PoP点。部分厂商会在网站上提及这一点,而另一部分会通过各种方式暗示,例如用『自研客户端』来连接:

某厂商宣传文案某厂商宣传文案

通常来讲,相比较于HTTP/Socks5,这种所谓的自研协议一般都会针对特殊场景进行优化,例如可能内置加密,混淆,多路复用,对UDP传输的支持,等等,至少也可以让没有拿到专用客户端的普通人无法正常连接,以及让外部设备无法简单嗅探到通信情况。此外,自研客户端也确实可以减少操作难度,用户只需要下载客户端,输入账号密码登录,点点鼠标就可以切换线路,展示也很直观,不必再去记什么协议之类的,这对于很多不懂的网络知识的客户来说,确实是方便的。

关于自研协议,其实并没有什么太多可介绍的地方,因为各个厂家具体实现不同,只是概念相通而已。不过,最后倒是还能再说两句,可信度你来决定,或者看个乐也行:

一是,上文的用语一直是『所谓的』自研协议。至于厂家是不是真的自己研发了一套协议,那就只有厂家自己清楚了,我们只能知道他不是标准的HTTP/Socks5协议,需要使用厂家的客户端连接。实际上,根据笔者自己的调查,以及一些听说而来的传闻,部分代理IP厂商的所谓自研协议其实就是SS/SSR之类成品协议的,甚至客户端内置了此类代理软件。毕竟,显然,有现成的且久经考验的协议与实现,厂家再重复造轮子就意义不大了。当然,使用这类协议不一定代表可以跨境连接,因为正如之前说过,一切的前提都是『这个服务器能连上』,只要连不上,那就是不行。

远古时期的截图,所谓的『合法跨境浏览器』远古时期的截图,所谓的『合法跨境浏览器』

二是,对于一台正常位于公网的服务器来说,对一般场景而言,抛开链路上的防火墙等设备不谈,是否在整条链路上使用自研协议,在连通性上并没有本质的区别。然而,如果涉及到所谓的『住宅IP』,情况可能就有所不同了,因为部分家庭宽带的一个典型特征就是位于CGNAT之后,所以无法从公网直接连接,需要某种反向代理,而这个代理可能就有非标准协议的引入——作为购买方的你,也许拿到的还是普通协议,但对于提供服务的那台位于家宽环境下的机器而言,也许并非如此。关于这部分内容,我们将在2.2.5小节继续讨论,这里先按下不表。

2.2.3 VPN!!

是的,你没有看错,部分代理IP提供商,尤其是做游戏工作室的生意的提供商,一般会提供VPN接入。

某代理提供商的客户端截图某代理提供商的客户端截图

由图片可知,他们提供的协议一般都是老三样,PPTP,L2TP,SSTP。从安全性的角度看,除了SSTP之外,剩下两个协议的安全性算是比较弱,主流场景下已经不推荐使用。不过考虑到代理IP这个场景,既然市面上还有卖HTTP/Socks5这样明文协议的,那么,卖VPN协议的,反而显得是一种进步了。至于为什么是这几个协议而不是别的,可能是因为Windows提供了RasDial API,只需要简单写点代码,传入服务器信息,系统就能连上,不需要客户端操心具体的连接实现吧。

这类厂商出现的原因也很简单:VPN上面可以传输的除了TCP/UDP,还包括ICMP等三层协议,这对于部分游戏(尤其是网游)是必备的,因为真的会有网游用ICMP测延迟。就算抛开这一点不谈,游戏里面也没办法设置代理服务器(系统的代理服务器只是个君子协议)。甚至对于主机游戏来说,想要让游戏也用上代理IP,基于VPN的全局代理反而是最省事,也最不需要技术含量那个了,所以很受到小厂的喜爱。

某成品游戏加速器某成品游戏加速器

至于大厂加速器么,有自己的技术团队,对于本机游戏加速来说,现在似乎更多的是改成了LSP进程代理(劫持WSPCONNECT()接口)这样的精确分流方式;对于局域网内的主机来说,更多的变成了需要一台网内电脑开着加速器来辅助加速,或者直接卖给你路由器插件了。

这里借用朋友的一张图这里借用朋友的一张图

2.2.4 什么叫 SSH

这一小段稍微有些偏题,但用来调剂口味,还是比较合适的。

你也许见过某些提供『免费SSH隧道』的网站,这些站点大多数标榜着全免费,或者有免费套餐,而且网站的名称/域名里面有很多暗示其高速/数量多的关键词,例如什么fast,open,speed之类的,而且点开一看,里面还提供各种乱七八糟的协议。如果你真的尝试创建账号,也会发现他确实能用,而且真的免费,就是免费版账号每隔一段时间就会失效,需要回来重新创建:

厂商名称已打码,但其实一搜一大把厂商名称已打码,但其实一搜一大把

像这样的网站,大多数外观相似,文案和提供的协议也几乎都一样,近来也添加了不少AIGC文案,不免有站群农场之嫌,但也算是一种奇观。虽然并不符合我们上面的定义,即他们的重点不是提供某个IP,只是提供隧道,但因为是在是有趣,所以笔者还是把他们放了进来。

比如说,他们提供的奇奇怪怪协议里面,就有一大批基于SSH的协议,还附带了奇怪的后缀:

某站点提供的服务某站点提供的服务

这些都是用来给标准SSH协议提供混淆层的,简单解释就是:

  • Dropbear:一个轻量级的SSH服务器/客户端实现,没什么特别的,放在这里,估计只是表示『标准SSH协议』的意思
  • Stunnel:给TCP流量(比如SSH,下同)外面包一层TLS
  • SlowDNS:把TCP流量包在标准DNS查询里面传输
  • WebSocket:TCP 包在WebSocket里面传输,比如使用WSTunnel
  • UDP Custom:似乎是基于UDP的混淆层。此外,部分服务商还有提供基于UDP GW的,除了这个开源之外,情况也差不多。

这些免费站点的盈利方式,也很耐人寻味,毕竟天上不会掉馅饼,更不会掉服务器。不过很可惜,公开资料自然是少之又少,以至于只能靠传统的套路去推测,所以看个乐就好:

  • Premium服务:靠付费用户维持免费隧道的开销
  • 黑主机:就是用弱口令爆破等方式扫描公网上的主机,黑进去之后安装代理服务器
  • 低价区主机:有些地区的服务器价格较低,因此开销不大
  • 广告:免费账户有效期只有7天,用来给账户续期的网页,完全可以挂上广告
  • 倒卖用户访问信息:也许会有,但现在HTTPS成了主流,所以可能不多了

从技术的角度来说,这样的网站还特意添加SSH协议,甚至还根据SSH来套各种混淆层,其作用之一当然是在SSH还可用(或接近可用)的地方继续提供服务;至于作用之二,笔者感觉可能还是和我们今天的主题一样,用一个大家熟知的名字作为营销锚点,引流进来之后再继续提供其他服务。

最后需要提醒一句,上述只是猜测,与真实情况可能有所出入,因此还是那句话,看个乐就好。

2.2.5 隧道代理?

这一小节不讲协议,讲一讲比较特殊的代理连接方式。

隧道代理(注意与加密隧道的不同),他的名字有很多,比如隧道转发代理,统一入口代理,Backconnect代理。但只要仔细观察就能发现,其实他们指的都是同一个东西。

从原理上来看,这玩意就是:客户不是直接连接目标代理服务器,而是先连接到一个统一的入口服务器,它再把请求分发到实际的代理服务器上。

某厂商提供的服务某厂商提供的服务

对于一台正常位于公网的,你可以直接连上的代理服务器来说,一般情况下,这种行为和脱裤子放屁没什么区别。不过,考虑下面的两个场景,你会发现这样的代理提供方式,其实是一种很好的工程权衡:

  • 提供轮换代理
  • 增加可用的住宅IP接入源

2.2.5.1 轮换代理

你是一只开心的爬虫,准备去互联网上找点东西打打牙祭。为了不被认出来,你装上了代理IP。

但问题在于,如果同一个IP爬多了,网站也会发现,把你给Ban掉。

一个很自然而然的解决思路就是,多准备几个甚至几百个IP,放在列表里,轮着用,用一会儿就扔掉。这样在未登录状况下,网站就只能看到有不同IP的人前来访问,无法发现位于背后的你。

服务商也会提供接口,让你提取一定量的代理IP服务商也会提供接口,让你提取一定量的代理IP

不过,爬取软件代码已经写好了,只能设置固定的IP,没办法做到过会就换一个IP,怎么办呢?

显然,假设有那么一个聚合器,设定好一批代理服务器之后,暴露出来一个新的代理端口,并让爬虫软件的代理服务器设置指向这个聚合器。每次有新的请求过来,或者每隔一段时间,聚合器就自动从列表里面找一个可用的代理,作为本次请求实际使用的代理,不就可以实现轮换了吗?

商家所谓『轮换代理』其实就是吃的这碗饭:不是每个人都是程序员,或者会用别的软件,因此厂家就来代劳,把这个聚合器装在他们自己的服务器上,你只需要连接这个特定的聚合服务器,就可以自动实现轮换,不必再操心维护。

不过需要注意的是,根据短板效应,这台服务器的可用带宽就是整个系统的瓶颈,比如你有10台1Gbps的代理服务器,和一台1Gbps的聚合服务器,因为此时代理流量还要经过聚合服务器走一圈,那么系统可用总带宽就只有1Gbps了。

2.2.5.2 住宅IP接入点

上面提到,只要在家庭宽带条件运行代理服务器,那么这就是一个住宅IP代理了。不过随着IPv4地址的逐渐短缺,家庭宽带(尤其是用户数量多的地区)越来越难拿到公网IPv4,常常是需要先经过CGNAT才能接入公网。根据NAT技术的基本原理,显然,此时外部用户就没办法随便连进来了。

如果能连上就见鬼了如果能连上就见鬼了

此时,商家就引入了上面提到的隧道代理,来确保这种的家庭宽带也可以对外提供服务。

原理,说白了,其实就是内网穿透,真正的代理服务器确实位于家庭宽带里面,但是他会先主动连接到位于公网的隧道代理服务器,因为此时是对外连接,和我们正常上网没有什么区别,可以顺利通过CGNAT。客户请求代理的时候,请求发到隧道代理服务器,服务器再通过已经建立的连接,转发给家宽代理服务器,最终完成代理操作。

所以有人咨询,说是有在国外定居的合作伙伴,可不可以用他家的宽带来做住宅IP,答案显然是可以的,只需要一台位于公网的服务器,搭配内网穿透软件,就可以了。

3. 商家卖的是什么

说完了接入侧的内容,我们接着来聊聊商家侧。

因为笔者并不从事相关生意,因此下面的内容很多都是基于已经公开的信息,搜集整理而成,因而必然存在于当前行业实际操作无法对上的现象,所以还是那句话,听一乐就好。

3.0 曾许下心愿

这一段继续略微离题一点。

假设,现在我们站在商家的角度。你想开一个公司,卖代理IP,你觉得,难度大吗?上面提到,搭建代理服务器从来不是什么技术难题,这句话当然不假,但别忘了,技术并不是全部。

技术很简单,比如说,引言中的图片里的代理服务器,就是在开始截图之前花了五分钟搭建起来的。没错,就五分钟,只需要在服务器上安装软件,配置好端口和代理账户等信息,这就是一台能用的代理服务器。如果说是正经做生意的,虽然服务器数量多,IP数量也很多,但他们手头肯定有部署脚本之类的东西,只需要填入服务器管理信息,就能自动地装好服务端软件,并纳入管理。

info:服务器在哪里?

198.51.100.130这台服务器本身位于公网,但因为公网上并没有去这个地址段的路由,因此其他用户无法连接。

实际上,这是个保留地址,具体来说是RFC5737,笔者只是在杏泉网络内用OSPF宣告了对此地址段的路由,让他指向某一台机器而已。换成别的什么地址都是一样的,不过既然这里有点类似文档的意味,那还是用文档段比较原汁原味。

这样的架构,对于你个人使用来说确实没什么问题,但如果你要拿出去卖,碰到的问题还会有:

  • 多服务器统一管理?
  • 出口被人滥用?
  • 支付方式的争议与退款事项?
  • 用户在工单提的,质量参差不齐的问题?
  • 宣发?SEO?
  • 定价?竞争?
  • 被同行攻击?
  • ......

等等等等之类的问题,你都要想办法去解决。

著名的故事是,在淘金热的时候不去淘金,而是卖工具卖铲子。但在互联网领域,你需要解决的问题,大概率不止是『铲子钝了』这么简单。

比如,笔者再掏出一个问题:客户反映你卖的IP『太脏了』,咋办?

3.1 褪色的秋千

住宅IP是当红炸子鸡,因为(多数情况下)能解决脏IP的问题,所以如果你正经要做外贸生意,不论你买不买都好,都必然会接触到这个名词。既然能接触到,就说明你可能是潜在客户,可能在未来的某一天会买,因此各大商家都想分一杯羹,纷纷上马住宅IP业务,这就形成了竞争。当然了,光有宣传肯定不够,肯定要有货卖才行,于是这就引出一个问题:家宽IP,到底是怎么来的?

这当然不是技术问题,因为技术没什么好说的,『一台运行在家庭宽带环境下的代理服务器』,就是全部的技术问题,只要你能连上网,技术问题就已经解决了,顶多就是加上运维操作什么的。相反,我们不放把视野放大一些,想一想,这个服务器是怎么接入家宽的。

最合法,或者说最『白』的方法,就是用商家身份去办理真正的家庭宽带,或者直接跟ISP谈,批量购买线路,把线插到商家自己的服务器上。这种方法获取的家宽IP是货真价实的,因为这就是如假包换的家庭宽带,运营商确实在卖的线路,因而质量非常高。不过,你也能猜出来,这样的方式成本很高,而且很难扩大规模,因此不是小厂家能随便上马的。

取而代之的是,部分商家可能会掺水,用所谓的『双ISP VPS』,也就是实际运行在机房,但分给他的是被IP信息查询企业标记为用于ISP(此处特指宽带接入运营商)的IP段。对商家来说,此种类型的机器成本较低;对用户来说,在需求不高的场合,这种类型的IP也是可以用的,因此很多情况下并无异常。然而,毕竟这个机器跑在机房,因此不排除在使用一段时间后,因为各种特征而重新被IP信息查询企业标记为机房IP的可能性。

然而,互联网在很多情况下都不是那么单纯。总是会有些想要真实的家庭宽带,又不想花太多钱的商家,在动歪脑筋,走上了黑产道路,也就是利用僵尸网络,来获取家宽IP:

笔者在之前的文章里已经讨论过这个话题,简单来说就是,黑产商家通过各种方式,比如攻陷有漏洞的物联网设备,出售低价电视机顶盒,宣发『免费VPN』,恶意的浏览器扩展等方式,在用户不知情的情况下,把用户的设备变成代理服务器。显然,这种就是赤裸裸的违法行为,比如上图中的911 S5,就被美国执法部门给查获了。

info:网页端?

在现代,网页端可以认为是一个构造还算可以的沙盒架构了,但实际上只要动动脑筋,就可以把一个网页变成代理服务器。虽然此时只能发起L7连接,且很多情况都仅限于访问HTTPS网站,且如果目标站点不支持跨域的话很可能还会访问失败,但在部分场合下,其实多少有点用,比如封装为爬取特定网站的API对外出售等。

有朋友可能会想到某个基于浏览器和WebRTC的可插拔传输项目,但笔者阅读了那玩意的文档,发现他能传输L4流量的原因是,运行代理的网页并不会直接把WebRTC收到的数据发往公网,而是通过已经预先连接上的WebSocket链路转发进Tor网络。WebSocket毕竟是可以跑纯粹的二进制,只要双方协定好,上面承载什么业务都不在话下,比如上面说过的SSH WebSocket。

很好玩的是,有很多商家意识到此类僵尸网络的存在,于是为了避免惹祸上身,特地在自己的宣传页面上写道,他们的住宅代理IP是『ethically-sourced』的,翻译过来就是『从合乎道德的来源获得的』,也就是暗示IP不是通过僵尸网络等黑产途径获取。但问题在于,这不代表他们不通过其他的『灰产』途径获取,比如所谓的『赚钱SDK』。

这里,我们就来分析一个,上过数个油管主播推介区的某著名IP代理提供商。

打开他们的网站,找到住宅IP页面,往下翻,可以看到相关宣传:

注意链接文字注意链接文字

我们点进去,可以进入商家对于IP来源的说明页面:

还是注意链接还是注意链接

我们看一下第一段说了什么:

XXXXX has a direct residential proxy sourcing partner – Pawns.app. Informed and consenting users share their internet bandwidth, turning devices into residential proxies, which are then added to our pool.

翻译过来意思是:

XXXXX 有直接的家宽代理合作伙伴——Pawns.app。他们的用户知情并同意的情况下,共享互联网带宽,将设备变成住宅代理,然后添加到我们的资源池中

接着,我们打开这个合作伙伴的网页,可以看到他所经营的业务:免费赚佣金的APP

原网页为英文,此处使用Chrome自带翻译原网页为英文,此处使用Chrome自带翻译

从表面上看,他们提供的业务有两个,付费调查和付费游戏,前者的意思是你做问卷,帮助大公司调查业务情况,就会给你点钱作为奖励;后者也很简单,只要你玩一定时间的游戏,相当于是帮游戏开发者推广游戏/统计用户,也可以拿钱。

从表面上看,都是些人畜无害的事情,但我们不妨再深入一下。点击『付费游戏』链接,进去之后往下翻,一直翻到FAQ区域,找到『What Makes Pawns.app Stand Out』,点击展开,再往下看几段文字,可以找到『Internet Sharing』小节:

原网页为英文,此处使用Chrome自带翻译原网页为英文,此处使用Chrome自带翻译

显然,也许所谓的付费调查和付费游戏都确有其事,但不要忘了,不论你做问卷还是玩游戏,都是需要在APP内逗留一段时间的,在此期间,APP全程呆在前台,运行稳定,而且用户注意力在游戏和问卷上,察觉不到正在消耗带宽,恰好就是一个完美的代理服务器。可能用户玩完游戏做完问卷就下线了,但耐不住基数大,因此总会有新的机器上线,只要把新流量调度过去,又是一条好汉。

此外,只要在这个网站的主页往下拉,就可以很轻松地找到SDK选项,点进去之后,就可以看到『赚钱SDK』的宣传:

200美元的CPM(千次展示数),很诱人200美元的CPM(千次展示数),很诱人

仔细阅读页面内容,也可以发现,他明确提到这个SDK就是所谓的『利用闲置带宽』来赚钱的,只要植入到你的APP里面,分发给你的用户,就可以拿来变现。

对于此类获取家宽IP的方式,笔者并不好说到底是好是坏。如果根据公开的消息来看,这个利用闲置带宽的行为,用户是知情的,而且是可以在APP里面选择关闭的(估计收入也会随之而减少)。但仍需要注意的是,即使这个『官方』赚钱APP可以关闭,接入SDK的第三方SDK却并不一定支持关闭,完全取决于第三方开发者的心情。当然别忘了,使用这个APP的用户,意味着把自家的网络连接拱手让人,代理IP的使用者会用你家的公网连接权限来干什么,那就听天由命了。因此笔者只能说,不建议大家去尝试此类项目。

3.2 不存在的服务器

正经置办服务器,好贵好麻烦;使用黑灰产,又不合法;但你就是想赚这笔钱,咋办呢?

世界上有句很缺德的话:如果你在野外碰见熊,不一定要跑最快,只要跑得比朋友快,那就行了。放在商业上这句话也差不多,比如说运营成本,不一定要是最低,只要比别人低,你就能多掌握一线生机。

在这种服务业里面,有一种被称作经销商/分销商的中间人。本来,厂家直接把服务出售给客户,但引入经销商之后,厂家先把服务批发给经销商,经销商再自行制定售卖方案和营销方案。此时,厂家可以专注于技术研发,不必了解太多的营销技巧;经销商刚好反过来,擅长营销但不必懂得技术细节,而且也很少需要承担技术风险,双方可以各取所需,各赚各的钱。

此类业务一般有几个关键词,比如reseller(经销商),white-label(白标,就是让经销商自己贴牌),我们在网上搜索一下,就可以做此类业务的厂家,比如这一家是做白标代理IP的:

某厂商某厂商

一个有趣的情况:经销商卖货的时候,大多数需要一个网站,而出售此类虚拟商品的一个事实标准就是WHMCS,我相信大多数有经营性想法的朋友都听说过(虽然这玩意价格挺贵的,一个月最低就要35刀,虽然有开心版就是了)。WHMCS支持插件,且他自己有一个插件市场,我们只需要到这个插件市场搜索『reseller』,就能看到一堆经销商插件:

分销比较多的,有域名,SSL证书,邮箱分销比较多的,有域名,SSL证书,邮箱

所以,如果你真想干这行,不如找个懂行的人咨询一下分销事宜,这样风险比自己从头开始搭建要低很多。当然,还是得附上一句免责声明:生意有风险,投资需谨慎。

3.3 假装安全的大剧院

经常能看到某些商家宣称,『我们提供高匿代理』,而且这句语焉不详的话似乎还成为了一个很重要的营销符号。

不过,这里的高匿,真的高么?

3.3.1 你的源IP

众多所谓高匿代理的一个宣传内容,就是宣称可以防止目标站点发现你的真实IP。从上面的技术分析,我们可以知道,类似HTTP/Socks5这样的L4代理,一般情况下无法传输完整IP信息,目标站点当然也就不可能知道发起请求的IP是多少。但是,历史上一个很著名的代理缓存软件Squid,引入了X-Forwarded-For这个HTTP请求头,简称XFF,其格式是:

X-Forwarded-For: client, proxy1, proxy2, .....

这个标头的第一个字段就是客户端的真实IP地址。Squid在进行代理的时候添加了这个标头,那么假设在没有伪造标头的情况下,目标站点就可以根据这个标头,来获取客户端真实IP。

显然,我们可以从中推断出来几件事情:

  • 所谓的HTTP高匿代理,其实就是不添加这个标头的代理服务器,就这么简单
  • 传输HTTPS流量时,因为代理服务器无法修改TLS内的HTTP标头,因此高不高匿无所谓
  • Socks代理本来就不会修改任何内容,因此也没有高匿代理的概念

在HTTPS逐渐成为主流的今天,这个概念上的高匿已经没有什么意义了,如果你实在吃不准,就用Socks呗,从原理上就不可能有这个情况,当然也就无所谓了。

3.3.2 你的其他数据

除了上面的源IP之外,部分商家真的会在广告词里面写,用我们的匿名代理IP,实现匿名上网。结果仔细一看,连接协议还是HTTP/Socks5,代理认证信息和内层数据依然在互联网上裸奔,不知道匿名给了谁看,也许是只有目标站点还蒙在股里吧。

虽然就今天的网络情况来说,经过加密的HTTPS已经在公网上取代了绝大多数的HTTP流量,但TLS的SNI字段却依然会暴露你的访问目标。暴露这个字段,问题大不大,具体来说还是要取决于不同用户的安全需求,比如说如果链路上有高级DPI设备,或者不想让老板知道你上班时间在玩4399(7k7k也行),那最好是不要暴露这个SNI,以免被阻断。所以很多老外也会购买VPN,原因就是加一层加密,在出公网之前多少能挡一点。

有一个很好玩的词语叫做Security Theater,翻译过来就是『作秀式安全』。在代理IP这个语境里,其实正好用来形容某些商家对于高匿的定义:你假装自己安全了,实际的通信内容(比如上面的SNI)还是暴露在外,甚至如果你单纯只是在意SNI的话,HTTP/Socks5建立连接的时候发送的代理信息,就已经足够暴露了。

4. 写在最后

啰啰嗦嗦又写了一些东西,也算是笔者对这个行业的一些小看法。

年后的时间里,更多的还是要准备下个月月末的专升本考试,所以文章更新可能还得放缓。现在二月份已经过完了,时间实在不能算是充裕。我不知道最后出来成绩是好是坏,但应该还有个书读吧。说句功利点的,最好还是有个书读,好歹让毕业证书看起来多点内容呢。

(完)


木头箱子脆脆,但是这样正好

如无特殊声明,本站内容遵循 CC BY-NC-SA 4.0 协议

转载请注明出处并保留作者信息,谢谢!

本站由 搬瓦工VPS 强力驱动

none
最后修改于:2026年02月27日 23:02

已有 3 条评论

  1. 233 233

    HTTP/Socks5不用前置代理/链式代理?谁会直连用?

    1. 海外用户会直连,毕竟爬虫/跨区域看片的需求全球都有

      1. 233 233

        羡慕海外用户

添加新评论

提醒:『评论回复邮件提醒』功能正在测试中
评论后,如果站长有回复,会有邮件通知