通过代理使用 Telnet 隧道 HTTP

Posted

技术标签:

【中文标题】通过代理使用 Telnet 隧道 HTTP【英文标题】:Tunnel HTTP via Proxy Using Telnet 【发布时间】:2011-11-15 08:39:35 【问题描述】:

这是场景: 我必须连接到代理服务器(比如 s1),但它不能直接访问。作为一种解决方案,我可以登录到远程服务器(我们称之为 s2),然后将我的连接转发到 s1。

在连接到 s1 和 s2 时,我必须使用 telnet。

$>telnet s2
password : 
server s2> telnet s2 80 /stream
Trying s1 80 ...... open

我应该在我的应用程序中做什么,以便我可以通过这条路由隧道我的所有 http 连接?

编辑:我颠倒了 s1 & s2

【问题讨论】:

为什么不在s2 上运行另一个代理? tinyproxy 在几分钟内编译和设置。 您描述中的服务器名称是否与您示例中的服务器名称相反? 我修正了你的标题并清理了你的问题。这与 C++、C 或 Python 无关。我还投票决定在 Off-topic 结束。 @Kerrek :我无法在 s1 上运行任何代理。 s1 实际上是一个开关。 Http through telnet with python and twisted的可能重复 【参考方案1】:

尝试通过 ssh 建立隧道......并使用 localhost:8080 作为代理

ssh -f user@s1 -L 8080:s2:80 -N

【讨论】:

@Code Monkey:我在任何服务器上都没有 ssh 服务器。所以我可能无法使用 ssh。 他在问你如何通过 telnet 隧道,而不是通过 ssh.. 减去那个。 @holms: ssh 可以建立 telnet 连接。并且 OP 正在寻求暴露 telnet 的麻烦。【参考方案2】:

您需要设置SSH Tunneling with Port Forwarding 才能使其正常工作。

【讨论】:

以上是关于通过代理使用 Telnet 隧道 HTTP的主要内容,如果未能解决你的问题,请参考以下文章

无法通过代理进行隧道传输。代理通过 https 返回“HTTP/1.1 407”

使用 JSch 创建一个通过 SSH 隧道化的 SOCKS 代理

如何配置系统通过 ssh 反向隧道/代理使用 git?

如何使用代理跳转(堡垒主机)通过 ssh 隧道连接到 mongodb 服务器

无法通过代理进行隧道传输。代理通过 https 返回“HTTP/1.1 407”

Spring boot Resttemplate通过ssh隧道的动态代理设置连接不识别远程DNS