一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于远程桌面协议的TCP透明代理实现方法、系统及装置与流程

2022-04-27 06:59:55 来源:中国专利 TAG:

一种基于远程桌面协议的tcp透明代理实现方法、系统及装置
技术领域
1.本发明涉及数据传输技术领域,更具体的说是涉及一种基于远程桌面协议的tcp透明代理实现方法、系统及装置。


背景技术:

2.通过远程桌面协议运维终端资产,目前主要采用会话集中管理、网络协议流和资产直通的方式。但是,由于适用的运维终端大多数是采用windows系统的运维终端,随着操作系统的多样化发展,现有的远程桌面协议已经无法适应一些特殊系统、特殊环境的需要。
3.具体来说,现有的远程桌面协议需要进行针对不同的协议进行区分,而且实现起来需要在运维终端上进行安装一些支撑软件。面对不同的操作系统,适配工作比较复杂。
4.另外,现有的远程桌面协议在实现功能的同时也存在不同程度的缺陷:远程桌面协议不能很好地适应客户现场特殊环境。如:运维和资产处于不同的vlan、防火墙策略不支持直通等;利用远程桌面协议连接运维资产,大部分采用直通的方式,不能够对资产运维数据进行统一管理、一定程度上不能保证数据在网络传输中的安全。


技术实现要素:

5.针对现有技术中存在的问题,本发明的目的在于提供一种基于远程桌面协议的tcp透明代理实现方法、系统及装置,能够将远程桌面协议采用tcp透明代理的方式进行处理,不在区分和研究上层协议,增加了资产运维的选择方式,便于对资产的运维管理。
6.本发明为实现上述目的,通过以下技术方案实现:
7.一种基于远程桌面协议的tcp透明代理实现方法,包括:
8.通过客户端劫持图形协议视频流的数据,并把数据发给服务器端;
9.服务器端采用七层转发的方式完成tcp代理。
10.进一步,所述客户端劫持图形协议视频流的数据,并把数据发给服务器端,包括如下步骤:
11.s11:通过dll注入和api hook,劫持视频流的关键过程;
12.s12:在客户端发起连接时识别并修改会话参数,生成相应的报文并发给tcp代理;s13:tcp代理在收到第一帧报文后进行解析,和目标资产建立链接,并进行tcp流的透传。
13.进一步,所述视频流的关键过程包括:
14.发起连接过程、数据读写过程和关闭连接过程。
15.进一步,所述在客户端发起连接时识别并修改会话参数包括:
16.在客户端发起连接时识别会话参数;
17.在发起的第一帧数据报文起始位置插入目标资产的会话参数。
18.进一步,所述目标资产的会话参数包括:
19.目标资产的ip地址和端口号。
20.进一步,所述服务器端采用七层转发的方式完成tcp代理,包括如下步骤:s21:创
建hash队列,用于保存预设套接字的文件描述符链接;
21.s22:使用预设复用模型监听所有的文件描述符链接;
22.s23:接收客户端的链接,并把文件描述符放入到hash队列中;
23.s24:解析客户端发来的报文的第一帧,并与资产建立链接,将客户端的文件描述符和资产的进行绑定;
24.s25:绑定之后,进行数据透传。
25.进一步,预设复用模型采用高性能事件模型libev。
26.相应的,本发明还公开了一种基于远程桌面协议的tcp透明代理系统,包括:视频流劫持单元,用于通过客户端劫持图形协议视频流的数据,并把数据发给服务器端;
27.tcp代理单元,用于在服务器端采用七层转发的方式完成tcp代理。
28.进一步,所述视频流劫持单元包括:
29.过程劫持模块,用于通过dll注入和api hook,劫持视频流的关键过程;
30.报文传输模块,用于在客户端发起连接时识别并修改会话参数,生成相应的报文并发给tcp代理;
31.链接模块,用于tcp代理在收到第一帧报文后进行解析,和目标资产建立链接,并进行tcp流的透传。
32.进一步,所述tcp代理单元包括:
33.初始化模块,用于创建hash队列,用于保存预设套接字的文件描述符链接;
34.监听模块,用于使用预设复用模型监听所有的文件描述符链接;
35.接收连接模块,用于接收客户端的链接,并把文件描述符放入到hash队列中;透传模块,用于解析客户端发来的报文的第一帧,并与资产建立链接,将客户端的文件描述符和资产的进行绑定;绑定之后,进行数据透传。
36.相应的,本发明还公开了一种基于远程桌面协议的tcp透明代理装置,包括:
37.存储器,用于存储计算机程序;
38.处理器,用于执行所述计算机程序时实现如上文任一项所述基于远程桌面协议的tcp透明代理方法步骤。
39.对比现有技术,本发明有益效果在于:本发明提供了一种基于远程桌面协议的tcp透明代理实现方法、系统及装置,实现了在运维终端资产时采用tcp透明代理的方式进行处理。本发明不再区分和研究上层协议,而是统一采用转发tcp层视频流进行实现。该实现方式可以作为资产运维的一种选择方式:代理模式。可以采用直通模式和代理模式并存,更加方便对资产的运维管理。
40.本发明采用tcp代理方式,能够有效的对网络中的资产运维数据进行掌控、分析,并对敏感数据进行统一分析、管理。保证资产运维的安全,以及运维数据的安全。
41.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.附图1是本发明具体实施方式的视频流劫持流程示意图。
44.附图2是本发明具体实施方式的tcp代理流程示意图。
45.附图3是本发明具体实施方式的系统结构图。
具体实施方式
46.下面结合附图对本发明的具体实施方式做出说明。
47.本发明公开了一种基于远程桌面协议的tcp透明代理实现方法,包括如下步骤:
48.步骤1:通过客户端劫持图形协议视频流的数据,并把数据发给服务器端。
49.需要特别说明的是,为了方便知道第三方应用程序与资产通信的时机,并改变它的通信对象,在本步骤中需要用到dll注入和api hook技术。基于此,客户端就可以劫持图形协议视频流的数据,并把数据发给tcp代理。
50.作为示例地,如图1所示,通过本步骤来实现视频流劫持,具体包括如下步骤:
51.s11:通过dll注入和api hook,劫持视频流的关键过程。视频流的关键过程包括:发起连接过程connect、数据读写过程send和关闭连接过程close。
52.s12:在客户端发起连接时识别并修改会话参数,生成相应的报文并发给tcp代理。其中,修改会话参数具体为:在发起的第一帧数据报文起始位置插入目标资产的会话参数,目标资产的会话参数包括目标资产的ip地址和端口号。
53.s13:tcp代理在收到第一帧报文后进行解析,和目标资产建立链接,并进行tcp流的透传。
54.步骤2:服务器端采用七层转发的方式完成tcp代理。
55.需要特别说明的,是由于现有的服务器tcp代理无法预知当前会话目标资产ip地址,所以不能修改客户端链接头目标地址进行四层转发。因此本步骤采用七层转发来完成tcp代理。采用tcp代理,能够实时审计、运维服务器资产。
56.作为示例地,如图2所示,通过本步骤来实现tcp代理,具体包括如下步骤:
57.s21:创建hash队列,用于保存预设套接字的文件描述符链接(socket fd连接)。
58.s22:使用预设复用模型监听所有的文件描述符链接。预设复用模型可采用高性能事件模型libev。
59.s23:接收客户端的链接,并把文件描述符放入到hash队列中。
60.s24:解析客户端发来的报文的第一帧,并与资产建立链接,将客户端的文件描述符和资产的进行绑定。
61.s25:绑定之后,进行数据透传。
62.相应的,如图3所示,本发明还公开了一种基于远程桌面协议的tcp透明代理系统,包括:视频流劫持单元和tcp代理单元。
63.视频流劫持单元,用于通过客户端劫持图形协议视频流的数据,并把数据发给服务器端。具体包括:
64.过程劫持模块,用于通过dll注入和api hook,劫持视频流的关键过程。
65.报文传输模块,用于在客户端发起连接时识别并修改会话参数,生成相应的报文
并发给tcp代理。
66.链接模块,用于tcp代理在收到第一帧报文后进行解析,和目标资产建立链接,并进行tcp流的透传。
67.tcp代理单元,用于在服务器端采用七层转发的方式完成tcp代理。具体包括:
68.初始化模块,用于创建hash队列,用于保存预设套接字的文件描述符链接。
69.监听模块,用于使用预设复用模型监听所有的文件描述符链接。
70.接收连接模块,用于接收客户端的链接,并把文件描述符放入到hash队列中。
71.透传模块,用于解析客户端发来的报文的第一帧,并与资产建立链接,将客户端的文件描述符和资产的进行绑定;绑定之后,进行数据透传。
72.相应的,本发明还公开了一种基于远程桌面协议的tcp透明代理装置,包括:
73.存储器,用于存储计算机程序;
74.处理器,用于执行所述计算机程序时实现如上文任一项所述基于远程桌面协议的tcp透明代理方法步骤。
75.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
76.在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
77.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
78.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
79.同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
80.结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本技术所限定的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献