WhatsApp 通话中谁会看到你的 IP,VPN 又改变了什么
通话对方、服务商和你所接入的网络,看到的并不是同一件事。先点名你想躲开的那位观察者,再选择中继设置或隧道路径。
一次 WhatsApp 通话会把地址信息暴露给不止一方,而这些方面学到的并不是同一件事。与你通话的人可能得知一些关于你网络路径的信息,服务端则知道是哪条连接抵达了它,而 你的接入服务商看到你产生的流量。VPN 和应用内中继各自改变这幅图景的一部分。所以 VPN 能否在通话中隐藏我的 IP 并没有唯一答案。
三类观察者,三个不同的问题
先点名你想躲开的那位观察者,因为这几套机制不能互相替代。躲开对方是寻址问题。躲开服务端是账号与连接的问题,而且回答起来比听起来难得多。
| Observer | What it can learn | What changes it |
|---|---|---|
| The other participant | Whether the media path appears to come from your address or from a relay | Relay settings in the app, or a network path that does not expose your address |
| The service | Your account, the connection your client made, and the call's participants | Very little from an address change alone; the account is the identifier |
| Your access network | That encrypted traffic to certain endpoints exists, and how much | Routing through a tunnel moves the visible endpoint |
每一行都可以单独改善。改善一行时,其他行保持原样,所以诚实的答案里通常会有部分这个词。
中继真正改变了什么
WhatsApp 记录了一项名为在通话中保护 IP 地址的设置,位于应用的进阶隐私选项里。它把通话媒体经由 WhatsApp 服务器转发,而不是让双方直接连接。同一份说明指出,经中继的通话仍然保持端到端加密。它还提醒通话质量可能会发生变化。
中继属于服务功能而非网络配置,因此只适用于应用决定中继的那些通话,对设备上的其他任何流量都不起作用。WhatsApp 关于这项功能的帮助页面是判断哪些平台提供该功能、开关位于何处的现行依据。
中继也没有把通话对服务端隐藏起来,因为服务端本身就是中继。它改变的是对方能观察到的地址信息。它还可能增加延迟,这正是该设置付出的代价。
VPN 会怎样改变通话路径
VPN 会改变它承载的一切流量看起来来自何处。它是否承载某次通话,取决于客户端的路由策略。全隧道会接管全部流量,而分离隧道可能只接管部分前缀。同时拥有 Wi-Fi 与移动数据的手机,可以在同一时刻为不同流量使用不同路径。
这意味着你在浏览器里核验过的地址,并不能证明通话的情形。应用可能持有一条早于隧道的长连接,也可能使用隧道并未覆盖的地址族。要针对真实目的地检查路由决策,而不是针对你碰巧测试过的网站。
内容端到端加密是与这一切分开的一道边界。它不会因为路径改变而崩塌,但它也不覆盖元数据。
加密与地址隐私是两个不同的承诺
让通话内容保持加密,意味着中继无法窃听对话。这并不等于中继什么都学不到:它仍然能看到哪些账号在连接、何时连接、连接多久,因为这正是中继在做的事。
反过来,对对方隐藏你的地址,并不会让你的账号对验证它的服务端变成匿名。这是两个不同的主张。把两者合并起来的隐私评估,会造出虚假的覆盖感。把要求写成关于某位具体观察者的一句话,然后检查所选机制是否针对那位观察者,而不是旁边那位。
核验你真正关心的那个主张
如果要求针对你接入的网络,检查就是可以在本地回答的路由问题。如果针对对方,检查就是应用自身的设置。再多的隧道配置也替代不了那项设置。
ip rule show | head -n 10 ip route get 198.51.100.7 ss -tun state established '( dport = :443 )' tcpdump -ni wg0 -c 20 'udp or tcp port 443'
路由查询会告诉你去往某目的地会使用哪个接口。套接字列表会告诉你是否已经存在长连接。抓包会告诉你流量是否真的经过隧道接口。把文档里的地址换成你从应用自身连接中解析出的端点,然后去读结果,而不是假定隧道接管了一切。
记下你为哪位观察者依赖了哪套机制,连同日期与应用版本。中继设置和客户端路由行为都会随时间变化,而点名观察者的记录,才是这件事里唯一长期有用的版本。