RDP через TCP Proxy - PullRequest
       96

RDP через TCP Proxy

3 голосов
/ 30 ноября 2009

Впервые в Stackoverflow, и я надеюсь, что кто-то может мне помочь.

Я ищу подтверждение концепции прохождения RDP-трафика через TCP-прокси / туннель, который будет проходить через брандмауэры с использованием HTTPS.

Проблема связана с развертыванием образов на компьютерах, и поэтому нельзя предполагать, что .NET Framework будет присутствовать, поэтому C ++ используется в конце развертывания соединения.

Базовая система, которую я имею в настоящее время, - это программа, которая прослушивает клиентские соединения через порт, а затем передает любые данные службе WCF, которая хранит их в виде байтового массива. Машина развертывания (использующая GSoap и C ++) опрашивает службу WCF на наличие сообщений и, если она их находит, передает данные на целевой серверный процесс через сокеты. Я знаю, это звучит ужасно, но это работает для простых тестовых клиентов и серверов, которые передают данные в простые тестовые клиентские и серверные программы и через этот прокси-слой WCF / C ++ / C #.

Но я должен поддерживать трафик от RDP, VNC и, возможно, других, поэтому мне нужен прозрачный прокси-сервер для этого, и мне интересно, стоит ли использовать вышеуказанный подход. Я прочитал о SSH туннелировании, и это кажется возможным. Мой основной вопрос заключается в том, можно ли туннелировать трафик RDP через HTTPS, используя пользовательский код.

Спасибо, Джон

Ответы [ 4 ]

2 голосов
/ 23 января 2011

Портовый мост

Этот проект позволяет нескольким серверам NAT получать доступ к нескольким клиентам NAT через Интернет по одному соединению служебной шины.

alt text

Это довольно умная реализация, которая действительно заставит вас задуматься. Ниже приведен источник

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) и не уверен, какой из них более на свидание. Это может стоить расследования.

1 голос
/ 05 марта 2015

Очень простое решение - использовать socat, как описано здесь:

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

Проверено и работает безупречно над прокси моей компании.

Подробности для linux, но вы можете скачать версию socat, скомпилированную для Windows, и процесс будет таким же.

0 голосов
/ 19 декабря 2011

RD Gateway может удовлетворить ваши требования?

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

0 голосов
/ 30 ноября 2009

Пока я не закодировал решение для этого, кто-то еще. Я использую FreeCap каждый день для подключения через RDP через HTTP-прокси.

Полный исходный код доступен (похоже на Delphi, но вы можете экстраполировать соответствующие части). Однако имейте в виду, что он лицензирован по лицензии GPL.

...