networking - "What is my IP"站点如何知道我的内部 LAN 地址?

标签 networking

我现在住在旅馆里,我想看看我的外部 IP 地址是什么。我访问了一个可以帮助解决此问题的通用网站,它报告我的地址为...(为隐私起见,省略了最后几位数字)

Your IP Address Is: 69.165.XXX.XXX

Local Network IPs Detected: 10.1.XXX.XXX

Possible Proxy Detected: 1.1 localhost:3128 (squid/2.7.STABLE9)


网络 IP 确实是正确的值。这让我很困惑,因为我认为任何浏览器都不会分享这些信息。我的猜测是 Squid 正在重写请求 header 。无论如何,这是一个有点麻烦的隐私问题。

最佳答案

它使用 WebRTC 方法来收集您的本地 IP:

Firefox and Chrome have implemented WebRTC that allow requests to STUN servers be made that will return the local and public IP addresses for the user. These request results are available to javascript, so you can now obtain a users local and public IP addresses in javascript.



来源:https://github.com/vitalets/webrtc-ips
概念验证:https://vitalets.github.io/webrtc-ips/demo/

08/2019 更新:目前 PoC 不能完全发挥作用,因为 Chrome added mDNS support to increase anonymity .

关于networking - "What is my IP"站点如何知道我的内部 LAN 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12727814/

相关文章:

mysql - mysql服务器必须有静态IP地址吗? (客户端位于同一台本地计算机上)

linux - 没有屏幕的计算机的IP地址

http - HTTPS 主机 : header? 中显式默认端口的定义行为

java - 检测不可靠网络上的 TCP 丢失

hadoop - 当节点暂时与网络断开连接时,YARN中的应用程序/容器会发生什么情况

networking - 如何在 Windows 7 上查找 MAC 地址?

linux - 修改pg_hba.conf文件以允许我访问

c - 使用 Netfilter 封装和解封装 IPv4 数据包

linux - 桥接 Linux 网络和虚拟化

java - 无法从简单的 Java 代理服务器查看数据