3

第一次在 Stackoverflow,我希望有人可以帮助我。

我正在研究通过 TCP 代理/隧道传递 RDP 流量的概念证明,该 TCP 代理/隧道将使用 HTTPS 通过防火墙。

问题与将图像部署到机器有关,因此不能假设 .NET 框架会存在,因此在连接的部署端使用 C++。

我目前拥有的基本系统是一个程序,它侦听端口上的客户端连接,然后将任何数据传递给 WCF 服务,该服务将其存储为字节数组。部署机器(使用 GSoap 和 C++)轮询 WCF 服务以获取消息,如果找到它们,则通过套接字将数据传递到目标服务器进程。我知道这听起来很可怕,但它适用于简单的测试客户端和服务器通过这个 WCF/C++/C# 代理层将数据传入和传出简单的测试客户端和服务器程序。

但我必须支持来自 RDP、VNC 和可能其他的流量,所以我需要一个透明代理来做到这一点,我想知道上述方法是否值得追求。我已经阅读了 SSH 隧道,这似乎是一种可能性。我的基本问题是是否可以使用自定义代码通过 HTTPS 传输 RDP 流量。

谢谢约翰

4

4 回答 4

2

港口桥

该项目允许多个经过 NAT 的服务器通过单个服务总线连接通过 Internet 访问多个经过 NAT 的客户端。

替代文字

这是一个非常聪明的实现,它会真正让你思考。下面是源码

http://blogs.msdn.com/b/clemensv/archive/2009/11/18/port-bridge.aspx

...以及相同的另一种解释。

http://brentdacodemonkey.wordpress.com/2010/05/05/azure-appfabric-%e2%80%93-a-bridge-going-anywhere/

此外,在 codeplex 上还有一个名为“SocketShifter”的相关项目:http://socketshifter.codeplex.com/虽然codeplex 网站建议使用 portbridge,但我确实看到了最近的签到(2010 年 8 月),但不确定哪个更好-迄今为止。这可能值得调查。

于 2011-01-23T17:32:30.673 回答
1

一个非常简单的解决方案是使用 socat,如下所述:

http://opentechnotes.blogspot.com.au/2015/03/how-to-rdesktop-over-http-proxy.html

在我公司的代理上经过测试并完美运行。

详细信息适用于 linux,但您可以下载为 Windows 编译的 socat 版本,过程相同。

于 2015-03-05T03:01:53.477 回答
0

RD 网关可以满足您的要求吗?

http://technet.microsoft.com/en-us/library/cc772387.aspx

于 2011-12-19T15:31:16.503 回答
0

虽然我没有为此编写解决方案,但其他人已经编写了解决方案。我每天都使用FreeCap通过 HTTP 代理通过 RDP 进行连接。

完整的源代码可用(看起来是 Delphi,但您可以推断相关部分)。但是请注意,它是根据 GPL 获得许可的。

于 2009-11-30T17:53:56.587 回答