freerdp 值得研究
非常值得研究。 如果你的目标是做 堡垒机、远程桌面、企业安全运维软件,FreeRDP 比单纯研究一个 RDP 客户端更有价值。
FreeRDP 是一个完整的 RDP 协议实现 + C/C++ 库 + 客户端/代理组件,目前仍然活跃,2026 年 9 月刚发布 3.32.0。项目采用 Apache License 2.0。
为什么特别适合你研究
你刚才问的是 Teleport 堡垒机,那么可以把两者理解成:
企业堡垒机
│
┌───────────┴───────────┐
│ │
SSH RDP
│ │
libssh FreeRDP
│ │
Linux服务器 Windows服务器
FreeRDP 本身不是完整堡垒机,它更像是 RDP 协议发动机。
它的源码里面甚至有:
client/
libfreerdp/
channels/
server/
winpr/
rdtk/
proxy/
这些东西非常值得看。
尤其是 RDP Proxy。
2026 年的 FreeRDP 版本已经继续增强 RDP Proxy,例如支持 NSCodec、RemoteFX、智能卡模拟等。
这就和你研究的:
堡垒机 / 跳板机
直接联系起来了。
我建议你不要从头啃整个 FreeRDP
FreeRDP 很大。
你如果是为了以后做商业软件,我建议按照这个顺序:
第一阶段:先跑起来
Ubuntu:
sudo apt install freerdp2-x11
然后:
xfreerdp /v:192.168.1.100 /u:test
先理解:
客户端
↓
RDP
↓
TCP 3389
↓
Windows
第二阶段:研究核心
重点看:
libfreerdp/
↓
RDP协议
↓
连接
↓
认证
↓
图形数据
↓
输入
↓
虚拟通道
FreeRDP 本身就是模块化设计,例如历史架构中就拆分了 core、codec、channels、GDI、RAIL 等组件。
第三阶段:重点研究 Virtual Channel
这个非常有价值。
例如:
RDP
├── clipboard
├── disk
├── printer
├── serial
├── smartcard
├── audio
├── camera
└── dynamic virtual channel
这实际上就是:
远程桌面里的设备/数据重定向机制
FreeRDP 官方资料也列出了 clipboard、磁盘、串口、打印机、智能卡、声音等虚拟通道。
最值得你研究的是:FreeRDP Proxy
如果你的最终目标是做:
企业安全堡垒机
我会把学习重点放成:
FreeRDP
│
├── RDP Client
│
├── RDP Protocol
│
├── Virtual Channel
│
└── RDP Proxy ★★★★★
│
▼
企业堡垒机
然后自己在 Proxy 外面增加:
用户登录
↓
身份认证
↓
权限判断
↓
资产选择
↓
RDP Proxy
↓
Windows服务器
再加:
操作审计
录像
剪贴板审计
文件传输审计
命令/操作审计
水印
会话强制断开
多级审批
这样就从:
FreeRDP 开源项目
变成:
商业堡垒机产品的 RDP 引擎。
对你来说还有一个很重要的价值
FreeRDP 是 C 语言为主的底层项目,同时跨 Windows/Linux/macOS/Android 等平台。官方源码目前仍非常活跃,GitHub 显示有大量提交和持续开发。
所以如果你想加强:
C/C++ + Linux + 网络协议 + 安全软件
它是非常好的真实大型项目。
而且它不是那种“为了学习 C++ 写的小 Demo”,而是真正涉及:
TCP
TLS
RDP
NLA
Kerberos
NTLM
编码/解码
图形
音视频
虚拟通道
设备重定向
代理
安全
跨平台
这些都是企业软件实际会碰到的东西。
如果结合你现在研究的方向
我会建议你形成这样一条技术路线:
FreeRDP
↓
RDP Proxy
↓
Teleport/堡垒机源码
↓
VPN / Zero Trust
↓
身份认证
↓
审计
↓
企业安全运维平台
这条路线比单独学习“怎么写一个远程桌面客户端”商业价值高很多
浙公网安备 33010602011771号