IP地址查询工具
显示您当前的IP地址和网络信息。
概述
你的公网 IP 地址,恰好是关于你这条连接、你在自己机器内部唯一看不到的东西。
ifconfig 显示的是路由器分配给你的私有地址;互联网另一端看到的那个地址,属于夹在
你和它之间的某个 NAT、CGNAT、VPN 或代理。
这个工具报告你的连接实际呈现出的地址,外加 Cloudflare 边缘节点本来就知道的那些 连接属性:网络运营商、自治系统号、一个大致位置,以及协商出来的 TLS 与 HTTP 细节。
这里没有输入框,因为没什么可输入的。答案是连接的属性,不是某个查询的结果。
使用方法
打开页面即可。查询在加载时自动执行。用 copy IP 把地址取走。
各字段的含义
ip —— 请求到达时所携带的地址。在 VPN 之后这是出口节点;在移动网络上它往往是
一个由成千上万用户共享的运营商网关。
org 与 asn —— 宣告这个地址段的网络。ASN 是稳定的标识符;组织名只是它对
自己的称呼。这一对信息远比地理定位可靠,而当你在排查「为什么这个网络的行为不一样」
时,它才是真正要紧的东西。
city、region、country、postalCode、loc —— 由地址段的
注册信息和路由数据推导出来的地理定位。国家可以当作可靠,城市当作一个不错的猜测,
再细的一律当作装饰。
timezone —— 从同一批数据推断而来,所以当你需要判断正确时,浏览器自己报的时区
才是更好的数据源。
colo —— 处理这个请求的 Cloudflare 数据中心,以机场代码表示。它对理解路由很
有用:一条来自大阪、却由新加坡响应的连接,可以解释一个看起来不可能的延迟数值。
httpProtocol、tlsVersion、tlsCipher —— 你的客户端与边缘节点实际
协商出来的结果。要确认一个客户端是真的会说 HTTP/2 或 TLS 1.3、而不只是声称如此,
这是最快的办法。
clientTcpRtt —— 在 TCP 握手期间测得的往返时间,单位毫秒。它是你到边缘节点的
延迟下界,任何应用层测量都不可能比它更低。
为什么地理定位天生只能是近似的
IP 地址是分配给网络的,而网络不是地点。从地址到位置的映射来自注册记录和路由数据, 这两者描述的都是管理事实,不是物理事实。
它的失效模式是系统性的,不是随机的:
- 移动网络。 流量从少数几个区域网关出去,所以一部在某座城市的手机,经常被定位 到另一座城市。
- 运营商级 NAT。 几百到几千个用户共享一个公网地址。地址本身没有任何东西能区分 他们。
- VPN 和代理。 位置是出口节点的位置——这本来就是重点。
- 企业网络。 一家公司可能把所有流量都从同一个总部出去,于是每个办公室看起来都 在同一个国家。
- 最近重新分配的地址段。 数据库比实际重分配滞后数周甚至数月。
这就是为什么这个工具把位置标注为「大致」,并且不从它推出任何结论。如果你需要知道 用户在哪里,去问他们。
你的地址究竟暴露了什么
这件事值得说准,因为通常两个方向上的说法都被夸大了。
一个 IP 地址标识的是一个网络端点,不是一个人。单凭它,观察者能得到你的网络运营商、 一个大致区域,以及你用的是住宅、移动、数据中心还是企业连接。这足以把你归类,不足以 叫出你的名字。
它一旦被组合起来就变成识别信息。你的 ISP 知道某个时刻是哪个用户持有某个地址;一个 已经拿到你账号的网站可以把地址钉在账号上;而一个连续数月保持稳定的地址,在你访问的 每一个网站上都相当于一个持久标识符,完全不需要 cookie 参与。这正是为什么「我们不用 cookie」这句话比听起来弱得多——仅靠服务器日志就足以拼出一份历史。
在 GDPR 之下,IP 地址属于个人数据。这不是关于可识别性的技术细节争论;这是已经确定的 法律立场,也是这个工具不保留它读到的值的原因。
两个实际推论:
- VPN 移动的是观察点,不是取消观察。 你的 VPN 服务商看到的,正是过去你的 ISP 看到的。你改变的是信任对象,不是能盯着你的人数。
- 按 IP 封禁会伤及无辜。 因为 CGNAT 和企业出口让地址成为共享的,封掉一个地址就 等于封掉它后面所有人。浏览器指纹 工具覆盖的是这个问题 的另一半——即使地址变了,浏览器还是会暴露什么。
示例
- 确认 VPN 真的在承载你的流量。 比较连接前后的
org。如果它依然写着你的 ISP, 说明隧道并没有在转发你以为的那些流量。 - 把地址加入白名单。 取到地址,交给维护名单的人。先确认它是否稳定——住宅地址 往往并不稳定。
- 排查异常延迟。 读
colo和clientTcpRtt。被路由到一个很远的数据中心是网络 路径问题,不是应用问题。 - 验证协议支持。
httpProtocol和tlsVersion报告的是实际协商结果,它能终结 那些配置文件解决不了的争论。 - 检查 IPv6。 如果显示的是 IPv6 地址,说明你的连接优先选择了它。很多「IPv6 已 启用」的说法经不起这一检验。
说明
地址是在边缘节点从连接自身的头信息里读出来的,因此无法通过发送一个不同的
X-Forwarded-For 来伪造——生产环境中报告的值不参考那个头。
没有值的字段会被省略,而不是显示为空或者猜一个。当 Cloudflare 对某条连接没有城市 信息时,返回的结果里就没有城市——这个答案更短,也比编一个更诚实。
不做任何存储。这些值只在响应期间存在,不会写入我们保留的日志或数据库; 隐私政策 连同其他涉及服务器环节的工具一起说明了这一点。
如果你想知道一个域名解析到什么、而不是自己的连接长什么样,用 DNS 查询。