用于c++的RDP协议

RDP protocol for c++

本文关键字:协议 RDP c++ 用于      更新时间:2023-10-16

我正在寻找通过远程桌面连接连接到另一台计算机并检查连接是否成功的代码。

我记录了数据包,发现有相当于银河系的数据包,所以我想知道是否有一些简单的代码。

RDP真的没有什么容易的,它的协议栈很大,建立在ITU OSI协议的基础上,其中包括相当多的ASN.1/BER.

你最好的选择是FreeRDP中的代码。

一点术语:您想要一个"C++的RDP客户端库"。

正如其他人所提到的,看看"FreeRDP"answers"rdesktop"项目。

使用FreeRDP,您将获得一套库(每个库都做自己的事情)。有了rdesktop,你将得到一个客户端应用程序(你必须从中分解出C代码,并围绕它"构建"你的C++api)。

如果这是一个新项目,我会选择FreeRDP而不是rdesktop,因为他们已经有了可用于C++接口的库。

是否需要检查RDP服务器是否存在,但不进行身份验证?在这种情况下,您所需要的只是用于协商协议安全性的第一对数据包。您可以在libfreerdp-core/nego.c.中找到FreeRDP中的代码

@Blanker1231:你应该看看rdesktop代码,它在c中,但可以很容易地修改为在c++代码中使用,你所要做的就是有效地桥接它们的结构流。

此外,我很早以前就在qt/c++中为a实现了Rdp7+,所以最近只是为了好玩,我利用我所有的经验编写了一个Rdp解析器和代码生成器,并在https://github.com/shashanksingh/Code-Generator-for-RDP现在它非常简单,我仍在努力使它更加智能。提醒一下,它并不能产生一切。示例包括demo.def,它在编译时将生成ms-rdp中使用的所有操作系统ms-fscc类@Blanker1231如果你想的话,只需分叉实现并开始在中推送东西