我只是想知道像WhatIsMyIP这样的网站如何找出您的真实 IP 地址,即使您使用代理服务器。它说 :
检测到代理
然后他们给你真实的IP地址。
他们是否有可能使用 JavaScript 发送 HTTP 请求而不使用 Web 浏览器代理设置(Java 怎么可能实现)或者有什么神奇的技术?
我只是想知道像WhatIsMyIP这样的网站如何找出您的真实 IP 地址,即使您使用代理服务器。它说 :
检测到代理
然后他们给你真实的IP地址。
他们是否有可能使用 JavaScript 发送 HTTP 请求而不使用 Web 浏览器代理设置(Java 怎么可能实现)或者有什么神奇的技术?
有几种方法:
X-Forwarded-For
和X-Client-IP
,可以由非透明代理添加。除了 Polynomial 所说的之外,另一种常见的做法是让浏览器在使用和不使用 HTTPS 的情况下查看站点,并查看连接是否来自同一个 IP。
许多透明(例如缓存)代理将允许 SSL 流量在没有代理的情况下通过,因为代理 SSL 连接需要欺骗证书,这会导致一大堆其他问题。
在这种情况下,SSL 地址是“真实”地址,而非 SSL 地址是代理的地址。
网络服务器/网站有可能在代理后面找到真实 IP。通常,HTTP 代理服务器在收到来自客户端/用户的请求后,会在 HTTP 标头中附加一个新字段(X-Forwarded-For),然后将请求转发到 Web 服务器。此 X-Forwarded-For 字段具有客户端的 IP 地址。因此,通过分析该字段,网站可以找出真实的 IP 地址。
但是,代理服务器提供不同级别的匿名性。如果使用高度匿名的代理(也称为精英代理),那么网站可能无法找到真实的 IP 地址,因为这些精英代理通常不包含此类标头。如果您想隐藏真实 IP 地址,另一种选择是使用 Ultrasurf。
查看这篇文章以获取有关 x-forwarded-for 标头的详细信息和一个简单的演示 python 脚本,该脚本显示了 Web 服务器如何检测代理服务器的使用:X-Forwarded-For