如果您使用 vpn,第三方网站是否可以使用 javascript 或任何其他方式提取您的真实 IP 地址?或者只要您使用 vpn,他们就无法知道您的真实 IP?
答案1
JavaScript 本身不会允许它们枚举您的所有网络接口,只能查询您的系统连接的 IP。您连接的任何网站都可以知道您连接的 IP 地址。对于 VPN,您“连接”的是 VPN 的 IP 地址,而不是您自己的 IP。
在这种情况下,有两个“威胁因素”:
- 您正在连接的网站。
- 您正在通过其传递信息的 VPN 服务器。
无需 VPN 服务器帮助,网站即可暴露您的信息
如果您同意以完全信任的方式运行本机代码或 .NET/Java 代码,例如:
- 一个 ActiveX 小程序(我确信是这个)
- Java 小程序(我确定是这个)
- .NET XBAP(我对这个很确定)
- 可能是 Flash?(有人确认)
- Silverlight,也许?(有人确认)
- 任何其他允许任意本机代码或强大运行时环境的浏览器插件
上面列出的环境允许程序查询有关本机操作环境的详细信息,其中包括所有网卡/接口的列表。其中一个接口将是您的本地以太网或无线接口,它(至少)包含您的私有 NAT IP,但可能包含也可能不包含您的公共 IP。
VPN 服务器暴露您的信息的方式(有意或无意)
VPN 本身可以配置为在 HTTP 请求中注入标头,从而泄露您的 IP 地址,但这种行为对于 VPN 来说相当不寻常。这通常只有通过代理,不要将其与VPN。然而,一个任意的、不受信任的 VPN(你无法控制的 VPN,你也不完全信任它的所有者)似乎可以随意决定它想要泄露你的 IP 地址,然后就这么做。所以你需要相信该软件是不是将会做到这一点,并且机器的所有者不会修改软件来让它做到这一点。
你问这个问题的方式实际上是一个信息论问题。我们可以用简单的人机交互术语来理解这一点:
- 杰克想发消息米给柯尔特。
- 杰克不想让柯尔特知道米源自杰克。
- 杰克给米并请她将消息转达给柯尔特。
- 莎莉知道杰克是米。
此时,就完全由 Sally(一个任意的人类演员)来决定了,决定他们想用以下信息做什么:
- 讯息米
- 柯尔特的身份
- 杰克的身份
- 杰克起源于米
- 杰克要求米发送给柯尔特
莎莉可以想象:
- 发送米杰克最大的敌人
- 发送 Jack 发起的事实米杰克最大的敌人
- 将 Sally 获得的所有信息公开
- 发送米给柯尔特撒谎说这条消息是别人发的
是否VPN 软件默认配置为以某种方式运行是非常不一样来自“有可能吗......”的问题。
简短的回答是对的,这是可能的。
除非你真的信任 VPN 服务器的所有者/运营商以及服务器上运行的所有软件,否则这种可能性始终存在。如果所有者/运营商是陌生人,而你又无法分析服务器上运行的软件,那么你绝对没有理由怀疑你的身份将受保护。