当我在研究数字商品和安全时,我偶然发现了这家公司。他们提供的服务之一是“真实 IP”。他们声称即使用户使用代理,也能获得他们的真实 IP 地址。公司和最终用户使用代理的原因有很多,一个是为了隐私,另一个是为了安全。所以,我很好奇。除了安装一个忽略系统配置以使用代理的应用程序外,如何才能获得使用代理的人的“真实 IP”地址?
答案1
由于设置和加入/使用代理服务(尤其是专门提供匿名性的服务,如 Tor)非常容易,任何公司都不可能仅仅基于与 ISP 和代理服务之间的某种关系而合法地声称能够“揭露”代理背后的某人,更不用说这些服务的数量之多以及建立这些关系的艰巨任务了。
他们最有可能做的是利用 Flash 或 Java 小程序,或者一些 JavaScript,这些程序会“直接进入源头以了解真实 IP”。这是“揭露”代理用户的最常见方法,根据至少一位白皮书在他们的网站上(需要注册,但你可以使用一次性电子邮件和虚假信息;我随机选择了他们的“在线社区”),他们所做的正是如此:
软件下载和 Web 技术:软件下载(例如 ActiveX 和用于 cookie、闪存存储对象和 java 脚本的 Web 技术)利用 IP 地址、地理位置和其他非唯一标识符在设备每次创建在线帐户时识别或重新识别设备。
这与一个巨大的数据库相结合,以确定用户构成什么级别的“威胁”,但最终的结果是,他们使用在客户端浏览器上执行的一个或多个代码对象,这确实绕过了代理,并且确实可以确定它们背后的“真实”IP。
然而,认为这使得“难以隐藏”是错误的——禁用 JavaScript、Flash、Java、ActiveX(更不用说使用不支持这些的浏览器),甚至安装一个简单的应用程序(如 Privoxy)都可以阻止这些东西进入你的浏览器,这非常容易。结合洋葱路由网络(如 Tor)和在 VM 内运行的“强化”浏览器(正如 @Blomkvist 上面评论的那样,很容易获得和使用),几乎不可能确定用户的真实 IP(更不用说这个问题:“什么是如果某人在 ISP 的私有网络内的主机上运行 NAT 虚拟机,而该 ISP 本身也为其客户提供 NAT,那么该虚拟机就是某人的“真实 IP”——这是 3 种不同的私人的“属于”该用户的 IP,但没有一个透露有关该用户的任何信息!)。
答案2
另一个技巧是使用 DNS。如果您控制域的 DNS 服务器,那么您可以看到所有传入的请求。
通过为每个访问者创建唯一的子域地址并将其嵌入 HTML 中的某个位置,您可以在 DNS 服务器上检查客户端的真实 IP。
只要客户端没有伪装 DNS,这就会起作用。