CN114401265A - 一种基于远程桌面协议的tcp透明代理实现方法、系统及装置 - Google Patents

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

Info

Publication number
CN114401265A
CN114401265A CN202111538787.3A CN202111538787A CN114401265A CN 114401265 A CN114401265 A CN 114401265A CN 202111538787 A CN202111538787 A CN 202111538787A CN 114401265 A CN114401265 A CN 114401265A
Authority
CN
China
Prior art keywords
tcp
client
remote desktop
data
video stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202111538787.3A
Other languages
English (en)
Inventor
崔新安
孙强
杨青鹏
李言非
李本学
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongfu Safety Technology Co Ltd
Original Assignee
Zhongfu Safety Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongfu Safety Technology Co Ltd filed Critical Zhongfu Safety Technology Co Ltd
Priority to CN202111538787.3A priority Critical patent/CN114401265A/zh
Publication of CN114401265A publication Critical patent/CN114401265A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提出的一种基于远程桌面协议的TCP透明代理实现方法、系统及装置,属于数据传输技术领域。所述方法包括:通过客户端劫持图形协议视频流的数据,并把数据发给服务器端;服务器端采用七层转发的方式完成TCP代理。本发明实现了在运维终端资产时采用TCP透明代理的方式进行处理。本发明不再区分和研究上层协议,而是统一采用转发TCP层视频流进行实现。该实现方式可以作为资产运维的一种选择方式:代理模式。可以采用直通模式和代理模式并存,更加方便对资产的运维管理。

Description

一种基于远程桌面协议的TCP透明代理实现方法、系统及装置
技术领域
本发明涉及数据传输技术领域,更具体的说是涉及一种基于远程桌面协议的TCP透明代理实现方法、系统及装置。
背景技术
通过远程桌面协议运维终端资产,目前主要采用会话集中管理、网络协议流和资产直通的方式。但是,由于适用的运维终端大多数是采用WINDOWS系统的运维终端,随着操作系统的多样化发展,现有的远程桌面协议已经无法适应一些特殊系统、特殊环境的需要。
具体来说,现有的远程桌面协议需要进行针对不同的协议进行区分,而且实现起来需要在运维终端上进行安装一些支撑软件。面对不同的操作系统,适配工作比较复杂。
另外,现有的远程桌面协议在实现功能的同时也存在不同程度的缺陷:远程桌面协议不能很好地适应客户现场特殊环境。如:运维和资产处于不同的VLAN、防火墙策略不支持直通等;利用远程桌面协议连接运维资产,大部分采用直通的方式,不能够对资产运维数据进行统一管理、一定程度上不能保证数据在网络传输中的安全。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种基于远程桌面协议的TCP透明代理实现方法、系统及装置,能够将远程桌面协议采用TCP透明代理的方式进行处理,不在区分和研究上层协议,增加了资产运维的选择方式,便于对资产的运维管理。
本发明为实现上述目的,通过以下技术方案实现:
一种基于远程桌面协议的TCP透明代理实现方法,包括:
通过客户端劫持图形协议视频流的数据,并把数据发给服务器端;
服务器端采用七层转发的方式完成TCP代理。
进一步,所述客户端劫持图形协议视频流的数据,并把数据发给服务器端,包括如下步骤:
S11:通过DLL注入和API HOOK,劫持视频流的关键过程;
S12:在客户端发起连接时识别并修改会话参数,生成相应的报文并发给TCP代理;S13:TCP代理在收到第一帧报文后进行解析,和目标资产建立链接,并进行TCP流的透传。
进一步,所述视频流的关键过程包括:
发起连接过程、数据读写过程和关闭连接过程。
进一步,所述在客户端发起连接时识别并修改会话参数包括:
在客户端发起连接时识别会话参数;
在发起的第一帧数据报文起始位置插入目标资产的会话参数。
进一步,所述目标资产的会话参数包括:
目标资产的IP地址和端口号。
进一步,所述服务器端采用七层转发的方式完成TCP代理,包括如下步骤:S21:创建hash队列,用于保存预设套接字的文件描述符链接;
S22:使用预设复用模型监听所有的文件描述符链接;
S23:接收客户端的链接,并把文件描述符放入到hash队列中;
S24:解析客户端发来的报文的第一帧,并与资产建立链接,将客户端的文件描述符和资产的进行绑定;
S25:绑定之后,进行数据透传。
进一步,预设复用模型采用高性能事件模型libev。
相应的,本发明还公开了一种基于远程桌面协议的TCP透明代理系统,包括:视频流劫持单元,用于通过客户端劫持图形协议视频流的数据,并把数据发给服务器端;
TCP代理单元,用于在服务器端采用七层转发的方式完成TCP代理。
进一步,所述视频流劫持单元包括:
过程劫持模块,用于通过DLL注入和API HOOK,劫持视频流的关键过程;
报文传输模块,用于在客户端发起连接时识别并修改会话参数,生成相应的报文并发给TCP代理;
链接模块,用于TCP代理在收到第一帧报文后进行解析,和目标资产建立链接,并进行TCP流的透传。
进一步,所述TCP代理单元包括:
初始化模块,用于创建hash队列,用于保存预设套接字的文件描述符链接;
监听模块,用于使用预设复用模型监听所有的文件描述符链接;
接收连接模块,用于接收客户端的链接,并把文件描述符放入到hash队列中;透传模块,用于解析客户端发来的报文的第一帧,并与资产建立链接,将客户端的文件描述符和资产的进行绑定;绑定之后,进行数据透传。
相应的,本发明还公开了一种基于远程桌面协议的TCP透明代理装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述基于远程桌面协议的TCP透明代理方法步骤。
对比现有技术,本发明有益效果在于:本发明提供了一种基于远程桌面协议的TCP透明代理实现方法、系统及装置,实现了在运维终端资产时采用TCP透明代理的方式进行处理。本发明不再区分和研究上层协议,而是统一采用转发TCP层视频流进行实现。该实现方式可以作为资产运维的一种选择方式:代理模式。可以采用直通模式和代理模式并存,更加方便对资产的运维管理。
本发明采用TCP代理方式,能够有效的对网络中的资产运维数据进行掌控、分析,并对敏感数据进行统一分析、管理。保证资产运维的安全,以及运维数据的安全。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明具体实施方式的视频流劫持流程示意图。
附图2是本发明具体实施方式的TCP代理流程示意图。
附图3是本发明具体实施方式的系统结构图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
本发明公开了一种基于远程桌面协议的TCP透明代理实现方法,包括如下步骤:
步骤1:通过客户端劫持图形协议视频流的数据,并把数据发给服务器端。
需要特别说明的是,为了方便知道第三方应用程序与资产通信的时机,并改变它的通信对象,在本步骤中需要用到DLL注入和API HOOK技术。基于此,客户端就可以劫持图形协议视频流的数据,并把数据发给TCP代理。
作为示例地,如图1所示,通过本步骤来实现视频流劫持,具体包括如下步骤:
S11:通过DLL注入和API HOOK,劫持视频流的关键过程。视频流的关键过程包括:发起连接过程connect、数据读写过程send和关闭连接过程close。
S12:在客户端发起连接时识别并修改会话参数,生成相应的报文并发给TCP代理。其中,修改会话参数具体为:在发起的第一帧数据报文起始位置插入目标资产的会话参数,目标资产的会话参数包括目标资产的IP地址和端口号。
S13:TCP代理在收到第一帧报文后进行解析,和目标资产建立链接,并进行TCP流的透传。
步骤2:服务器端采用七层转发的方式完成TCP代理。
需要特别说明的,是由于现有的服务器TCP代理无法预知当前会话目标资产IP地址,所以不能修改客户端链接头目标地址进行四层转发。因此本步骤采用七层转发来完成TCP代理。采用TCP代理,能够实时审计、运维服务器资产。
作为示例地,如图2所示,通过本步骤来实现TCP代理,具体包括如下步骤:
S21:创建hash队列,用于保存预设套接字的文件描述符链接(Socket fd连接)。
S22:使用预设复用模型监听所有的文件描述符链接。预设复用模型可采用高性能事件模型libev。
S23:接收客户端的链接,并把文件描述符放入到hash队列中。
S24:解析客户端发来的报文的第一帧,并与资产建立链接,将客户端的文件描述符和资产的进行绑定。
S25:绑定之后,进行数据透传。
相应的,如图3所示,本发明还公开了一种基于远程桌面协议的TCP透明代理系统,包括:视频流劫持单元和TCP代理单元。
视频流劫持单元,用于通过客户端劫持图形协议视频流的数据,并把数据发给服务器端。具体包括:
过程劫持模块,用于通过DLL注入和API HOOK,劫持视频流的关键过程。
报文传输模块,用于在客户端发起连接时识别并修改会话参数,生成相应的报文并发给TCP代理。
链接模块,用于TCP代理在收到第一帧报文后进行解析,和目标资产建立链接,并进行TCP流的透传。
TCP代理单元,用于在服务器端采用七层转发的方式完成TCP代理。具体包括:
初始化模块,用于创建hash队列,用于保存预设套接字的文件描述符链接。
监听模块,用于使用预设复用模型监听所有的文件描述符链接。
接收连接模块,用于接收客户端的链接,并把文件描述符放入到hash队列中。
透传模块,用于解析客户端发来的报文的第一帧,并与资产建立链接,将客户端的文件描述符和资产的进行绑定;绑定之后,进行数据透传。
相应的,本发明还公开了一种基于远程桌面协议的TCP透明代理装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述基于远程桌面协议的TCP透明代理方法步骤。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

Claims (10)

1.一种基于远程桌面协议的TCP透明代理实现方法,其特征在于,包括:
通过客户端劫持图形协议视频流的数据,并把数据发给服务器端;
服务器端采用七层转发的方式完成TCP代理。
2.根据权利要求1所述的基于远程桌面协议的TCP透明代理实现方法,其特征在于,所述客户端劫持图形协议视频流的数据,并把数据发给服务器端,包括如下步骤:
S11:通过DLL注入和API HOOK,劫持视频流的关键过程;
S12:在客户端发起连接时识别并修改会话参数,生成相应的报文并发给TCP代理;
S13:TCP代理在收到第一帧报文后进行解析,和目标资产建立链接,并进行TCP流的透传。
3.根据权利要求2所述的基于远程桌面协议的TCP透明代理实现方法,其特征在于,所述视频流的关键过程包括:
发起连接过程、数据读写过程和关闭连接过程。
4.根据权利要求2所述的基于远程桌面协议的TCP透明代理实现方法,其特征在于,所述在客户端发起连接时识别并修改会话参数包括:
在客户端发起连接时识别会话参数;
在发起的第一帧数据报文起始位置插入目标资产的会话参数。
5.根据权利要求4所述的基于远程桌面协议的TCP透明代理实现方法,其特征在于,所述目标资产的会话参数包括:
目标资产的IP地址和端口号。
6.根据权利要求1所述的基于远程桌面协议的TCP透明代理实现方法,其特征在于,所述服务器端采用七层转发的方式完成TCP代理,包括如下步骤:
S21:创建hash队列,用于保存预设套接字的文件描述符链接;
S22:使用预设复用模型监听所有的文件描述符链接;
S23:接收客户端的链接,并把文件描述符放入到hash队列中;
S24:解析客户端发来的报文的第一帧,并与资产建立链接,将客户端的文件描述符和资产的进行绑定;
S25:绑定之后,进行数据透传。
7.一种基于远程桌面协议的TCP透明代理系统,其特征在于,包括:
视频流劫持单元,用于通过客户端劫持图形协议视频流的数据,并把数据发给服务器端;
TCP代理单元,用于在服务器端采用七层转发的方式完成TCP代理。
8.根据权利要求7所述的基于远程桌面协议的TCP透明代理系统,其特征在于,所述视频流劫持单元包括:
过程劫持模块,用于通过DLL注入和API HOOK,劫持视频流的关键过程;
报文传输模块,用于在客户端发起连接时识别并修改会话参数,生成相应的报文并发给TCP代理;
链接模块,用于TCP代理在收到第一帧报文后进行解析,和目标资产建立链接,并进行TCP流的透传。
9.根据权利要求7所述的基于远程桌面协议的TCP透明代理系统,其特征在于,所述TCP代理单元包括:
初始化模块,用于创建hash队列,用于保存预设套接字的文件描述符链接;
监听模块,用于使用预设复用模型监听所有的文件描述符链接;
接收连接模块,用于接收客户端的链接,并把文件描述符放入到hash队列中;透传模块,用于解析客户端发来的报文的第一帧,并与资产建立链接,将客户端的文件描述符和资产的进行绑定;绑定之后,进行数据透传。
10.一种基于远程桌面协议的TCP透明代理装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述基于远程桌面协议的TCP透明代理方法步骤。
CN202111538787.3A 2021-12-15 2021-12-15 一种基于远程桌面协议的tcp透明代理实现方法、系统及装置 Withdrawn CN114401265A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111538787.3A CN114401265A (zh) 2021-12-15 2021-12-15 一种基于远程桌面协议的tcp透明代理实现方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111538787.3A CN114401265A (zh) 2021-12-15 2021-12-15 一种基于远程桌面协议的tcp透明代理实现方法、系统及装置

Publications (1)

Publication Number Publication Date
CN114401265A true CN114401265A (zh) 2022-04-26

Family

ID=81227650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111538787.3A Withdrawn CN114401265A (zh) 2021-12-15 2021-12-15 一种基于远程桌面协议的tcp透明代理实现方法、系统及装置

Country Status (1)

Country Link
CN (1) CN114401265A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104144087A (zh) * 2014-06-13 2014-11-12 国家电网公司 一种远程桌面检测系统及其检测方法
US8966112B1 (en) * 2009-11-30 2015-02-24 Dell Software Inc. Network protocol proxy
CN106302554A (zh) * 2016-11-08 2017-01-04 郑州云海信息技术有限公司 一种socket通信方法、装置和存储设备
CN108924138A (zh) * 2018-07-05 2018-11-30 成都安恒信息技术有限公司 一种实现tcp代理完全透明的方法
CN113760578A (zh) * 2021-08-28 2021-12-07 特斯联科技集团有限公司 跨进程快速传输大数据的方法、装置、设备及计算机程序
CN114389831A (zh) * 2020-10-22 2022-04-22 山东华软金盾软件股份有限公司 一种基于远程桌面协议的tcp代理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966112B1 (en) * 2009-11-30 2015-02-24 Dell Software Inc. Network protocol proxy
CN104144087A (zh) * 2014-06-13 2014-11-12 国家电网公司 一种远程桌面检测系统及其检测方法
CN106302554A (zh) * 2016-11-08 2017-01-04 郑州云海信息技术有限公司 一种socket通信方法、装置和存储设备
CN108924138A (zh) * 2018-07-05 2018-11-30 成都安恒信息技术有限公司 一种实现tcp代理完全透明的方法
CN114389831A (zh) * 2020-10-22 2022-04-22 山东华软金盾软件股份有限公司 一种基于远程桌面协议的tcp代理方法
CN113760578A (zh) * 2021-08-28 2021-12-07 特斯联科技集团有限公司 跨进程快速传输大数据的方法、装置、设备及计算机程序

Similar Documents

Publication Publication Date Title
US8037191B2 (en) Low-level remote sharing of local devices in a remote access session across a computer network
CN102833323B (zh) 服务器远程控制受控终端的方法和系统
EP2843908B1 (en) Full-duplex bi-directional communication over a remote procedure call based communications protocol, and applications thereof
US7769871B2 (en) Technique for sending bi-directional messages through uni-directional systems
CN102497427B (zh) 实现可再生能源监测系统数据采集服务的方法和装置
CN101227343B (zh) 一种TCPv6和/或UDPv6测试设备及方法
CN110198334A (zh) 基于对象存储服务的访问方法、装置和存储介质
WO2018107387A1 (zh) 数据传输方法、装置、系统、电子设备及计算机程序产品
CN102497395A (zh) 断点上传应用控制方法
CN104811473B (zh) 一种创建虚拟非易失性存储介质的方法、系统及管理系统
CN107682426A (zh) 接口代理方法及应用服务器
CN114124929A (zh) 跨网络的数据处理方法和装置
CN104281477A (zh) 一种用于计算机系统的软件自动部署方法
CN113783957A (zh) 一种网络端口复用方法、系统、设备及存储介质
CN108989424A (zh) 一种远程控制的方法和系统
CN105302486A (zh) 一种虚拟化离线桌面块设备存储同步方法
CN108989157B (zh) 用于智能设备控制的方法、装置
CN114389831A (zh) 一种基于远程桌面协议的tcp代理方法
CN114401265A (zh) 一种基于远程桌面协议的tcp透明代理实现方法、系统及装置
CN112565372A (zh) 一种网络隔离时虚拟机与客户机的通信方法及系统
CN109413142B (zh) 一种Linux下的iSCSI虚拟代理实现方法
CN107071038A (zh) 一种传输多媒体数据的方法及装置
CN109308288A (zh) 数据处理方法及装置
CN108733871A (zh) 一种纯软件仿真总线通讯的方法
CN114363427A (zh) 一种基于浏览器实时获取主机设备信息的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20220426

WW01 Invention patent application withdrawn after publication