networking - “我的IP是什么”站点如何知道我的内部LAN地址?

原文 标签 networking

我现在住在一家旅馆里,我想看看我的外部IP地址是什么。我访问了一个有助于此操作的通用网站,该网站将我的地址报告为...(出于保密目的,省略了最后几位数字)

您的IP地址是:69.165.XXX.XXX
检测到的本地网络IP:10.1.XXX.XXX
检测到可能的代理服务器:1.1 localhost:3128(squid / 2.7.STABLE9)

网络IP确实是正确的值。这使我感到困惑,因为我认为任何浏览器都不会共享此信息。我的猜测是请求标头是由Squid重写的。无论如何,这是一个有点麻烦的隐私问题。

最佳答案

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


Firefox和Chrome已经实现了WebRTC,该WebRTC允许向STUN服务器发出请求,该请求将返回用户的本地和公共IP地址。这些请求结果可用于javascript,因此您现在可以使用javascript获取用户的本地和公共IP地址。


资料来源:https://github.com/vitalets/webrtc-ips
PoC:https://vitalets.github.io/webrtc-ips/demo/

08/2019更新:由于Chrome added mDNS support to increase anonymity,当前PoC不能完全正常工作。

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

相关文章:

javascript - NodeJS - TCP - 发送 HTTP 请求

linux - 有没有办法检查服务器上是否打开了某个端口?

sockets - udp 客户端在从服务器接收消息时发送 ICMP "port unreachable"

C# UDP 丢包通过所有数据包到达 (WireShark)

c# - C#中套接字的列表或ArrayList

java - 使用JMS,是否有任何方法可以将消息存储在间歇性断开的客户端上,并在网络可用时将其转发给代理?

c - 套接字中的C错误

testing - 如何模拟大型机器进行测试?

c - 了解用于接收UDP消息和打开TCP套接字的Select循环

c++ - 发送任意(原始)数据包