如何绕过防火墙连接到代理服务器?

如何绕过防火墙连接到代理服务器?

我正在办公室网络上进行一个小实验。我在台式机上设置了一个代理服务器(连接到我的 LAN),并让志愿者通过我的代理服务器访问互联网。一切运行良好。问题是人们无法通过笔记本电脑连接到代理服务器。我询问了我的网络管理员,他说无线网络有一个防火墙,阻止用户连接到我的代理。他说我可以通过隧道传输流量或使用 SSH。恐怕我不能完全理解发生了什么。有没有办法让连接到无线网络的用户连接到我的桌面?

我在 Windows 上使用 FreeProxy 作为我的代理服务器: http://www.handcraftedsoftware.org/index.php?page=download FreeProxy 允许我创建 SOCKS 4/4a/5 代理。这是我需要的吗?实验的一部分涉及记录用户的 URL 请求。我正在做一项测量研究。因此,任何解决方案都必须允许我记录用户的 URL 请求。此外,我需要在浏览器配置中进行哪些更改。

答案1

SSH 使用 TCP 端口 22,因此只需设置您的代理客户端和目标代理服务器以侦听 TCP 端口 22,这应该可以解决您的问题,因为您的网络管理员暗示 TCP 端口 22 存在防火墙例外。

+1一个有趣的问题,而且尤其是获得网络管理员的许可然后再尝试绕过防火墙。)

答案2

使用 SSH 隧道,您需要在想要使用代理的每台设备上安装一个 ssh 客户端,并且需要在代理服务器上安装一个 SSH 服务器。

SSH 协议支持通过 ssh 会话对任何端口进行端口转发,这称为 ssh 隧道。

您可以将其视为用户想要连接的远程端口,可在自己的计算机上本地访问。因此,假设代理端口为 8080,则用户应将其代理设置设置为 127.0.0.1:8080 - 换句话说,其计算机上的端口 8080自己的机器。这将通过隧道转发到代理服务器上的端口 8080。

每个 ssh 客户端的 ssh 隧道配置都不同。对于标准 ssh 命令行客户端,您可以使用以下命令来创建隧道:

ssh -L 8080:localhost:8080 proxy-ip-address

这句话的意思是创建一个 (L) 本地端口 8080,并通过 ssh 会话建立隧道,然后在另一端将其发送到 localhost:8080

任何本地发送到端口 8080 的数据包都将通过隧道发送到代理服务器端口 8080。

相关内容