织梦做双语网站,河北哪些大学网站建设专业比较好,企业推广策划公司,采购平台排名Connetction Initiation是RDP连接的第一个阶段#xff0c;具体包含两个消息RDP Negotiation Request和RDP Negotiation Response#xff0c;下面结合协议数据包详细分析。 #xff08;1#xff09;RDP Negotiation Request 从数据包可以清晰看到此时的协议栈依次是TCP-TPKT… Connetction Initiation是RDP连接的第一个阶段具体包含两个消息RDP Negotiation Request和RDP Negotiation Response下面结合协议数据包详细分析。 1RDP Negotiation Request 从数据包可以清晰看到此时的协议栈依次是TCP-TPKT-X.224-RDP。其中TCP协议非常普遍这里不详细说了。TPKT协议的全称是Transport Protocol Data Unit它在RDP中负责对RDP数据进行分割、传输和重组。TPKT协议主要用于在网络中可靠地传输RDP数据。TPKT协议具体定义了如何将RDP数据分割成数据单元称为数据包以及如何在网络中传输这些数据包。每个TPKT数据包包含一个特定的头部用于标识包的开始和结束并提供错误检测和纠正机制。TPKT头部中包含了数据包长度、版本号和其他必要的控制信息。TPKT示例如下包含版本和长度。 X.224协议是一种用于远程桌面协议RDP中的传输层协议。它提供了在网络中建立和管理RDP会话的功能是RDP协议栈中的关键组成部分。X.224负责连接的建立和维护、可靠的数据传输、错误检测和纠正、会话管理以及安全性支持等功能。比如X.224协议可以与其他安全协议结合使用如SSLSecure Sockets Layer或TLSTransport Layer Security以提供传输层的数据加密和身份验证机制。通过这些安全协议X.224可以确保RDP会话的机密性和保密性示例如下。 下面我们来重点分析RDP_NEG_REQ消息。 RoutingToken/Cookie是可选字段如果是RoutingToken则是用来作为负载均衡load balancing如果是Cookie则具体形式为“Cookie: mstshashIDENTIFIER”Token或Cookie只能是二者选一。 Type取值为0x01表明消息类型为TYPE_RDP_NEG_REQ。 Flags字段包含8位定义为0x01RESTRICTED_ADMIN_MODE_REQUIRED 客户端要求为restricted admin mode如果服务端支持则发送相应空证书0x02REDIRECTED_AUTHENTICATION_MODE_REQUIRED 客户端要求为Remote Credential Guard模式如果服务器支持则基于CredSSP的重定向鉴别0x08CORRELATION_INFO_PRESENT这里指示是否有rdpCorrelationInfo字段。 Length必须是0x0008也就是8个字节。 requestedProtocols指示支持的安全协议长度为4字节。定义为0x00000000PROTOCOL_RPD支持标准RDP安全0x00000001PROTOCOL_SSL支持TLS1.0,1.1或1.20x00000002PROTOCOL_HYBRID支持CredSSP一般这里设置为1则TLS也设置为10x00000004PROTOCOL_RDSTLS支持RDSTLS协议0x00000008PROTOCOL_HYBRID_EX一般这里设置为1则PROTOCOL_HYBRID也设置为10x00000010PROTOCOL_RDSAAD支持RDS AAD Auth安全。 2RDP Negotiation Response TPKT和X.224层不具体说了重点分析RDP_NEG_RSP。 Type取值为0x02表明消息类型为TYPE_RDP_NEG_RSP。 Flags字段也是8位长度指示的是服务端的协议支持能力。 Length必须是0x0008也就是8个字节。 selectedProtocol指示协商使用的安全协议类型这里是CredSSP类型0x0000002。其他定义如下。
取值说明PROTOCOL_RDP 0x00000000standared RDP SecurityPROTOCOL_SSL 0x00000001TLS1.0 1.1 1.2PROTOCOL_HYBRID 0x00000002CredSSPPROTOCOL_RDSTLS 0x00000004RDSTLS协议PROTOCOL_HYBRID_EX 0x00000008Credential Security Support Provider protocol (CredSSP)基于 Early User Authorization Result PDU PROTOCOL_RDSAAD 0x00000010 RDS AAD Auth安全协议