一种基于VNC代理的云计算环境中虚拟机在线录屏方法与系统技术方案

技术编号:13679712 阅读:87 留言:0更新日期:2016-09-08 07:26
本发明专利技术公开了一种基于VNC代理的云计算环境中虚拟机在线录屏系统及方法,在线录屏系统包括VNC客户端、VNC代理服务器和安装在虚拟机上的VNC服务器。用户通过浏览器客户端访问虚拟机,VNC代理服务器接收来自浏览器的虚拟机访问请求,VNC代理服务器初始化虚拟机访问信息并将客户端带过来的认证信息转发到VNC服务器,VNC服务器对访问进行安全认证,同时,VNC代理服务器启动录屏的线程对虚拟机的界面进行录屏,并生成录屏文件保存到VNC代理服务器上。采用本发明专利技术,能更进一步规范审计和取证用户对虚拟机的操作,能实现基于云计算的虚拟化应用或系统在线录屏的功能。

【技术实现步骤摘要】

本专利技术涉及到虚拟机远程访问的在线监控及录屏技术,特别涉及一种基于云计算环境中在线的对虚拟机进行访问及录屏的方法与系统。
技术介绍
随着互联网技术及云计算的迅速发展,虚拟机的使用越来越普遍,但技术的发展也带来了越来越多的安全问题,为了更进一步规范审计和取证用户对虚拟机的操作,基于云计算的虚拟化应用或系统需要提供一种在线录屏的功能。比如在网络攻防演练平台中,为了能够监控用户演练过程中的所有操作,需要将演练全程实时录制下来并进行回放。但又不需要将环境中所有虚拟机及任何时候的屏幕都录制下来,只有用户在进行具体的演练,虚拟机屏幕有更新的时候才需要录制。现有技术中,申请号为201410514245.6的中国专利技术专利申请公开了一种基于WEB代理进行录屏审计的方法及系统,该方法中客户端通过浏览器获取RDP连接信息,并与RDP代理模块建立连接;RDP代理模块通过转发和保存前置机和客户端之间的图形界面数据,实现将浏览器的运行端部署到前置机上,显示及操作端部署在客户端;前置机浏览器在访问目标WEB服务器过程中,通过WEB代理服务器与目标WEB服务器通信,由WEB代理服务器转发和保存前置机与目标WEB服务器之间的http数据;审计模块将RDP代理模块保存的图形界面数据,与WEB代理服务器模块保存的http数据关联起来进行录屏审计。申请号为201410855090.2的中国专利技术专利申请公开了一种云终端录屏方法,包括以下步骤:步骤十一:Qmeu检测到连接桌面请求;步骤十二:Qemu进程不停检测是否有断开桌面连接的请求,有断开桌面连接的请求则进入步骤十六,结束本次录屏,保存本次录屏文件;没有断开桌面连接的请求则进入步骤十三,继续录屏;
步骤十三:视频帧监控模块检测有无桌面操作事件并且有无视频帧变化;步骤十四:此时的视频帧为冗余信息,暂停写入视频帧数据到录屏文件;步骤十五:通过Qemu接口获取桌面视频帧数据写入到本次录屏文件,即继续写入视频帧数据到录屏文件;步骤十六:录屏结束,保存本次录屏文件。以上现有技术,均不是基于VNC代理的云计算环境中虚拟机在线录屏方法与系统
技术实现思路
本专利技术所要解决的技术问题是,提供一种基于VNC代理的云计算环境中虚拟机在线录屏系统及方法,其能更好地实现云计算环境中虚拟机在线录屏。本专利技术的技术方案是:一种基于VNC代理的云计算环境中虚拟机在线录屏系统,包括VNC客户端、VNC代理服务器和安装在虚拟机上的VNC服务器;所述VNC客户端,用于显示虚拟机的桌面,实现基于VNC的RFB远程访问协议,捕获用户对虚拟机的鼠标及键盘消息的输入,并将虚拟机桌面的更新数据显示在客户端上;所述VNC代理服务器,用于接收来自VNC客户端的虚拟机远程访问请求,并将请求转发到VNC服务器,建立VNC客户端到VNC服务器之间的连接通道,并实时捕获VNC服务端虚拟机基于RFB协议的屏幕更新数据,将桌面帧数据转成图像文件,通过视频转换模块将图像文件转成视频文件,完成虚拟机的屏幕录制;所述VNC服务器,用于建立与VNC客户端的连接,处理来自客户端的桌面更新请求,并将VNC服务器的桌面数据推送给VNC客户端。所述VNC客户端是java applet实现的能够镶嵌在浏览器中运行的客户端。用户通过浏览器客户端访问虚拟机,VNC代理服务器接收来自浏览器的虚拟机访问请求,VNC代理服务器初始化虚拟机访问信息并将客户端带过来的认证信息转发到VNC服务器,VNC服务器对访问进行安全认证,同时,VNC代理服务器启动录屏的线程对虚拟机的界面进行录屏,并生成录屏文件保存到VNC代理服务器上。VNC代理服务器的录屏线程定时的抓取基于RFB协议的虚拟机桌面数据,并将数据进行编码生成JPEG的图片,再将JPEG格式的图片生成MP4视频文件
保存到VNC代理服务器上。采用上述基于VNC代理的云计算环境中虚拟机在线录屏系统进行在线录屏。所述的基于VNC代理的云计算环境中虚拟机在线录屏方法,具体包括如下流程:1)、发起虚拟机远程访问的请求;2)、VNC代理服务器接受来自客户端的虚拟机请求,解析请求中携带的参数;3)、VNC代理服务器初始化录屏线程的数据,建立VNC代理服务器与VNC服务器的通道;4)、VNC代理服务器开启录屏的线程,并标记线程正处理录屏状态,进行安全认证;5)、在安全认证之后,判断是否需要录屏,如果不需要则退出录屏线程,终止录屏;如果需要则进行正常的录屏,继续以下流程;6)、VNC客户端发送帧更新请求;7)、VNC代理服务器将VNC客户端发送的帧更新请求数据转发到VNC服务器;8)、VNC代理服务器接收来自VNC服务器的基于RFB协议的桌面图像数据,并将该图像数据编码,存放到BufferImage缓存中;9)、录屏线程定时的从BufferImage缓存中读取数据,并将该数据转成JPEG格式文件,并调用ImageConvertVideo模块,将JPEG格式文件转成MP4格式的视频文件;10)、VNC代理服务器将基于RFB协议的桌面图像数据发送到客户端,客户端将桌面图像数据进行解码,绘制到applet窗口中;11)、当VNC客户端关闭浏览器时,发送取消录屏的请求到VNC代理服务器,VNC代理服务器执行录屏线程取消功能,并关闭VNC代理服务器与VNC服务器的连接通道,停止录屏;并将BufferImage的所有数据写到视频文件中。VNC代理服务器初始化数据包括VNC的认证口令、IP、端口和用于VNC客户端显示虚拟机桌面的applet窗口数据;applet窗口数据包括接受键盘消息的按钮、窗口尺寸。在正式录屏前,VNC代理服务器需要进行认证信息包括协议版本、加密方式、安全认证以及协商后的安全认证类型、客户端与服务端的初始化信息。本专利技术主要是在云计算环境中,提供对虚拟机访问时的一种在线录屏的方法与系统,能更好地实现云计算环境中虚拟机在线录屏。采用本专利技术,能更进一步规范审计和取证用户对虚拟机的操作,能实现基于云计算的虚拟化应用或系统在线录屏的功能。用户通过浏览器客户端访问虚拟机,web代理服务器接收来自浏览器的虚拟机访问请求,代理服务器初始化虚拟机访问信息并将客户端带过来的认证信息转发到VNC服务端,VNC服务端对访问进行安全认证。同时,web代理服务器启动录屏的线程对虚拟机的界面进行录屏,并生成录屏文件保存到web代理服务器上。录屏功能主要通过以下过程实现:web代理服务器的录屏线程定时的抓取基于RFB协议的虚拟机桌面数据;将数据进行编码生成JPEG的图片;最后将JPEG格式的图片生成MP4视频文件。采用本专利技术,在网络攻防演练平台中,能将演练全程实时录制下来并进行回放,不需要将环境中所有虚拟机及任何时候的屏幕都录制下来,能实现在用户在进行具体的演练、虚拟机屏幕有更新时进行录制。附图说明图1为基于VNC代理的云计算环境中虚拟机在线录屏系统的构架示意图。图2为web访问虚拟机时在线录屏的流程图。具体实施方式为了使本专利技术说的更加明白清楚,下面结合附图对本专利技术作进一步说明。请参考图1,基于VNC代理的云计算环境中虚拟机在线录屏系统包括三部分,分别是java applet实现的能够镶嵌在浏览器中运行的VNC客户端(vnc applet客户端)本文档来自技高网
...

【技术保护点】
一种基于VNC代理的云计算环境中虚拟机在线录屏系统,其特征是,包括VNC客户端、VNC代理服务器和安装在虚拟机上的VNC服务器;所述VNC客户端,用于显示虚拟机的桌面,实现基于VNC的RFB远程访问协议,捕获用户对虚拟机的鼠标及键盘消息的输入,并将虚拟机桌面的更新数据显示在客户端上;所述VNC代理服务器,用于接收来自VNC客户端的虚拟机远程访问请求,并将请求转发到VNC服务器,建立VNC客户端到VNC服务器之间的连接通道,并实时捕获VNC服务端虚拟机基于RFB协议的屏幕更新数据,将桌面帧数据转成图像文件,通过视频转换模块将图像文件转成视频文件,完成虚拟机的屏幕录制;所述VNC服务器,用于建立与VNC客户端的连接,处理来自客户端的桌面更新请求,并将VNC服务器的桌面数据推送给VNC客户端。

【技术特征摘要】
1.一种基于VNC代理的云计算环境中虚拟机在线录屏系统,其特征是,包括VNC客户端、VNC代理服务器和安装在虚拟机上的VNC服务器;所述VNC客户端,用于显示虚拟机的桌面,实现基于VNC的RFB远程访问协议,捕获用户对虚拟机的鼠标及键盘消息的输入,并将虚拟机桌面的更新数据显示在客户端上;所述VNC代理服务器,用于接收来自VNC客户端的虚拟机远程访问请求,并将请求转发到VNC服务器,建立VNC客户端到VNC服务器之间的连接通道,并实时捕获VNC服务端虚拟机基于RFB协议的屏幕更新数据,将桌面帧数据转成图像文件,通过视频转换模块将图像文件转成视频文件,完成虚拟机的屏幕录制;所述VNC服务器,用于建立与VNC客户端的连接,处理来自客户端的桌面更新请求,并将VNC服务器的桌面数据推送给VNC客户端。2.根据权利要求1所述的基于VNC代理的云计算环境中虚拟机在线录屏系统,其特征是,所述VNC客户端是java applet实现的能够镶嵌在浏览器中运行的客户端。3.一种基于VNC代理的云计算环境中虚拟机在线录屏方法,其特征是,用户通过浏览器客户端访问虚拟机,VNC代理服务器接收来自浏览器的虚拟机访问请求,VNC代理服务器初始化虚拟机访问信息并将客户端带过来的认证信息转发到VNC服务器,VNC服务器对访问进行安全认证,同时,VNC代理服务器启动录屏的线程对虚拟机的界面进行录屏,并生成录屏文件保存到VNC代理服务器上。4.根据权利要求3所述的基于VNC代理的云计算环境中虚拟机在线录屏方法,其特征是,VNC代理服务器的录屏线程定时的抓取基于RFB协议的虚拟机桌面数据,并将数据进行编码生成JPEG的图片,再将JPEG格式的图片生成MP4视频文件保存到VNC代理服务器上。5.根据权利要求3所述的基于VNC代理的云计算环境中虚拟机在线录屏方法,其特征是,采用权利要求1或2所述的基于VNC代理的云计算环境中虚拟机在线录屏系统进行在线录屏。6.根据权利要求3所述的基于VNC代理的云计...

【专利技术属性】
技术研发人员:侯美佳黄澄清舒敏姚维李平南金暐董琳彭义刚
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1