如何判断我的宽带上是否有透明的 HTTP 代理?

7 transparent-proxy

我正在尝试确定我的宽带提供商是否使用透明代理。大多数情况下我不介意他们是否这样做,但今天我试图预览我在 DNS 传播之前从一台服务器移动到另一台服务器的站点。所以我将新的 IP 地址放入 /etc/hosts 并希望能够连接到新服务器,但可惜我仍然得到旧的。

为了证明我正在与“新”服务器通话,我正在远程登录到新的IP 地址并执行以下操作:

GET /
Host: www.example.com
Run Code Online (Sandbox Code Playgroud)

仍然影响到旧服务器。

我在互联网上其他地方的另一台主机上尝试了相同的操作,该主机上肯定没有透明代理缓存,这次它命中了正确的服务器。

所以我相当确定我的宽带线路上有一个缓存......并且缓存正在执行自己的 DNS 查找,这当然会覆盖我的 /etc/hosts 文件。

但是,有什么方法可以让我找到更多关于它的信息,并确认它在那里?

  • 我的网络请求的“源 IP 地址”似乎是我的家庭 IP 地址,因此不会显示代理缓存

  • Wireshark 检查数据包以查看直接与站点(例如在本地主机上)通信与通过代理通信时是否有任何区别,我没有取得任何成功。

任何人都可以提供任何智慧的话吗?是否有任何可靠的方法来检测或识别内联/透明代理缓存?

谢谢

小智 1

如果您使用 IP 地址连接到远程服务器,则 /etc/hosts 和/或 DNS 记录的内容并不重要。

您可以尝试从本地计算机和远程计算机上针对有问题的 IP 地址运行nmap ,查看它标识为正在使用的远程 TCP/IP 堆栈的内容,并查看它是否与您想要的匹配(或不匹配)。考虑到您对服务器操作系统的了解。

如果您想避免使用代理,您可以尝试使用 SSL 或任意非标准端口。

您也许可以通过查看您的计算机连接到一台或多台远程计算机上的端口 80 所需的时间来了解一些信息。如果您的 ISP 正在运行本地透明代理,那么无论您尝试连接到较近还是较远的计算机,打开连接所需的时间都应该非常相似,因为无论哪种情况,您实际上都连接到附近的机器。httperf在这方面可能会有所帮助。

您还可以通过关闭远程服务器,然后尝试通过代理连接来学习一些东西 - 如果您可以成功连接到不接受连接的计算机,这不是一个好兆头。