你打开 VPN,再打开应用,它仍然显示你所在的城市。这不是故障。应用汇报的是它早就知道的东西,而不是看到你的流量从隧道里溜出去。这个结果里藏着两个不同的问题,把它们混为一谈,人就会跑去重装客户端。

应用实际收到了什么

屏幕上的位置至少可能来自四个地方。设备定位、由 IP 地址推断出的近似城市、你账户里保存的地址,或者你填进某个表单的内容。

设备定位就是人们说“应用知道我在这里”时真正指的东西。在手机上,它是系统合并的 GPS、Wi-Fi 扫描和蜂窝数据;在笔记本电脑上,通常是查询 Wi-Fi 数据库。这一切都通过应用申请、你授予的权限送达。隧道从不参与其中。

账户数据是更狡猾的来源。一个已经存着你家庭住址的外卖应用,不需要任何传感器就能把它再显示给你。

为什么隧道盖不住这件事

VPN 替换的是你的流量看起来来自的那个地址。它不触碰权限模型、传感器,也不触碰服务器上的账户记录。应用在本地收集、随后上传的数据走在加密连接内部,而这条连接本来就是干这个的。接收服务器之所以知道内容,是因为应用选择把它发出去。

想想填进表单的名字。隧道藏起的是信封,不是信。

所以浏览器里的地址检查和某个应用会对不上。浏览器报告出口地址,应用报告传感器读数。两者都是对不同问题的正确答案。

权限、资格,以及平台允许什么

Apple 的 Mac 定位控制 是一份有用的参考,因为它讲清了这个数字从哪来:应用使用 Location Services,Mac 则根据附近的 Wi-Fi 估算自身位置。同一个页面还指出,即使 Location Services 关掉,应用和网站仍可能使用别的方法。那句提醒就是整件事的全部,只占一行。

手机上的划分类似。应用要么持有定位权限,要么没有,而平台决定它能读到什么。VPN 客户端不是权限管理器,撤销不了另一个应用的授权。

语言、时区、区域设置本身都是弱信号。它们挪动的是服务猜测的地方,不是你所处的位置。

真正的泄漏长什么样

真正的泄漏值得单独区分,因为症状不同:你的真实地址出现在页面自己的诊断信息里、DNS 查询经由你的运营商解析、IPv6 流量跑到隧道之外,或者一条分流规则把你关心的应用排除在外。这些故障会显示一个你并不打算联系的主机,而且你一关 VPN 它们就变。

线索是意外出现的方向。泄漏向陌生人暴露你是谁,而应用的提交暴露的只是它本来就有的东西。

测第一种情况,把一个站点报告的你的地址和 VPN 面板所说的已连接会话对照。测第二种情况,看你的账户资料里存了什么。

接下来十分钟该查什么

打开应用的权限条目,读一下定位设置。如果它是允许的,而你并不想让应用拿到位置,就改成大致位置或直接拒绝,然后重新加载应用,让它不再使用缓存的定位结果。接着看已保存的地址和上传字段,因为撤销权限并不会抹掉服务器已经握着的值。最后查一下 VPN 客户端的分离隧道列表,弄清哪些应用绕过了隧道。

这三件事按顺序做,含糊通常自己就散了。

如果位置经历了这一切还在,而 VPN 面板仍显示会话正常,那你看到的是存储下来的数据,不是泄漏。更换出口国家不会让它挪动。删掉那个存着的值,或者产生它的账户字段,才是唯一能让它挪动的一步。

相关文章