RDP协议简介
RDP是一个多层多虚通道通讯协议,它在一个TCP连接中虚拟出若干个通道,分别进行各种信息的传输。
各个层次数据包说明:
RDP层:RDP客户端任何的用户操作,都将形成RDP数据包,并以数据包类型形成RDP包头,然后将数据包传给Secure Connection层,由Secure Connection负责将数据往下传递。
Secure Connection层:该层再收到RDP层数据包后,在RDP数据包中添加Sec层的包头,将对RDP数据进行加密,然后传给MCS层。
MCS层:在收到Sec层传来的数据包后,在该数据包中添加MCS层数据包包头信息,然后将数据包传给ISO层。
ISO层:收到MCS层的数据后,在该数据包中添加ISO包头,并将数据包传给TCP层,由TCP层负责将数据通过网络发送出去。
TCP层:这是我们常说的传输层,在收到ISO层传输过来的数据后,将通过原建立好的SOCK将数据发送出去。
注:(a)、以上所述是数据的发送过程,是一层一层往下进行处理,接收过程则相反,一层一层往上对数据组合并上传。
(b)、初始化数据包时,是从下往上先调用TCP_init开辟空间并初始化,然后再由ISO层对ISO层的内容进行初始化,依此往上类推。
首先在建立连接时,会与服务器之间建立一条TCP连接,再在该TCP连接中虚拟出若干条通道。这些虚通道主要有:
全局通道。
剪贴板通道。
声音映射通道。
其它设备通道(如Serial、Disk、Print、Parallel等)等等。
RDP数据包的类型:
接收端在接收到数据包,并经过各层的处理后最终形成明文RDP数据包后,在每个数据包的包头都含有数据包的类型说明字段,该字段指明本数据包是什么类型,如:
终端服务传向客户端的数据包类型举例:
显示区域更新包;
鼠标指针位置变动包;
剪站板操作数据包;
声音数据包;
RDP打印数据包;
磁盘读写请求包及写数据包;
串口读写请求包及写数据包;
并口读写请求包及写数据包等等
客户端传向终端服务器的数据包类型举例:
RDP是一个多层多虚通道通讯协议,它在一个TCP连接中虚拟出若干个通道,分别进行各种信息的传输。
各个层次数据包说明:
RDP层:RDP客户端任何的用户操作,都将形成RDP数据包,并以数据包类型形成RDP包头,然后将数据包传给Secure Connection层,由Secure Connection负责将数据往下传递。
Secure Connection层:该层再收到RDP层数据包后,在RDP数据包中添加Sec层的包头,将对RDP数据进行加密,然后传给MCS层。
MCS层:在收到Sec层传来的数据包后,在该数据包中添加MCS层数据包包头信息,然后将数据包传给ISO层。
ISO层:收到MCS层的数据后,在该数据包中添加ISO包头,并将数据包传给TCP层,由TCP层负责将数据通过网络发送出去。
TCP层:这是我们常说的传输层,在收到ISO层传输过来的数据后,将通过原建立好的SOCK将数据发送出去。
注:(a)、以上所述是数据的发送过程,是一层一层往下进行处理,接收过程则相反,一层一层往上对数据组合并上传。
(b)、初始化数据包时,是从下往上先调用TCP_init开辟空间并初始化,然后再由ISO层对ISO层的内容进行初始化,依此往上类推。
首先在建立连接时,会与服务器之间建立一条TCP连接,再在该TCP连接中虚拟出若干条通道。这些虚通道主要有:
全局通道。
剪贴板通道。
声音映射通道。
其它设备通道(如Serial、Disk、Print、Parallel等)等等。
RDP数据包的类型:
接收端在接收到数据包,并经过各层的处理后最终形成明文RDP数据包后,在每个数据包的包头都含有数据包的类型说明字段,该字段指明本数据包是什么类型,如:
终端服务传向客户端的数据包类型举例:
显示区域更新包;
鼠标指针位置变动包;
剪站板操作数据包;
声音数据包;
RDP打印数据包;
磁盘读写请求包及写数据包;
串口读写请求包及写数据包;
并口读写请求包及写数据包等等
客户端传向终端服务器的数据包类型举例: