• RDP协议流程详解(二)Basic Settings Exchange 阶段


            RDP连接建立过程,在Connection Initiation后,RDP客户端和服务端将进行双方基础配置信息交换,也就是basic settings exchange阶段。在此阶段,将包含两条消息Client MCS Connect Initial PDU和Server MCS Connect Response PDU,示例如下。        

            这里Wireshark并未对TPKT协议做具体解析,我们参照RDP Open Specifications文档解释。

            (1)Client MCS Connect Initial PDU

    字段名说明
    tpkHeader4字节,包括TPKT版本以及数据包长度
    x224Data3字节,包括长度、PDU类型、EOT
    mcsCi可变长度,通过userdata封装 GCC Conference Create Request数据
    gccCCrq可变长度,GCC Conference Create Request
    ClientCoreData可变长度,类型CS_CORE 0xC001。包括RDP客户端版本、客户端图形显示设备、输入设备、客户端桌面信息以及serverSelectedProtocol(在上个阶段从server端接受到)
    ClientSecurityData12字节,CS_SECURITY 0xC002。当使用标准RDP安全时本字段有效,包括客户端支持的数据完整性和机密性算法信息,如128-bit安全强度的RC4
    ClientNetworkData可变长度,CS_NET 0xC003
    ClientClusterData12字节,CS_CLUSTER 0xC004
    ClientMonitorData可变长度,CS_MONITOR 0xC005
    ClientMessageChannelData可选,CS_MCS_MSGCHANNEL 0xC006
    ClientMultitransportChannelData可选,CS_MULTITRANSPORT 0xC00A
    clientMonitorExtendData可变长度,CS_MONITOR_EX 0xC008

            (2)Server MCS Connect Response PDU

    字段名说明
    tpktHeader4字节,包括TPKT版本以及数据包长度
    x.224Data3字节,包括长度、PDU类型、EOT
    mcsCrsp可变长度,通过userdata封装 GCC Conference Create Response数据
    gccCCrsp可变长度,GCC Conference Create Response
    serverCoreData可变长度,类型SC_CORE (0x0C01)。包括服务端支持RDP版本、clientRequestedProtocols(在上个阶段从client接收到)
    serverNetworkData可变长度,
    serverSecurityData可变长度,类型SC_SECURITY (0x0C02)。包括选定的数据机密性和完整性保护算法(若使用加强加密方式则为ENCRYPTION_METHOD_NONE
    )、加密保护级别、随机数长度及随机数、数字证书长度及数字证书。
    serverMessageChannelData可选,类型SC_NET 0x0C03
    serverMultitransportChannelData可选,类型SC_MULTITRANSPORT (0x0C08)
  • 相关阅读:
    MySQL8新特性窗口函数详解
    Linux命令之常用基础命令备查手册
    DAC测试实验——FPGA学习笔记7
    设计模式从哪来、难学吗、什么时候学、能做什么?(设计模式与开发实践 P1)
    GBase 8c 存储技术---内存引擎(三)
    UTF-8、UTF-16 和 UTF-32 字符编码之间的区别?[图文详解]
    深拷贝 浅拷贝 赋值的区别以及如何实现
    GBase8s数据库在组合查询中的集合运算符
    每日三题 9.19
    一、openCV+TensorFlow环境搭建
  • 原文地址:https://blog.csdn.net/ryanzzzzz/article/details/133578993