检测代理/获取原始 IP 的高级技术

信息安全 网页浏览器 隐私 代理人 匿名
2021-08-20 22:41:13

即使我使用代理服务器,网站也可以通过什么方式检测到我的原始 IP 地址?我在一些网站上注意到了这一点。我使用了四种代理方法:

  • 带有代理设置的 Firefox。
  • Python 与mechanize.set_proxies.
  • Firefox 在带有虚拟机路由器的虚拟机中,这样所有虚拟机的互联网都通过代理。
  • TorBrowser(使用 Firefox 作为实际浏览器)。

以下是我注意到的预期行为:

  • 有了所有这些,如果我转到http://www.whatismyip.com/,它会给出正确的 IP 地址(代理的 IP 地址,而不是主机的 IP 地址)。
  • whatismyip.com 所有这些都说“未检测到代理”。

事实上,我访问的网站似乎确实认为我的 IP 是代理的 IP。但是,有一些奇怪的情况让我认为某些网站可以以某种方式检测到我的原始 IP 地址。我很好奇他们是如何做到这一点的。

  • 在一种情况下,通过 Firefox 使用非美国代理访问非美国站点,该站点实际上能够打印我的原始 IP 地址(来自美国)并拒绝我访问。这不应该是不可能的吗?但是,通过具有相同非美国代理的虚拟机或具有非美国出口节点的 TorBrowser 访问该站点,该站点无法这样做。
  • 在类似的情况下,我正在通过非美国代理访问另一个非美国站点。如果我从虚拟机中的 Firefox 或使用非美国出口节点的 TorBrowser 登录该站点,该站点将正常运行。但是,如果我尝试使用代理(与虚拟机使用的代理相同)或使用代理通过 Firefox 登录mechanize,它将无法登录并显示不相关的错误消息。
  • 在第三种情况下,使用该mechanize.set_proxies选项,我使一个请求过多的站点超载,因此它决定阻止访问(每当我登录时它都会故意超时)。我认为它可能阻止了代理的 IP 地址。但是,当我从另一台主机上运行代码,但使用相同的代理时,它再次工作了一段时间,直到他们再次阻止它。(不用担心,我不会再骚扰该站点 - 我一直运行该程序,因为我认为这可能是我的故障,而不是他们的障碍。)使用 Firefox+代理解决方案访问该站点从被阻止的主机之一也导致有目的的超时。

在我看来,所有这些站点,在 Firefox + 代理和mechanize案例中,都能够找到有关主机 IP 地址的信息,而在 TorBrowser 和虚拟机案例中,它们却没有。我的问题本质上是:网站如何收集这些信息?另一种问法是:TorBrowser 和阻止网站收集这些信息的虚拟机案例有什么不同?

4个回答

该网站实际上能够打印我的原始 IP 地址(来自美国)并拒绝我访问。这不应该是不可能的吗?

听起来您希望匿名。

代理可以选择是否发送X-Forwarded-For标头(包含原始 IP)。

不发送此标头或在日志中记录原始 IP 的代理被称为“匿名”代理。在您提到的情况下,您使用的代理可能将此标头转发到您正在访问的端点,因此您的连接不是匿名的。

有多种方法可以检测您的流量是否来自代理来源。两个简单的是:

  • 标题的存在X-Forwarded-For(或转发标题中的自定义数据)
  • 交叉检查代理或出口中继 (TOR) 的已知 IP
    • 由第三方维护的数据库(例如 Quova)

还有其他方法,可能需要服务器上的额外智能,可能是关联来自不同 IP 的连接之间的请求,即查看用户代理标准和请求的时间、cookie、闪存中的LSO,(您想要的原因之一cookieFlash 播放器被禁用以真正匿名化自己)。

简而言之,仅“使用代理”并不会使您匿名或无法追踪。

除了使用 IP 来查找访问者的位置外,还可以使用 Firefox 的 API 来做到这一点,据 Mozilla 称:

如果您同意,Firefox 会收集有关附近无线接入点和您计算机 IP 地址的信息。然后 Firefox 将此信息发送给默认的地理定位服务提供商 Google Location Services,以获取您的位置估计。然后与请求的网站共享该位置估计。

因此,仅使用代理服务器,除了它本身不是匿名工具这一事实之外,是不够的。(阅读视差答案以获得更多关于此的理论答案)。

TOR 捆绑包为您提供 Firefox 浏览器,该浏览器拒绝所有信息请求,并且不跟踪您的行踪,而 VM 无法访问您的网关真实信息和无线信息。

请注意,不同的浏览器收集地理位置的方式不同,因此当 Firefox 使用您周围的无线 AP 时,其他浏览器有时会使用您计算机的时区、连接到您计算机的 GPS 等等。

试试这个链接到 mozilla 的地理位置手册,以在您的浏览器中禁用此功能,并查看Firefox 发送的有关您的地理位置的信息。

尝试使用第三方工具,这些工具不会跟踪您的 IP 地址。我正在使用热点屏蔽之类的工具,它会更改您的 IP 地址。为了验证,您可以登录到您提到的网址并查看 IP,它将显示为美国 IP。

您应该设置您的 flash player 和 java 以使用代理或尝试在 firefox 浏览器中禁用 flashplayer 插件和 java 插件。这两个插件因发送用户原始 IP 地址而臭名昭著,即使通过代理服务器也是如此。此外,您使用的代理可能已在 Web 服务器上被列入黑名单,或者很多人使用同一个代理访问同一个站点,违反了服务器的 QoS 策略。