RDP协议流程详解(一)Connection Initiation阶段

news2024/10/7 10:25:39

        Connetction Initiation是RDP连接的第一个阶段,具体包含两个消息RDP Negotiation Request和RDP Negotiation Response,下面结合协议数据包详细分析。

        (1)RDP 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协议可以与其他安全协议结合使用,如SSL(Secure Sockets Layer)或TLS(Transport Layer Security),以提供传输层的数据加密和身份验证机制。通过这些安全协议,X.224可以确保RDP会话的机密性和保密性,示例如下。

        下面我们来重点分析RDP_NEG_REQ消息。

        RoutingToken/Cookie是可选字段,如果是RoutingToken则是用来作为负载均衡(load balancing),如果是Cookie则具体形式为“Cookie: mstshash=IDENTIFIER”,Token或Cookie只能是二者选一。

        Type取值为0x01,表明消息类型为TYPE_RDP_NEG_REQ。

        Flags字段包含8位,定义为0x01:RESTRICTED_ADMIN_MODE_REQUIRED (客户端要求为restricted admin mode,如果服务端支持则发送相应空证书),0x02:REDIRECTED_AUTHENTICATION_MODE_REQUIRED (客户端要求为Remote Credential Guard模式,如果服务器支持则基于CredSSP的重定向鉴别),0x08:CORRELATION_INFO_PRESENT(这里指示是否有rdpCorrelationInfo字段)。

        Length必须是0x0008,也就是8个字节。

        requestedProtocols指示支持的安全协议,长度为4字节。定义为0x00000000:PROTOCOL_RPD(支持标准RDP安全),0x00000001:PROTOCOL_SSL(支持TLS1.0,1.1或1.2),0x00000002:PROTOCOL_HYBRID(支持CredSSP,一般这里设置为1则TLS也设置为1),0x00000004:PROTOCOL_RDSTLS(支持RDSTLS协议),0x00000008:PROTOCOL_HYBRID_EX(一般这里设置为1则PROTOCOL_HYBRID也设置为1),0x00000010:PROTOCOL_RDSAAD(支持RDS AAD Auth安全)。

        (2)RDP 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 Security
PROTOCOL_SSL 0x00000001TLS1.0 1.1 1.2
PROTOCOL_HYBRID 0x00000002CredSSP
PROTOCOL_RDSTLS 0x00000004RDSTLS协议
PROTOCOL_HYBRID_EX 0x00000008Credential Security Support Provider protocol (CredSSP)基于
Early User Authorization Result PDU
PROTOCOL_RDSAAD 0x00000010
RDS AAD Auth安全协议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1059932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

波奇学C++:map和set

Set的底层是红黑树,红黑树是一种搜索二叉树。 Set的优势在于搜索速度上,搜索key值的时间赋值度是logn。 Set可以实现去重排序的操作,已有的值不再重复插入,插入的数据自动排序 和其他数据结构一样set支出insert,erase,find等操…

ctfshow web入门 php特性 web126-web130

1.web126 和前面一样的 payload: get: a1fl0gflag_give_me post: CTF_SHOW&CTF[SHOW.COM&funparse_str($a[1]) 或 get: ?$fl0gflag_give_me post:CTF_SHOW&CTF[SHOW.COM&funassert($a[0]) assert($a[0]) 是把fl0g赋值为flag_give_me $a[0]是当前…

​【Java】面向对象程序设计 课程笔记 面向对象基础

🚀Write In Front🚀 📝个人主页:令夏二十三 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:Java 💬总结:希望你看完之后,能对你有…

数仓使用SQL脚本在数据库中添加初始数据示例

文章目录 需要在虚拟机上开启数据库 点击确定后,可以点开这个连接,查看数据库信息 运行 init_mysql.sql 创建mall 数据库 -- 设置sql_mode set sql_mode NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES;-- 创建数据库mall create database mall;-- 切换数…

FL水果21编曲宿主软件最新版本更新下载使用教程

rt,楼主受术曲和jpop等影响,重新回到了FL编曲圈中来。目前,正在整理一份关于FL界面、快捷键操作、插件音源、风格制作等汇总笔记,笔记内容来源于来自于网上和个人的编曲经历的理解而成,欢迎大家为笔记的制作与完善提供…

【代码阅读笔记】yolov5 rknn模型部署

一、main函数思路 二、值得学习的地方 1、关注yolov5检测流程 2、其中几个重要的结构体 typedef struct {int left;int right;int top;int bottom; } YOLOV5_BOX_RECT; // box坐标信息typedef struct {char name[YOLOV5_NAME_MAX_SIZE];int class_index;YOLOV5_BOX_RECT box…

【重拾计划】深搜广搜 | luogu P1135 奇怪的电梯

luogu P1135 奇怪的电梯 题目描述方法一 : 深搜dfs方法二&#xff1a;广搜bfs其他解法 题目描述 luogu P1135 奇怪的电梯 方法一 : 深搜dfs 从点A出发&#xff0c;找到符合条件的点一直往下搜即可 代码实现如下&#xff1a; #include<iostream> #include<cstdio…

PS 图层剪贴蒙版使用方法

好 我们先打开PS软件 后面我们需要接触图框工具 在学习图框工具之前 先要掌握剪贴蒙版 这里 我们先点击左上角文件 然后选择新建 我们先新建一个画布出来 然后 我们点击 箭头指向处 新建一个空白图层 点击之后 会就多出一个空白图层 我们在这里 找到 矩形选框工具 然后 …

windows环境下使用mmdetection+mmdeploy训练自定义数据集并转成onnx格式部署

目录 实验环境安装conda创建虚拟环境安装pytorch使用 MIM 安装 MMEngine 和 MMCV安装 MMDetection准备自定义数据集修改配置信息开始训练模型转换与推理 实验环境 windows10python&#xff1a;3.8pytorch :1.8.1cuda&#xff1a;11.1mmdet&#xff1a;3.1.0mmcv&#xff1a;2.…

想要精通算法和SQL的成长之路 - 验证二叉树

想要精通算法和SQL的成长之路 - 验证二叉树 前言一. 验证二叉树1.1 并查集1.2 入度以及边数检查 前言 想要精通算法和SQL的成长之路 - 系列导航 并查集的运用 一. 验证二叉树 原题链接 思路如下&#xff1a; 对于一颗二叉树&#xff0c;我们需要做哪些校验&#xff1f; 首先…

C++:stl:stack、queue、priority_queuej介绍及模拟实现和容量适配器deque介绍

本文主要介绍c中stl的栈、队列和优先级队列并对其模拟实现&#xff0c;对deque进行一定介绍并在栈和队列的模拟实现中使用。 目录 一、stack的介绍和使用 1.stack的介绍 2.stack的使用 3.stack的模拟实现 二、queue的介绍和使用 1.queue的介绍 2.queue的使用 3.queue的…

C++篮球俱乐部管理系统

一、 本系统的设计 篮球俱乐部管理系统是一个用于管理篮球俱乐部日常运营和球队管理的软件系统。它提供了一套功能齐全的工具&#xff0c;帮助篮球俱乐部进行会员管理、训练计划安排、比赛管理、场地预订以及财务记录等方面的工作。 该管理系统的主要特点和功能包括&#xff…

fcpx插件:82种复古电影胶卷框架和效果mFilm Matte

无论您是在制作音乐剪辑、私人假期视频还是大型广告活动&#xff0c;这个专业的插件都将帮助您为您的镜头赋予真正的电影角色。 复古效果在任何视频中都能立即识别出来&#xff0c;增添了感伤的复古氛围&#xff0c;并使镜头更具说服力。使用 mFilm Matte 轻松实现这些特征&…

通过人才测评系统,对程序员岗位进行招聘测评

一、 程序员的基本工作内容 1、 负责项目组内的代码维护和更新迭代&#xff0c;保证研发效率&#xff0c;对于运营产品提出的需求应积极沟通并实现。 2、 规范相关开发文档等相关资料&#xff0c;对于有变更的代码和功能需求&#xff0c;要对开发文档做出相应的变更。 3、 作为…

从0开始深入理解并发、线程与等待通知机制(上)含大厂面试题

目录 一&#xff0c;基础概念 进程与线程 进程&#xff08;就是一代代码的执行程序&#xff0c;程序的实例&#xff09; 线程 大厂面试题&#xff1a;进程间的通信 CPU 核心数和线程数的关系 上下文切换&#xff08;Context switch&#xff09; 并行和并发 二&#xff0c;认识…

SwiftUI 4.0:两种方式实现子视图导航功能

0. 概览 从 SwiftUI 4.0 开始&#xff0c;觉悟了的苹果毅然抛弃了已“药石无效”的 NavigationView&#xff0c;改为使用全新的 NavigationStack 视图。 诚然&#xff0c;NavigationStack 从先进性来说比 NavigationView 有不小的提升&#xff0c;若要如数家珍得单开洋洋洒洒…

Leetcode---114双周赛

题目列表 2869. 收集元素的最少操作次数 2870. 使数组为空的最少操作次数 2871. 将数组分割成最多数目的子数组 2872. 可以被 K 整除连通块的最大数目 一、收集元素的最小操作次数 直接模拟&#xff0c;倒序遍历即可&#xff0c;代码如下 class Solution { public:int mi…

ROS(5)PX4仿真安装及运行

1、配置&#xff0c;提升下载速度 启动 $ cd clash-for-linux$ sudo bash start.sh$ source /etc/profile.d/clash.sh$ proxy_on 关闭 $ cd clash-for-linux$ sudo bash shutdown.sh$ proxy_off 2、安装PX4开源无人机 git clone https://github.com/PX4/PX4-Autopilot.git…

全栈开发笔记1:首个项目的收获

本文为编程导航实战项目学习笔记。 文章目录 7.跨域问题解决 2023.10.26.项目部署 2023.10.15.统一处理返回值 2023.10.14.开发注册和用户管理 2023.09303.开发登陆注册接口 2023.09.172.数据库设计1.前后端初始化 2023.9.16 7.跨域问题解决 2023.10.2 三种方式&#xff1a; …

ps插件:alpaca增效工具 (完美替代AI创成式填充) 2.8.1 中文版

Alpaca是一个Photoshop插件&#xff0c;提供了多种功能&#xff0c;帮助用户更高效地进行图像处理和设计。可以进行模型训练并无缝地融入图像中。同时还提供文本到图像的生成、图像到图像的变化、涂色、放大、深度图创建等功能&#xff0c;极大地提升了设计和艺术创作的效率和创…