---
title: "国内网站如何看到你的真实 IP：大陆分流检测的原理与三种结果"
description: "分流检测看的是同一台设备有没有两个出口：国内 CDN 如何回传客户端 IP，CORS 怎样决定网页能否读到，大陆分流、全局代理、国内直连三种结果怎么判断，以及在 cdnping 自测并生成隐藏 IP 的结果图。"
url: https://cdnping.org/blog/how-chinese-sites-see-your-real-ip
language: zh-CN
published: 2026-10-17
category: "IP 与隐私"
tags: ["分流检测","大陆分流","IP 泄露","CDN","CORS","隐私"]
source: cdnping.org
license: Free to quote and summarize with a link to the url above.
---
# 国内网站如何看到你的真实 IP：大陆分流检测的原理与三种结果

如果你的网络配置把国内域名设为直连，访问国内网站时对方看到的就是你本地宽带或移动网络的大陆出口 IP，代理不参与这一段。任何网页都可以在后台向国内 CDN 发请求，读出这个大陆 IP，再和自己看到的出口 IP 对比，判断你是否处于“大陆分流”状态。cdnping 的 [IP 与环境检测](/ip) 里的分流检测做的就是这件事。

本文讲这个机制为什么成立、三种检测结果各代表什么，以及怎么自己验证。

## 分流模式下为什么会有两个出口

在规则分流的配置下，客户端按域名或 IP 段决定每个连接怎么走：境外域名走代理，国内域名直连。国内网站因此不绕路，但设备在同一时刻有两个对外出口。

假设你打开一个部署在海外的网页，例如 cdnping.org：

1. 浏览器请求 cdnping.org，这个连接走代理，cdnping 的服务器看到的是代理出口 IP。
2. 页面里的脚本再向某个国内 CDN 的地址发请求，这个域名命中“国内直连”规则，连接从本地网络直接出去。
3. 国内 CDN 节点看到的是你的大陆出口 IP。

两个服务端看到两个不同的 IP。只要国内那一侧愿意把它看到的 IP 返回给浏览器，网页就能同时拿到这两个值。分流配置本身的逻辑见站内的 [分流原理说明](/learn/split-tunneling)。

## 国内 CDN 怎么把客户端 IP 交给浏览器

### CDN 本来就知道你的 IP

TCP 连接建立后，服务端必然知道对端地址，否则没法回包。CDN 节点把请求转发给源站时，通常还会把这个地址写进请求头，让源站知道访客是谁。所以“国内厂商知道你的 IP”并不新鲜，访问任何网站都是如此。

关键在下一步：这个 IP 能不能被第三方网页读到。

### 回传：响应体或响应头里的客户端 IP

一些国内 CDN 或边缘服务有用于诊断、调度或测速的地址，会在响应里带上客户端 IP。常见形式有两种：

- 写在响应体里，例如返回一段 JSON 或纯文本，里面有访客 IP；
- 写在响应头里，例如一个类似 `X-Client-IP` 的字段（字段名只是示例，各家命名不同）。

这些接口的本意通常是排障，比如让运维确认用户被调度到了哪个节点。但只要对外开放，谁发请求都能读到结果。

### CORS 决定网页能不能读到

浏览器有同源策略：cdnping.org 上的脚本向另一个域名发请求，默认读不到对方的响应。能不能读，取决于对方返回的 CORS 头：

| 响应头 | 作用 | 对检测的影响 |
|---|---|---|
| `Access-Control-Allow-Origin: *` 或包含请求方域名 | 允许跨域脚本读取响应 | 有了它，响应体里的 IP 就能被读到 |
| `Access-Control-Expose-Headers` | 列出允许脚本读取的非标准响应头 | IP 写在自定义头里时，必须在这里列出，脚本才拿得到 |
| 两者都没有 | 脚本读不到内容 | 这类地址无法用于读 IP，只能知道请求是否完成和耗时 |

国内 CDN 回传 IP 是前提，CORS 放行是条件。两者都满足的地址，就成了任意网页都能调用的“你的大陆 IP 是多少”查询口。

### 延迟是第二条证据

只看耗时也有信息量。直连国内 CDN 时往返一般在几十毫秒；如果请求先出境再回来，往返会明显变长。cdnping 的检测同时记录这些国内节点的延迟，和 IP 结果互相印证，不只依赖某一个接口的返回值。

## cdnping 的大陆分流检测怎么判断结果

[/ip](/ip) 页面里的大陆分流检测会向网易、腾讯、抖音、微博、优酷、小红书等国内 CDN 发请求，读取它们回传的客户端 IP 和延迟，再和 cdnping 自己看到的出口 IP 对比，给出三种结论之一：

| 结果 | 国内 CDN 看到的 IP | cdnping 看到的 IP | 国内节点延迟 | 说明 |
|---|---|---|---|---|
| 大陆分流 | 大陆 IP | 境外 IP | 低 | 国内流量直连、境外流量走代理，同时有两个出口 |
| 全局代理 | 境外 IP | 境外 IP | 高 | 所有流量都经过代理，包括访问国内网站 |
| 国内直连 | 大陆 IP | 大陆 IP | 低 | 没有使用代理，或代理没有接管浏览器流量 |

### 结果是“大陆分流”说明什么

境外服务看到的是代理出口，国内服务看到的是你的宽带或移动出口。同一个浏览器里，这两个 IP 都能被一个网页读到。从隐私角度看，“用了代理”不等于“网站不知道你的大陆 IP”。

### 结果是“全局代理”说明什么

国内 CDN 回传的也是境外 IP，国内节点延迟偏高，说明访问国内网站也绕到了境外。这时国内网站看到的是代理出口，代价是国内访问变慢，部分国内服务也可能因为境外 IP 要求额外验证。

### 结果是“国内直连”说明什么

两侧看到的都是大陆 IP。没开代理时这是正常结果。如果你以为代理开着，就要检查它是否真的接管了浏览器，例如系统代理没有生效、浏览器扩展没有启用，或当前网络绕开了设置。

### 各个 CDN 的结论不一致怎么办

有时几个国内 CDN 的结论对不上，例如大部分返回大陆 IP、个别返回境外 IP。常见原因是分流规则只覆盖了一部分国内域名，或者某个域名解析到了境外节点。这时逐个看每个 CDN 的 IP 和延迟，比只看总结论更有用。

## 动手：自己做一次检测并生成结果图

### 在浏览器里

1. 打开 [cdnping.org/ip](/ip)，等各项检测跑完。
2. 查看大陆分流检测的结论，以及每个国内 CDN 回传的 IP 和延迟。
3. 对照上面的表格，看各项是否一致。
4. 同一页还有 [DNS 泄漏和 WebRTC 泄漏](/learn/dns-leak-webrtc-leak) 检测，它们是另外两条可能暴露大陆网络信息的路径。
5. 要发给同事或贴进工单时，用页面上的生成结果图功能导出一张带水印的图片。打开隐藏 IP 选项后，图里的 IP 地址不会直接显示，适合公开分享。

### 在命令行里

用 curl 也能验证同样的机制。先看当前的境外出口：

```bash
# Cloudflare 的 trace 接口会返回它看到的客户端 IP（ip= 一行）
curl -s https://www.cloudflare.com/cdn-cgi/trace | grep '^ip='
```

再检查某个接口的 CORS 头是否允许跨域读取（把地址换成你要检查的 URL）：

```bash
# 带上 Origin 模拟跨域 GET 请求，只打印响应头
curl -s -o /dev/null -D - -H "Origin: https://example.com" "https://<要检查的地址>" \
  | grep -i -E 'access-control-allow-origin|access-control-expose-headers'
```

如果返回了 `Access-Control-Allow-Origin`，并且 IP 出现在响应体或已暴露的响应头里，这个接口就能被任意网页用来读取你的出口 IP。终端流量是否走代理取决于终端自己的代理设置，可能和浏览器不同。命令行结果和浏览器结果对不上时，先确认两者走的是不是同一条路。

### 自查清单

- [ ] 我知道自己当前是哪种模式：大陆分流、全局代理还是国内直连
- [ ] 各个国内 CDN 的结论一致，没有个别域名漏掉
- [ ] DNS 泄漏检测里的解析服务器符合预期
- [ ] WebRTC 检测没有暴露本地或大陆公网地址
- [ ] 分享结果图前已打开隐藏 IP

## 两个出口被同一网页读到，对隐私有什么影响

一个网页如果同时拿到你的境外出口和大陆出口，就能把这两个地址对应起来，而且不需要任何权限弹窗。对多数人来说这未必构成问题，但应该知道它可以发生。

IP 也不是唯一的判断依据。时区、语言、字体、延迟特征都能反映网络环境，/ip 页面把这些项目放在一起展示，方便你看到完整情况。指纹在本地计算，不上传。

cdnping 的检测只告诉你现状，不提供绕过任何平台检测的方法。使用海外 AI 服务时，请遵守各服务的条款和当地法规，地区限制要如实对待。

如果你在国内用 Claude Code、Codex 这类编程工具，需要人民币结算的接口，可以看看 [AGI Plan](https://agiplan.dev)。AGI Plan 是 cdnping 的商业合作方。AGI Plan 是多供应商大模型聚合网关，站方明确说明自己不是官方授权渠道。

## 下一步

- 去 [/ip](/ip) 跑一次检测，导出一张隐藏 IP 的结果图留档，换网络或改配置后再跑一次对比。
- 想弄清自己的出口是原生 IP 还是广播 IP，读 [原生 IP 与广播 IP](/learn/native-ip-vs-broadcast-ip)。
- 检测时发现某个 AI 服务连不上，先到 [挂了吗](/down) 和 [API 状态](/status) 看是不是服务本身的问题，再排查自己的网络。
