在 Windows 7 上,我有一个运行在我127.0.0.1:34567
需要访问的本地地址上的 SSH 隧道,因此我可以12.34.56.78:8080
在 SSH 代理的帮助下访问,因为我无法直接访问该 IP(由于不在白名单上)。
因此,我的基本简单目标是,在 Windows 上,每当我12.34.56.78:8080
从任何地方(例如我的浏览器)请求时,我希望请求被127.0.0.1:34567
透明地转移到,并且如果可能的话,我想要一个软件解决方案而不是硬件解决方案。我认为这通常是在 Linux 中通过 iptables 实现的,但我正在寻找可以在 Windows 上使用的东西。
有谁知道这怎么可能?如果我需要为此使用任何外部 Windows 程序,那很好,但我更喜欢它是免费的。
编辑:请不要向我提供反向隧道解决方案。我的目标是请求我被阻止的相同 ip:port,但能够通过我现有的 SSH 隧道成功访问该 ip:port。反向隧道涉及请求不同的 ip:port,这不是我想要的(如果我想向不同的 ip:port 发出请求,我已经有一个可以使用的正向隧道)。
示例场景:假设您有一个 C 编译.exe
文件,您无权访问其源代码,该文件被硬编码为请求12.34.56.78:8000
SOAP Web 服务。问题是,您的 IP 被该 ip:port 阻止,但您确实可以访问未被阻止的 SSH 服务器,210.212.239.117:8080
并且还为该 SSH 服务器设置了 SSH 隧道以访问该 ip:port ...但是您.exe
的原始 ip:port 已硬编码,因此您不能只告诉它请求 SSH 隧道 ip:port,因为由于它是硬编码的,因此无法以任何方式更改要请求的 ip:port!您必须将210.212.239.117:8080
计算机上的请求以某种方式转移到操作系统级别的 SSH 隧道。那么你将如何做到这一点?
编辑2:我也不是在寻找路由表(我认为)。我不想修改我的请求到达目标 ip:port 的路由;我实际上想让请求的 ip 和端口自己默默地改变。我有点想实现类似hosts
文件的东西,除了将主机名解析为 ips 之外,我希望将 ip:ports 重新解析为不同的 ip:ports。
赏金:对不起,我的这个 stackoverflow 问题似乎算作 Offtopic 并且不符合提供赏金的资格,因此对任何付出额外工作并可能收到赏金的人感到抱歉!