测试代理意味着确认它是否实现了您购买它的目的——呈现正确的IP、来自正确的位置、不泄露您的IP——并衡量其速度。 检查只需五分钟,却能防止两种最昂贵的代理故障:因IP已被封禁而导致的封号,以及因流量从未经过代理而导致的身份泄露。这是我们使用的检查清单。

1. IP是否真的变了?

第一个测试是最明显的,它捕获配置错误的情况比您预期的要多。配置代理后,请求一个回显IP的页面:

curl -x http://user:pass@proxy.example.com:8080 https://api.ipify.org
curl -x socks5h://user:pass@proxy.example.com:1080 https://api.ipify.org

与不带-x的相同请求进行比较。如果两个IP匹配,则代理未被使用:端口错误、协议方案错误,或应用程序忽略了系统代理设置。注意方案socks5h(带h)——它告诉curl通过代理解析主机名,这对下面的DNS测试很重要。

在浏览器中,使用任何“我的IP是什么”页面——但要在新的配置文件或隐私窗口中操作,因为启用代理之前缓存的页面会欺骗您。

2. IP是否被标记?

一个已更改但已在黑名单上的IP比无用更糟:它让您看起来像您试图避免的样子。检查三件事。

注册类型

在WHOIS或IP情报服务中查找IP。您希望看到提供商承诺的类型:住宅代理的ISP名称、移动代理的移动运营商,以及——如果您购买了数据中心——至少是一家不在所有列表上的托管公司。如果您支付了住宅价格而WHOIS显示DigitalOcean,那么您被出售了数据中心IP。

代理/VPN检测

几个公共服务使用商业反欺诈供应商购买的相同信号对IP进行“代理可能性”评分:已知的VPN范围、托管ASN、先前的滥用报告、显示开放代理端口的端口扫描。住宅IP应得分较低;数据中心IP通常会显示为“托管”,对此无能为力——这是类型的属性,而非提供商的缺陷。

黑名单

检查IP是否在主要的DNS黑名单(Spamhaus、SORBS等)中。列入黑名单意味着该地址有过去的滥用行为;对于涉及电子邮件、表单或账户创建的任何事情,这都是不合格的。轮换提供商不应向您提供列入黑名单的IP;如果反复出现,那是池质量问题,值得向支持人员提出。

3. 匿名级别:头部泄露了什么

HTTP代理根据它们向目标透露的客户端信息进行分类:

级别发送到网站的头部网站了解到什么
透明Via, X-Forwarded-For: <您的真实IP>您使用了代理以及您的真实IP。对隐私无用。
匿名ViaX-Proxy-ID,但没有真实IP您使用了代理,但不知道您是谁。
高匿(高度匿名)以上都没有什么都没有——请求看起来像来自代理本身。

通过请求一个回显请求头部的页面来验证:

curl -x http://user:pass@proxy.example.com:8080 https://httpbin.org/headers

您希望看到没有ViaX-Forwarded-ForForwardedX-Real-IP。任何为隐私或自动化而销售的商业代理都应是高匿的;如果您在头部发现您的真实IP,请立即停止使用。SOCKS5代理根本不添加HTTP头部,因此此测试仅适用于HTTP(S)代理。有关排名角度,请参阅我们的高匿代理比较

4. DNS泄漏

这是大多数人从未测试过的泄漏。当您的应用程序在将请求交给代理之前example.com解析为IP时,DNS查询会发送到您的常规解析器——通常是您的ISP的。网站看到代理;您的ISP(以及任何有权访问这些日志的人)看到您访问的每个域名。

如何测试:在代理下使用DNS泄漏测试页面。它将列出回答其唯一探测主机名的解析器。如果其中任何一个属于您的ISP或位于您的真实国家,则您正在泄漏。

如何修复:

  • SOCKS5:启用远程DNS解析。在curl中是socks5h://;在Firefox中是使用SOCKS v5时代理DNS;大多数支持SOCKS5的库都有等效标志。普通的socks5://在本地解析。
  • HTTP(S)代理:对于HTTPS目标,浏览器在CONNECT内部将主机名发送给代理,因此代理解析它——无泄漏。对于纯HTTP,完整URL发送给代理,代理也解析它。这里的泄漏通常来自机器上其他未代理的应用程序。

5. WebRTC泄漏(仅限浏览器)

WebRTC允许浏览器建立点对点连接,为此它会枚举您的网络接口,并可能将您的本地和公共IP发送到页面的JavaScript——完全绕过代理。这是“完美配置”的浏览器代理仍然泄露真实地址的经典方式。

如何测试:打开WebRTC泄漏测试页面。如果它显示除代理IP之外的任何IP——尤其是192.168.x.x本地地址或您的真实公共IP——则WebRTC正在泄漏。

如何修复:禁用WebRTC或将其限制为代理路由。在Firefox中设置media.peerconnection.enabled为false。在Chrome中使用策略或扩展限制WebRTC IP处理。反检测浏览器默认执行此操作,并可以伪造WebRTC可见IP以匹配代理;这是多账户工作使用它们的原因之一——请参阅什么是反检测浏览器。

6. 速度:延迟和吞吐量

两个数字很重要,它们回答不同的问题。

  • 延迟(往返时间)决定交互式使用的流畅度以及单个连接每秒可以发出多少顺序请求。使用小请求测量:
    curl -x http://user:pass@proxy:8080 -o /dev/null -s -w "connect %{time_connect}s  ttfb %{time_starttransfer}s  total %{time_total}s\n" https://example.com/
    与不带代理的相同命令进行比较。数据中心代理增加几十毫秒;住宅和移动代理增加50–300毫秒。数据中心IP上持续高或剧烈波动的数字表明提供商过载。
  • 吞吐量决定批量传输——下载带图像的页面或许多并行请求。获取已知大小的文件(几MB)并计时。在按GB计费的住宅计划中,这也告诉您消耗配额的速度。

在不同时间多次运行每个测试;代理性能随负载变化。凌晨3点的一次快速结果不能证明工作时间的性能。我们的速度排名描述了我们用于重复测量的方法。

7. 地理位置和一致性

如果您购买了特定国家或城市的代理,请检查地理位置数据库是否一致。数据库之间以及与现实之间存在分歧,特别是对于移动IP,它们通常位于运营商的总部而不是手机的位置。重要的是目标网站的数据库怎么说,您无法知道——但如果两三个公共GeoIP服务都将您的“柏林”代理放在法兰克福,那么网站也会这么认为。

每次设置值得做的一致性检查:

  • 浏览器的时区是否与代理的位置匹配?东京IP配欧洲/柏林时钟是经典迹象。
  • Accept-Language头部对该国家是否有意义?
  • 对于移动代理:您的User-Agent是否声明了移动设备?运营商IP配桌面UA是一些反欺诈系统加权的异常。

五分钟检查清单

  1. 代理时IP变化——且与提供商承诺的类型在WHOIS中匹配。
  2. 不在主要黑名单上;代理检测分数对该类型合理。
  3. 没有Via/X-Forwarded-For/Forwarded头部到达目标(HTTP代理)。
  4. DNS泄漏测试仅显示非您的解析器;SOCKS5使用远程解析。
  5. WebRTC测试仅显示代理IP(浏览器)。
  6. 延迟和吞吐量在不同时间的多次运行中可接受。
  7. GeoIP位置、时区和语言相互一致。

任何在1、3、4或5上失败的都是停止并修复。在2、6或7上的失败是向提供商提出或选择提供商时权衡的质量信号——我们的可靠性排名基于随时间重复执行这些检查。

常见问题

检查代理是否工作的最快方法是什么?

使用和不使用代理请求IP回显服务并比较。如果IP不同且与提供商的预期范围匹配,则代理正在工作。此列表上的其他所有内容都是关于它是否工作良好

什么是DNS泄漏,为什么它对代理很重要?

DNS泄漏是指网站的域名查找转到您的常规解析器而不是通过代理。网站看到代理的IP,但您的ISP或网络仍然知道您访问了哪些域名。通过代理解析名称(SOCKS5远程DNS)或使用HTTPS代理(代理解析名称)来修复。

什么是WebRTC泄漏?

浏览器可以通过WebRTC向网页泄露您的真实本地和公共IP地址,即使配置了代理,因为WebRTC在代理路径之外协商连接。禁用WebRTC或使用路由或伪造它的浏览器。

匿名代理和高匿代理有什么区别?

匿名代理隐藏您的IP,但添加头部揭示正在使用代理;高匿代理不添加任何内容,因此请求看起来像来自代理。对于任何隐私或自动化目的,您需要高匿。

如何知道代理IP是否被列入黑名单?

在DNS黑名单(如Spamhaus)和IP信誉服务中查询。列入黑名单意味着先前的滥用;避免将该IP用于电子邮件、表单和账户创建。

我应该多久重新测试一次?

每当您更换提供商、计划或配置时,以及之后定期——IP被重新分配,黑名单更新,提供商的池质量变化。对于长期运行的自动化,将IP更改和头部检查构建到启动例程中。