RDP协议网络层次的作用
操作方法
- 01
1、网络连接层:在RDP协议网络实现连接中,本层的数据格式是固定的。 2、ISO数据层:在RDP功能数据网络传输中,本层的数据格式是固定的。 3、虚拟通道层:虚拟通道层用于在正常的网络连接数据之上,中个虚拟通道的功能数据。此层次的连接另见初始连接模块与通道申请模块,在此只说明正常数据连接时的层次结构。 1) 结构信息:内容 类型 虚拟通道个数 虚拟通道号 标志 字节数 1 2 2 1 值 0x64/0x68 0x0001 0x03eb至0x03ee 0x70/0xf0 2) 类型说明:0x64:客户端发送数据 0x68:客户端接收数据。 3) 用户号说明:本次连接的用户号,服务器发送的是0x0001;客户端所发送的值是初始连接时请示通道后服务器同意开通的虚拟个数。 4) 虚拟通道号说明:虚拟通道号是本层次以上所发送的功能数据所在的虚拟通道号,其由初始连接通道申请建立时确定。 5) 标志说明:客户端发送的标志为0x70;服务器端发送的标志,当功能数据是图像是(由通道号识别),其值为0x70,当功能数据是其它数据时,其值为0xf0。 4、加密解密层:加密解密层用于对网络连接中所发送、接收的数据进行加密、解密。为保证数据和系统的安全性,对网络数据进行加密传输是比较常用且必然的,RDP协议在此层对实际的功能数据进行加密。 1) 结构信息:内容 单层及层上数据总长度 加密标志 未知标志数字签名 字节数 1-2 2 2 8 值 从下字节开始计算 0x0800 0x1000/0x0203 顺序取得 2) 总长度说明:若长度大于0x7f,则长度以两字节表示,并按位与0x8000。这是由于版本升级赞成的格式不统一,长度不定,当前版本认为长度值不大于0x0fff(4095)因此只用长度值并按位与0x8000实现版本兼容,在版本升级后会以0x8x表示长度值的字节数,其中8表示非1字节,x表示具体的字节个数。 3) 加密标志说明:RDP协议要求在正常的功能连接实现之前,首先licence认证,其标志为0x8xxx,且其后数据不同于正常功能数据传输式的加密层格式,可以视licence认证为加密解密层的建立连接过程。另外功能数据的加密、解密的密钥是在初始连接时获得的,而加密解密功能的实现由加密、解密模块阐述。 4) 未知标志说明:服务器端发送过来的未知数据有两种,目前不知其意,客户端在发送数据时将其置为0x0000值。 5) 数字签名说明:对所有的加密数据在此放置8字节数字签名。其值由RC4会话键值和功能数据经过SHA运算和MD5运算得到。 5、功能数据层:功能数据是客户端与服务器进行交互的真正数据。他们都有各自固定格式,连接、控制方式,具体情况见各功能模块的说明。 根据当前我们所掌握的信息,RDP协议将图像信息、声音信息、设备信息、剪贴板内容都各自以单一的虚拟通道进行传送,而打印机映射,磁盘映射,端口映射都做为设备信息的内容进行处理。限于当前左上角工作和项目工作的限度,设备信息中只考虑了打印机映射的部分,对于打印机信息与其他的设备相关的信息没有进行有效隔离区分,而本协议说明中相关的连接信息、数据传送都只认为是打印机映射的内容。