机场会看到我的什么数据?HTTPS、DNS 和元数据详解
机场能看到你连了哪里,但在 HTTPS 加密下通常看不到你做了什么。具体来说,机场节点可以看到你访问的域名、目标 IP、连接时间、持续时长和流量大小;而网页内容、输入的密码、发送的消息等经过 HTTPS 加密的部分,机场无法直接读取。
先理解两层加密
使用机场时,你的数据通常经过两层保护,它们保护的对象不同:
- 代理协议加密(如 Shadowsocks、VMess、Trojan 等):保护的是“你的设备 → 机场节点”这一段,防止本地网络和运营商看到你访问了什么。到了机场节点,这层加密就被解开了。
- HTTPS(TLS)加密:由你的浏览器或 App 与目标网站直接协商,保护的是“你的设备 → 目标网站”的整个过程。机场节点只是转发这些加密数据,没有解密所需的密钥。
所以关键结论是:代理协议的加密是防外人的,不是防机场的;真正让机场看不到内容的,是网站本身使用的 HTTPS。
访问 HTTPS 网站时:能看到与看不到
| 数据类型 | 机场能否看到 | 说明 |
|---|---|---|
| 访问的域名 | 通常能 | 来自 TLS 握手中的 SNI 字段或代理请求的目标地址 |
| 目标服务器 IP 和端口 | 能 | 转发连接必须知道 |
| 连接时间和时长 | 能 | 节点日志可以记录 |
| 上传、下载的数据量 | 能 | 本来就用于计算流量 |
| 具体网址路径(如 /video/123) | 不能 | 属于加密内容 |
| 网页内容、搜索关键词 | 不能 | 属于加密内容 |
| 账号、密码、Cookie | 不能 | 属于加密内容 |
| 聊天消息、上传的文件内容 | 不能 | 属于加密内容 |
也就是说,机场能知道你在某个时间访问了某个视频网站、传了多少数据,但不知道你看的是哪个视频、搜了什么。
访问 HTTP 网站时
如果网站没有使用 HTTPS(地址栏以 http:// 开头,浏览器通常会提示“不安全”),那么经过机场节点的数据就是明文,机场理论上可以看到全部内容,包括网址、页面和你提交的表单。
如今主流网站几乎都已启用 HTTPS,但一些小网站、老旧系统或某些 App 内部接口仍可能存在明文传输。在这类页面上不要输入重要信息。
DNS 查询会暴露什么
DNS 是把域名翻译成 IP 地址的过程。使用机场时,DNS 查询的去向取决于客户端配置:
- 在节点端解析:客户端把域名直接交给机场节点,由节点去解析。此时机场能看到域名,但本地运营商看不到。
- 在本地解析:客户端先在本地查询 DNS,再把 IP 发给节点。此时本地网络能看到你查询了哪些域名,可能造成 DNS 泄露。
- 使用加密 DNS(DoH/DoT):查询内容对中间网络加密,但 DNS 服务商本身仍然能看到。
多数现代客户端会根据分流规则自动处理:走代理的域名交给远端解析,国内域名本地解析。无论哪种方式,走代理的那部分域名,机场基本都能知道,这一点是由代理的工作原理决定的。
元数据为什么也值得在意
很多人觉得“只看到域名没关系”,但元数据组合起来也能反映不少信息:
- 什么时间段在线、使用习惯如何;
- 常用哪些服务、经常访问哪些网站;
- 是否在某个时间点上传了大量数据。
正规的服务商通常会声明不记录或只短期保留连接日志,但用户无法从外部核实这些声明。因此合理的态度是:把机场当作能看到元数据的第三方,按这个前提安排自己的使用方式。
需要警惕的异常情况
以下情况会突破 HTTPS 的保护,应当警惕:
- 被要求安装根证书或“信任描述文件”:安装后,持有对应私钥的一方就可能解密你的 HTTPS 流量。正常的机场服务不需要这样做。
- 浏览器出现证书错误警告:说明连接可能被篡改,不要点击“继续访问”。
- 来源不明的修改版客户端:可能额外收集数据,应从官方渠道获取客户端。
如何减少暴露
- 坚持使用 HTTPS 网站,开启浏览器的“仅 HTTPS”模式;
- 敏感通信使用端到端加密的应用;
- 使用规则模式,让国内流量直连,不经过机场;
- 不安装任何来路不明的证书和描述文件;
- 重要账号开启两步验证,即使密码泄露也多一道保护。