如何判断代理是移动、住宅还是数据中心 IP

没有任何一项检查能单独证明代理是移动代理还是住宅代理。我们用新加坡 Singtel 移动线路和一台数据中心服务器实测了 ASN 与 RDAP、PeeringDB、反向 DNS、免费 IP 数据库和 10 次 IP 轮换,给出每项检查的命令、真实输出和各数据源之间的分歧。

本页内容

简短回答

没有任何一项检查能单独证明某个代理是移动代理或住宅代理。最有力的信号是出口 IP 所属的网络:自治系统号(ASN)、它的注册方,以及这是什么类型的网络。用 RDAP 和 PeeringDB 查这些信息,再对比至少两个 IP 数据库,因为它们的结果并不一致。在我们的测试中,数据中心 IP 在每一项检查里都暴露了身份;而一条 Singtel 移动线路则根据所连接的网站,出现在两个不同的网络中。

我们在 2026 年 11 月 8 日 UTC 12:06 至 13:18 测试了:

  • 测试机: ipvolt 位于芬兰赫尔辛基的服务器,运行 Ubuntu,使用 curl 8.18.0 和 dig 9.20。
  • 数据中心样本: 这台服务器自己的 IPv4 地址,属于一家托管公司。
  • 移动样本: ipvolt 在新加坡 Singtel 网络上的测试线路,以带用户名和密码的 HTTP 及 SOCKS5 代理使用,并轮换 IP 10 次。
  • 住宅样本: 没有。我们没有可供测试的家庭宽带,因此下文关于住宅 IP 的内容都不来自我们自己的测量。
  • 脱敏: 本文和结果文件中的 IPv4 地址都截断到 /24(203.0.113.x);结果文件列出了每一次查询及其时间。

下面的命令使用 203.0.113.7,这是专供文档使用的保留地址。请换成你的代理出口 IP。

最快的检查:ipvolt 代理检测工具

把代理以 host:port:user:pass 或 socks5:// URL 的形式粘贴到免费的代理检测工具。它会通过代理连接到自己的回显服务器,并为每个代理显示:

  • 状态: 通过它能否使用 HTTP、HTTPS 和 IPv6。协议区别见 HTTP 与 SOCKS5 代理。
  • 出口 IP: 回显服务器看到的地址。
  • ASN 和网络: 来自 DB-IP Lite。
  • 网络类型: 托管或数据中心、移动运营商、运营商(移动和固定线路)、互联网服务商或未知。这是根据 ASN 做出的估计,依据已知网络列表或网络名称中的词,并不检测设备本身。
  • 位置: DB-IP Lite 给出的出口 IP 所在城市和国家。
  • 请求头: 代理是否添加了会暴露你自己 IP 的请求头。

我们把两个样本直接交给检测工具背后的服务(也就是页面提交列表的那个服务),结果如下:

数据中心(ipvolt 的服务器)移动线路(Singtel 测试线路)
状态未检测:检测工具拒绝检测 ipvolt 自己的服务器,所以我们直接用它的查询代码查了这个地址HTTP 和 SOCKS5 均可用;不支持 IPv6
出口 IP204.168.249.x165.173.26.x
ASN 和网络AS24940,Hetzner Online GmbHAS56300,MYREPUBLIC LIMITED
网络类型托管或数据中心(估计)互联网服务商(估计)
位置芬兰赫尔辛基新加坡(Toa Payoh New Town)
添加的请求头未检测没有,你的 IP 没有被转发

数据中心这一列符合预期,移动线路这一列则不然。在全部四次检测中(12:06 一次,12:58 至 12:59 UTC 之间三次),检测工具的回显服务器看到线路从 165.173.26.x 出口,它属于 AS56300,是登记在 MYREPUBLIC LIMITED 名下的地址段,所以估计结果是“互联网服务商”而不是“移动运营商”。在同一个小时里,另外四个网站通过同一条线路看到的都是 Singtel Mobile 地址,而检测工具的查询代码会把这些地址标为“移动运营商”。详见第 5 节。只检查一个目的地是不够的。

逐项检查

1. ASN 和 RDAP:这是谁的网络?

自治系统是"a connected group of one or more IP prefixes run by one or more network operators which has a SINGLE and CLEARLY DEFINED routing policy"(RFC 1930),即由一个或多个网络运营商运行、具有单一且明确路由策略的一组 IP 前缀。先查出是哪个自治系统在宣告这个出口 IP。RIPEstat 的 network-info 接口会根据 RIPE 的路由数据返回所在的路由前缀和宣告它的 ASN:

bash
curl -s "https://stat.ripe.net/data/network-info/data.json?resource=203.0.113.7"

然后向注册机构查询地址和 ASN 的持有者。RDAP 是注册机构提供这些数据的 JSON 接口,是 WHOIS 的替代方案(APNIC)。IANA 发布的引导文件列出了每个地址段由哪个注册机构的 RDAP 服务器负责(RFC 9224)。RIPE NCC 的服务器还会用 HTTP 301 把其他地区的查询重定向到正确的注册机构(RIPE Database 文档),所以加上 -L 用一个 URL 就够了:

bash
curl -sL "https://rdap.db.ripe.net/ip/203.0.113.7"
curl -sL "https://rdap.db.ripe.net/autnum/64496"

如果还想用离线数据核对,iptoasn.com 数据集在一个文件里把地址范围映射到 ASN。我们用的是 2026 年 11 月 1 日 的版本。

查询结果:

数据中心移动线路
前缀和 ASN(RIPEstat)204.168.128.0/17,AS24940119.234.24.0/21,AS45143
AS 持有者(RIPEstat)HETZNER-AS Hetzner Online GmbHSINGTELMOBILE-AS-AP - SINGTEL MOBILE INTERNET SERVICE PROVIDER Singapore
RDAP 注册机构RIPE NCC(IANA 文件指向 ARIN,ARIN 用 HTTP 303 重定向)APNIC(RIPE 的服务器用 HTTP 301 重定向)
RDAP 网络名称和地址段CLOUD-HEL1,204.168.240.0/20SINGTELMOBILE,119.234.0.0/17
RDAP 持有者Hetzner Online GmbHSingapore Telecom Mobile Pte Ltd
iptoasn.comAS24940,国家 DEAS45143,国家 SG

移动地址段登记在 Singapore Telecom Mobile 名下,ASN 名称里带有"mobile"。数据中心地址段登记在一家托管公司名下。名称只是名称,但这是首先应该拿来和代理宣传类型对比的信息。

有一个请求说明了网络类型在实际中的影响。rdap.org 是一个把 RDAP 查询转发到正确注册机构的公共服务,我们每次从数据中心服务器访问(12:06、12:56 和 13:15 UTC),它都返回 Cloudflare 的 403 页面。而在 13:15 通过移动线路发出的同一请求,无论走 HTTP 还是 SOCKS5,都得到了指向注册机构的 302 重定向。

2. PeeringDB:这是什么类型的网络?

在 PeeringDB 上,各个网络向其他网络介绍自己。每个条目都有网络类型,例如 Cable/DSL/ISP、Content 或 Enterprise。PeeringDB 自己说这些数据是"self-declared and might be rarely updated"(由网络自行声明,可能很少更新),并且"We haven't commissioned research into the accuracy of the data"(PeeringDB)。它的 API 无需账号即可查询:

bash
curl -s "https://www.peeringdb.com/api/net?asn=64496"

看返回中的 info_types 字段。我们的结果:

  • AS24940(数据中心): 条目名为 Hetzner Online,info_types 为 Content,范围为 Europe。
  • AS45143(Singtel Mobile): 没有条目;API 返回 HTTP 404。
  • AS56300(MyRepublic,即 ipvolt 检测工具看到的网络,见第 5 节): 条目名为 MyRepublic Singapore,info_types 为 Cable/DSL/ISP、Content 和 NSP。

一个把自己标为 Content 的托管 ASN 符合数据中心的特征。很多接入网络在 PeeringDB 上根本没有条目,所以没有条目本身说明不了任何问题。

3. 反向 DNS:这个地址怎么称呼自己?

PTR 记录在 in-addr.arpa 域下把地址映射回一个名称(RFC 1035 第 3.5 节)。是否有 PTR、内容是什么,由负责该地址段反向区域的一方决定。

bash
dig -x 203.0.113.7 +short
  • 数据中心: static.x.249.168.204.clients.your-server.de,名称里是倒序书写的地址(这里隐去了最后一段)。该名称能解析回同一地址,反向区域的主域名服务器是托管公司的 ns1.your-server.de。
  • 移动线路: 该线路使用过的 17 个 Singtel 地址都没有 PTR 记录(NXDOMAIN)。对 119.234 开头的地址,回答来自 APNIC 自己的 119.in-addr.arpa 区域,说明运营商没有为它们设置反向区域。唯一的 MyRepublic 地址有 PTR 名称 165-173-26-x.myrepublic.com.sg,但这个名称无法正向解析回地址。

带有"static""server"或托管公司域名的名称指向服务器。没有名称在移动网络中很常见,在许多其他网络中也一样,所以单凭这一点证明不了什么。

4. IP 数据库:免费版怎么说?

我们向三个免费数据源查询了每个地址。没有一个返回连接类型或使用类型:

  • ipinfo,不带令牌的 JSON API: ASN 和网络名称、有 PTR 时的主机名,以及城市。没有类型字段。它免费的 Lite API 返回 ASN、AS 名称、AS 域名、国家和大洲(IPinfo 文档)。
  • IP2Location.io,不带密钥: ASN、网络名称、位置和 is_proxy 标志。它的 usage_type 字段使用 MOB(Mobile ISP)、ISP(Fixed Line ISP)和 DCH(Data Center/Web Hosting/Transit)等代码(IP2Location.io 文档),只在付费套餐中提供;免费套餐的代理检测只覆盖公开的开放代理(IP2Location.io 价格)。
  • DB-IP Lite,即 ipvolt 代理检测工具使用的数据库(2026 年 11 月 1 日 构建):ASN、网络名称和城市。它的 IP to ASN 文件只列出每个地址范围的起止地址、AS 号和 AS 组织(DB-IP)。

MaxMind 把连接类型(Cable/DSL、Cellular、Corporate、Satellite)作为单独的数据库出售(MaxMind);我们没有购买。

免费数据源不一致的地方:

  • 数据中心在哪里。 ipinfo 和 DB-IP Lite 把 204.168.249.x 定位在芬兰赫尔辛基,服务器确实在那里;IP2Location.io 把它定位在荷兰阿姆斯特丹。iptoasn.com 为该地址范围给出的国家是 DE,这是网络的注册国家,而不是服务器所在地。
  • 移动线路在哪里。 ipinfo 和 IP2Location.io 对每个 Singtel 地址都回答新加坡。DB-IP Lite 为 17 个地址给出了 11 个不同的地点,从 Punggol 到 Tanjong Pagar。对于 MyRepublic 地址,ipinfo 给出 Yishun New Town,DB-IP Lite 给出 Toa Payoh New Town。
  • 是不是代理。 对我们查询的每个地址,包括这条代理线路的每个出口,IP2Location.io 都返回 is_proxy: false。

5. 轮换与 CGNAT(仅移动代理)

轮换会让设备重新连接运营商,由运营商分配新的公网 IP;ipvolt 设备上的做法见 IP 轮换。我们的测试线路每 4 分钟只接受一次轮换,更早的请求会得到 HTTP 429,所以我们每隔 250 秒轮换一次,共 10 次。

10 次轮换请求全部被接受,每次 ipify 都在 6.3 到 7.7 秒后看到新地址(中位数 6.5 秒)。10 个新地址各不相同,分布在 10 个不同的 /24 地址块中。iptoasn.com 把每一个都归入 AS45143,RDAP 把每一个都标为 SINGTELMOBILE(APNIC),RIPEstat 对它返回了数据的 8 个地址也给出相同结论。它们都没有 PTR 记录,ipinfo 和 IP2Location.io 把它们全部定位在新加坡。地址在不轮换时也会变化:10 轮中有 5 轮,新地址和几秒后的三次检查结果并不完全一致。

运营商可以用运营商级 NAT(CGNAT)让许多用户共用一个公网 IPv4 地址。RFC 6598 把 100.64.0.0/10 保留为"Shared Address Space",供运营商为 CGN 设备与用户设备之间的链路编址(RFC 6598)。在这种 NAT 后面,"A public IPv4 address in the CGN pool is shared by several subscribers at the same time",即 CGN 地址池中的一个公网地址同时被多个用户共用(RFC 6269)。这有两点影响:

  • 封锁会波及共用地址的所有人。 RFC 6269 指出,在登录失败后限制一个共享地址,"may block out other users who have not made any previous attempts"。
  • 定位很粗略。 "A subscriber behind a CGN geo-locates to wherever the prefix of the CGN appears to be"(RFC 6269 第 7 节):CGN 后面的用户会被定位到 CGN 前缀所在的位置。

从外部看不到 CGNAT。通过代理,我们只看到了公网地址,从未看到 100.64.0.0/10 中的地址。我们能看到的是出口的表现:

第 10 次轮换之后,我们没有再轮换,而是在大约 90 秒内向四个回显服务(ipify、icanhazip、ifconfig.me 和 checkip.amazonaws.com)发送了 24 个请求,其中 16 个走 HTTP,8 个走 SOCKS5。它们来自两个公网地址,都属于 Singtel Mobile(AS45143):16 个请求来自 119.234.48.x,8 个来自 119.234.44.x。所有 SOCKS5 请求都使用 119.234.48.x;HTTP 请求则在两者之间切换。

与此同时,ipvolt 检测工具在每次检测中看到的都是 MyRepublic 的 AS56300 中的 165.173.26.x,HTTP 和 SOCKS5 都是如此。这个地址在 myrepublic.com.sg 下有 PTR 名称。所以同一条线路至少通过两个网络中的三个公网地址访问互联网,网站看到哪个地址取决于是哪个网站。同时出现多个 Singtel 地址,符合运营商 NAT 从地址池中给不同连接分配不同地址的情况,但我们看不到这个 NAT,也无法从外部判断为什么有一个目的地看到的是另一个网络。

结果对照

检查数据中心(ipvolt 的服务器,赫尔辛基)移动线路(Singtel 测试线路,新加坡)
ASN 和持有者AS24940,Hetzner Online GmbHAS45143,Singapore Telecom Mobile Pte Ltd(17 个地址);AS56300,MYREPUBLIC LIMITED(1 个地址,只有 ipvolt 检测工具看到)
RDAP 网络名称CLOUD-HEL1(RIPE NCC)SINGTELMOBILE(APNIC);检测工具看到的地址为 MYREPUBLIC-SG
PeeringDB 类型ContentAS45143 没有条目;AS56300:Cable/DSL/ISP、Content、NSP
反向 DNSstatic.x.249.168.204.clients.your-server.de,可解析回原地址所有 Singtel 地址都没有;检测工具看到的地址为 165-173-26-x.myrepublic.com.sg
ipvolt 检测工具托管或数据中心(仅查询代码)4 次检测都是互联网服务商(出口在 AS56300)
ipinfo,不带令牌赫尔辛基;没有类型字段新加坡;没有类型字段
IP2Location.io,不带密钥阿姆斯特丹;is_proxy 为 false;没有 usage_type新加坡;is_proxy 为 false;没有 usage_type
DB-IP Lite赫尔辛基新加坡境内 11 个不同地点
rdap.orgHTTP 403(Cloudflare)HTTP 302 重定向到注册机构
10 次轮换不适用10 个新地址,全部在 AS45143,中位数 6.5 秒
同时出现的地址一个24 个请求中有两个 Singtel 地址,另有检测工具看到的 MyRepublic 地址

没有住宅这一列:我们没有可供测试的家庭宽带。

"移动"或"住宅"代理名不副实的迹象

以下每一条都来自我们的测试或上面的来源:

  1. ASN 属于托管公司。 我们的数据中心地址位于 Hetzner Online 的 AS24940。RDAP 把它所在的地址段命名为 CLOUD-HEL1,PeeringDB 把这个网络列为 Content。
  2. 反向 DNS 指向服务器。 我们看到的是 static.x.249.168.204.clients.your-server.de,一个托管公司域名下的静态名称。
  3. 拒绝数据中心地址段的网站会拒绝它。 rdap.org 给我们的服务器返回了 Cloudflare 403,而给移动线路返回了重定向。
  4. 出口网络随目的地而变。 作为移动线路出售的代理,访问任何网站都应该从运营商网络出口。我们的线路访问四个回显服务时来自 Singtel Mobile,访问 ipvolt 检测工具时却来自 MyRepublic 的 AS56300,其 PeeringDB 类型为 Cable/DSL/ISP、Content 和 NSP。至少用两个服务检查出口 IP,并查询看到的每一个 ASN。
  5. 轮换后的地址离开了运营商。 在我们的线路上,10 个新地址都留在 AS45143。如果新地址落在托管 ASN 中,就说明这些“移动”IP 并不在运营商网络里。

第 1 至 3 条同样适用于“住宅”代理。我们没有住宅线路可以用来验证。

这些检查无法告诉你的事

  • 设备本身。 ASN 描述的是网络,而不是网络中的设备。许多运营商用同一个 ASN 同时服务手机和家庭线路,任何外部查询都无法判断请求来自哪一种。所以代理检测工具有"运营商(移动和固定线路)"这一类型,移动代理与住宅代理也把两者视为有重叠的类别。
  • 自我描述是否准确。 PeeringDB 的类型由各网络自行声明,RDAP 名称是持有者自己登记的,而且很多接入网络在 PeeringDB 上没有条目。AS45143 就没有。
  • 数据库之间是否一致。 免费数据库彼此并不一致:同一天里,其中两个把我们的数据中心地址放在了两个不同的国家。
  • 免费获取连接类型。 我们用过的免费版都不返回这一字段。
  • CGNAT。 从外部看不到它。我们看到的是出口的表现,而不是运营商的 NAT。
  • 你没有测试的路径。 代理可以把不同目的地经由不同路线发送。每项检查只能说明它自己建立的那条连接。
  • 我们的样本。 一个运营商的一条移动线路、一个数据中心地址、一天时间,没有住宅线路。

**立即检测代理:**把代理粘贴到 ipvolt 免费的代理检测工具,再用上面的命令查询它显示的 ASN。

需要特定国家的移动 IP? 专属移动代理每天 $9 起。

参考来源

标签:ProxiesChoosing proxies