在远程桌面传输协议监控时实现操作识别的系统及方法

文档序号:7692570阅读:449来源:国知局
专利名称:在远程桌面传输协议监控时实现操作识别的系统及方法
技术领域
本发明属于远程桌面传输协议技术领域,具体是涉及一种在远程桌面传输协议监控时实现操作识别的系统及方法。
背景技术
远程桌面传输协议(Remote Desktop Protocol,RDP) RDP是微软公司制定的用于在网络上进行远程桌面访问的一套标准协议,它属于网络协议组的应用层。RDP的主要作用就是让用户可以通过RDP客户端连接到一个远程Windows服务器(这个服务器启动了 Terminal Service的服务)。通过RDP与远程服务器建立起连接的客户端,可以获取完整的远程服务器的桌面,并在这个桌面上操作服务器,整个操作过程跟直接在远程服务器上操作的效果一样,极大地方便了服务器维护人员。RDP是一个图形化的操作协议,并且由于RDP是一个用于维护服务器的协议,因此它是一种交互式的协议,即客户端提交信息的同时又有服务器端回复信息。为了保证在有限带宽的情况下流畅地使用,在RDP协议中使用了压缩传输的方式(压缩手段包括只传输图形变化部分和对传输数据包进行mppc压缩)来节省带宽;同时为了保障远程操作的安全性,RDP协议对传输数据进行了加密。这样在需要对基于RDP的远程访问操作进行监控时, 通过常用的旁路抓取数据包的方式是无法从中获得有效数据的,就必须由监控系统对RDP 协议进行二次登陆或者代理,否则就无法从加密的数据中还原并记录下维护人员的操作。所谓RDP 二次登录,就是操作人员首先通过RDP登录到监控系统上,监控系统利用 RDP传输协议的特点,使用位图的方式为已授权的操作人员提供可视化的菜单界面,操作人员可以在菜单内选择自己所需要登录的服务器直接进行登录。所谓RDP代理,就是操作人员将监控系统指定为RDP的代理服务器,所有的RDP访问均以监控系统作为代理来访问目标服务器。综上所述,根据二次登陆或者代理的原理我们可以知道,操作人员发起的RDP连接在监控系统上进行了终结,所有对维护的目标服务器的连接都是由监控系统发起的,这样监控系统对客户端而言是服务器,而对服务器端而言是客户端,通过这种方法可以完全做到将加密压缩数据流解密解压还原,进而对RDP访问过程进行监控。

发明内容
本发明主要是解决上述现有技术所存在的技术问题,提供了一种在远程桌面传输协议监控时实现操作识别的系统及方法。本发明的上述技术问题主要是通过下述技术方案得以解决的一种在远程桌面传输协议监控时实现操作识别的系统,包括RDP虚拟服务器端模块和RDP虚拟客户端模块, RDP虚拟服务器端模块与RDP客户端模块交互加密压缩数据,RDP虚拟客户端模块与RDP服务器端模块交互加密压缩数据,在RDP虚拟服务器端模块和RDP虚拟客户端模块之间建立协议数据分流处理模块,协议数据分流处理模块分别将RDP客户端模块和RDP服务器端模块的加密压缩数据处理成明文数据再转发给RDP虚拟服务器端模块和RDP虚拟客户端模块,并将明文数据复制一份交给RDP协议数据流格式化模块进行进一步处理。所述RDP协议数据流格式化模块处理RDP客户端数据时,将其中的虚拟键码信息提炼出来交由虚拟屏幕操作识别模块进行处理;所述RDP协议数据流格式化模块处理RDP服务器端数据时,将其中包含的图形信息解析出来,然后将图形信息绘制在为该远程虚拟桌面会话而开启的一个内存虚拟屏幕中,同时将其复制三份,一份交由实时监控视频流输出模块,另一份保存于追溯回放数据库,第三份提交给虚拟屏幕操作识别模块。在远程桌面传输协议监控时实现操作识别系统的实现方法为RDP虚拟服务器端模块将来自于RDP客户端的加密压缩数据进行解密解压处理并发送给协议数据分流处理模块,RDP虚拟客户端模块将来自于RDP服务器端的加密压缩数据进行解密解压处理并发送给协议数据分流处理模块;协议数据分流处理模块作为数据桥梁,将解密解压处理的 RDP客户端明文数据转发给RDP虚拟客户端,将解密解压处理的RDP服务器端明文数据转发给RDP虚拟服务器端,同时协议数据分流处理模块复制一份解密解压处理的RDP客户端明文数据和解密解压处理的RDP服务器端明文数据交给RDP协议数据流格式化模块;RDP 协议数据流格式化模块处理RDP客户端数据时是将其中的虚拟键码信息提炼出来交由虚拟屏幕操作识别模块进行处理,RDP协议数据流格式化模块处理RDP服务器端数据时是将其中包含的图形信息解析出来,然后将图形信息绘制在为该远程虚拟桌面会话而开启的一个内存虚拟屏幕中,同时将其复制三份,一份交由实时监控视频流输出模块,另一份保存于追溯回放数据库,第三份提交给虚拟屏幕操作识别模块;当虚拟屏幕操作识别模块获取到 RDP服务器端返回的图形信息时,与上一次获取的内存虚拟屏幕进行比较,分析出屏幕中变化的部分,进而从变化中提取出文字部分,再从前面鼠标键盘输入的队列中查找出对应该返回图形信息的输入节点,就可以分析出有效操作及其返回结果,在远程桌面传输协议监控时完成识别操作。本发明克服了现有远程桌面传输协议技术中不能实现监控和操作识别的缺陷,通过本发明的技术手段在满足了对远程桌面传输协议操作监控的前提下,还可以对操作进行识别,整个系统操作简单易行。


图1是本发明的一种原理结构示意图。
具体实施例方式下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。实施例参看图1,本发明包括RDP虚拟服务器端模块和RDP虚拟客户端模块,RDP 虚拟服务器端模块与RDP客户端模块交互加密压缩数据,RDP虚拟客户端模块与RDP服务器端模块交互加密压缩数据,在RDP虚拟服务器端模块和RDP虚拟客户端模块之间建立协议数据分流处理模块;协议数据分流处理模块作为数据桥梁,将解密解压处理的RDP客户端明文数据转发给RDP虚拟客户端,将解密解压处理的RDP服务器端明文数据转发给RDP虚拟服务器端,同时协议数据分流处理模块复制一份解密解压处理的RDP客户端明文数据和解密解压处理的RDP服务器端明文数据交给RDP协议数据流格式化模块;RDP协议数据流格式化模块处理RDP客户端数据时是将其中的虚拟键码信息提炼出来交由虚拟屏幕操作识别模块进行处理,RDP协议数据流格式化模块处理RDP服务器端数据时是将其中包含的图形信息解析出来,然后将图形信息绘制在为该远程虚拟桌面会话而开启的一个内存虚拟屏幕中,同时将其复制三份,一份交由实时监控视频流输出模块,另一份保存于追溯回放数据库,第三份提交给虚拟屏幕操作识别模块;当虚拟屏幕操作识别模块获取到RDP服务器端返回的图形信息时,与上一次获取的内存虚拟屏幕进行比较,分析出屏幕中变化的部分, 进而从变化中提取出文字部分,再从前面鼠标键盘输入的队列中查找出对应该返回图形信息的输入节点,就可以分析出有效操作及其返回结果,在远程桌面传输协议监控时完成识别操作。远程桌面传输协议的操作识别主要意义在于,尽管人们已经将每个会话的整个操作过程通过视频方式分会话地保存下来,但对于事后追溯工作而言,如果要从大量的视频文件中找到追溯点是一件非常困难的事。因此提供一个根据具体操作来进行检索的手段是非常必要和有效的。记录工作主要包括两方面,首先是将远程维护人员的键盘和鼠标操作进行识别并记录,然后是在屏幕变化的过程中提取维护服务器时运行各种程序的情况,这些工作都可以在虚拟屏幕操作识别模块中完成的。一般性鼠标位置的移动和点击并不会产生某种具体的操作,并且对于客户端和服务器端之间这种交互性操作,鼠标和键盘的输入和服务器对其的响应返回在时间上呈现为线性关系。因此在对操作进行识别时需要首先将获取到的服务器用户键盘或鼠标操作记录到缓冲队列中,等待服务器端对其进行返回时再做进一步处理。当服务器端返回图形信息时,由于虚拟屏幕操作识别模块是从RDP协议数据流格式化模块中直接得到了一个内存虚拟屏幕,那么可以与上一次获取的内存虚拟屏幕进行比较, 分析出屏幕中变化的部分,进而从变化中提取出文字部分,再从前面的鼠标键盘输入队列中查找出对应该返回图形信息的输入节点(查找根据时间线性分布的特点,找出时间最接近的节点即可),至此就可以很容易地分析出有效操作及其返回结果。从内存虚拟屏幕中得到文字部分的关键点为1、内存虚拟屏幕是一个以最初访问时客户端与服务器之间协商的分辨率为基础的点阵内存片,那么寻找两个虚拟屏幕的变化部分,就是在点阵内存片中寻找变化部分的内存片;2、变化部分的内存片也是一个点阵内存片,在其中寻找文字部分就是根据RDP协议的特性查找出文字的点阵,再根据系统事先就学习好的文字点阵库识别出其中的文字;3、学习点阵库的过程十分简单,就不再赘述。最后,应当指出,以上实施例仅是本发明较有代表性的例子。显然,本发明的技术方案并不限于上述实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
权利要求
1.一种在远程桌面传输协议监控时实现操作识别的系统,其特征在于所述系统包括 RDP虚拟服务器端模块和RDP虚拟客户端模块,RDP虚拟服务器端模块与RDP客户端模块交互加密压缩数据,RDP虚拟客户端模块与RDP服务器端模块交互加密压缩数据,在RDP虚拟服务器端模块和RDP虚拟客户端模块之间建立协议数据分流处理模块,协议数据分流处理模块分别将RDP客户端模块和RDP服务器端模块的加密压缩数据处理成明文数据再转发给 RDP虚拟服务器端模块和RDP虚拟客户端模块,并将明文数据复制一份交给RDP协议数据流格式化模块进行进一步处理。
2.根据权利要求1所述在远程桌面传输协议监控时实现操作识别的系统,其特征在于所述RDP协议数据流格式化模块处理RDP客户端数据时,将其中的虚拟键码信息提炼出来交由虚拟屏幕操作识别模块进行处理;所述RDP协议数据流格式化模块处理RDP服务器端数据时,将其中包含的图形信息解析出来,然后将图形信息绘制在为该远程虚拟桌面会话而开启的一个内存虚拟屏幕中,同时将其复制三份,一份交由实时监控视频流输出模块,另一份保存于追溯回放数据库,第三份提交给虚拟屏幕操作识别模块。
3.根据权利要求1或2所述在远程桌面传输协议监控时实现操作识别系统的实现方法,其特征在于所述方法为RDP虚拟服务器端模块将来自于RDP客户端的加密压缩数据进行解密解压处理并发送给协议数据分流处理模块,RDP虚拟客户端模块将来自于RDP服务器端的加密压缩数据进行解密解压处理并发送给协议数据分流处理模块;协议数据分流处理模块作为数据桥梁,将解密解压处理的RDP客户端明文数据转发给RDP虚拟客户端,将解密解压处理的RDP服务器端明文数据转发给RDP虚拟服务器端,同时协议数据分流处理模块复制一份解密解压处理的RDP客户端明文数据和解密解压处理的RDP服务器端明文数据交给RDP协议数据流格式化模块;RDP协议数据流格式化模块处理RDP客户端数据时是将其中的虚拟键码信息提炼出来交由虚拟屏幕操作识别模块进行处理,RDP协议数据流格式化模块处理RDP服务器端数据时是将其中包含的图形信息解析出来,然后将图形信息绘制在为该远程虚拟桌面会话而开启的一个内存虚拟屏幕中,同时将其复制三份,一份交由实时监控视频流输出模块,另一份保存于追溯回放数据库,第三份提交给虚拟屏幕操作识别模块;当虚拟屏幕操作识别模块获取到RDP服务器端返回的图形信息时,与上一次获取的内存虚拟屏幕进行比较,分析出屏幕中变化的部分,进而从变化中提取出文字部分,再从前面鼠标键盘输入的队列中查找出对应该返回图形信息的输入节点,就可以分析出有效操作及其返回结果,在远程桌面传输协议监控时完成识别操作。
全文摘要
本发明包括RDP虚拟服务器端模块和RDP虚拟客户端模块,RDP虚拟服务器端模块和RDP虚拟客户端模块之间建立协议数据分流处理模块,协议数据分流处理模块将明文数据交给RDP协议数据流格式化模块,RDP协议数据流格式化模块分别处理RDP客户端数据和RDP服务器端数据,虚拟屏幕操作识别模块分析出有效操作及其返回结果,在远程桌面传输协议监控时完成识别操作。本发明克服了现有远程桌面传输协议技术中不能实现监控和操作识别的缺陷,通过本发明的技术手段在满足了对远程桌面传输协议操作监控的前提下,还可以对操作进行识别,整个系统操作简单易行。
文档编号H04L29/08GK102223368SQ20111015873
公开日2011年10月19日 申请日期2011年6月14日 优先权日2011年6月14日
发明者黄艺海 申请人:杭州思福迪信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1