如何使用WebRTC获取用户的public IPv4地址?

How to obtain user's public IPv4 address using WebRTC?

我尝试了很多不同的代码,但所有代码都只返回用户的本地 IP 地址。 (例如 192.168.1.2)。

如何使用 WebRTC 获取用户的 public IPv4 地址? (例如 104.200.21.83)

我知道这是可能的,因为即使我使用 VPN,website 也可能显示我泄露的 public IPv4 地址。

不要误会我的意思,客户端(浏览器所在 运行)可能不知道他的 public IP。我会以某种方式在 Internet 上的服务器上托管一个小型 php,它打印 $_SERVER['REMOTE_ADDR'],从 JS 调用它,将地址收集回 JS var...听起来很脏!

编辑:错误答案,以某种方式把提问的用户弄错了。

这是一个流行的proof-of-concept:

https://github.com/diafygi/webrtc-ips

对我来说,它只是发回我的私有 IP。看来您可以通过更改服务器 IP 来解决此问题:

https://github.com/diafygi/webrtc-ips/issues/33

您链接到的站点使用服务器地址 stun:stun.l.google.com:19302,它按预期返回了我的 public 地址。