CN101291343B - 一种基于透明代理设备的远程控制方法及其系统 - Google Patents
一种基于透明代理设备的远程控制方法及其系统 Download PDFInfo
- Publication number
- CN101291343B CN101291343B CN2008101119031A CN200810111903A CN101291343B CN 101291343 B CN101291343 B CN 101291343B CN 2008101119031 A CN2008101119031 A CN 2008101119031A CN 200810111903 A CN200810111903 A CN 200810111903A CN 101291343 B CN101291343 B CN 101291343B
- Authority
- CN
- China
- Prior art keywords
- remote control
- transparent proxy
- control software
- proxy equipment
- data
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了一种基于透明代理设备的远程控制方法及其系统,属于网络审计领域。其方法为:在远程控制服务器和网络中某一服务器建立连接后,解析远程控制服务器发送的通讯数据,如果通讯数据为普通数据则透明代理设备将数据直接发送出去,如果为远程控制软件服务端发送的数据则在远程控制软件服务端和控制端建立连接,实现网络环境下C/S模式的直接通讯;该系统包括远程服务器、远程控制软件、透明代理设备;透明代理设备包括一代理装置,用于实现在所述透明代理设备和远程服务器之间的通讯,远程控制软件的控制端和服务端分别位于透明代理设备和远程服务器上。本发明可大大提高防火墙等物理串入设备的可管理性和交互性,提升了产品的人性化。
Description
技术领域:
本发明涉及一种基于透明代理设备的远程控制方法及其系统,可用于硬件防火墙,入侵检测系统或网络审计系统的远程管理及交互,属于网络通讯安全领域。
技术背景:
目前的防火墙,入侵检测系统在应用中经常需要测试或远程调试,但是目前都是通过计算机远程调试和设置防火墙或类似系统,但是很少有能反过来通过防火墙直接测试调试计算机的,在实际环境中经常会遇到测试主机离防火墙较远,每次需要配置或测试的时候需要两头来回跑,非常的不方便,这种不便主要是防火墙或入侵检测系统大多都是物理串接的,即设备中有两块网卡,分别对应用户的网络数据入口和出口,串接在用户的网络线路中,相对于用户的计算机而言,防火墙是一种纯物理的透明代理设备,如果在没有额外网卡的情况下基本不能用传统的C/S通讯方式来远程的进行配置,本发明既解决了上述难题,又可实现在透明代理的情况下双向远程控制管理及交互。
发明内容:
为了解决目前在透明代理设备下,无法直接远程配置的不足,本发明提供一种基于透明代理设备的远程控制方法及其系统,本发明的系统在不影响设备正常工作的前提下,只需在现有的设备中,增加代理装置就能实现在代理设备和被代理服务器之间的直接C/S通讯模式的双向交互通讯。透明代理通过使用硬件技术将进、出的数据进行混合处理,而不像网络中的某些代理服务器,比如http代理那样必须知道它的ip和代理端口,比如123.123.123.123:8080,这类代理服务器为非透明代理,因为对于客户端来说这个代理服务器是可见的,本发明的通过在透明代理服务器的状态下增加了一层内部的双重代理技术,使得可以通过透明代理服务器本身控制客户端,解决了在透明代理设备情况下,无法直接和客户端直接通讯的技术难题。
本发明所采用的技术方案是:
一种基于透明代理设备的远程控制方法,其步骤为:
1)远程服务器发起连接请求,通过透明代理设备与某网络服务器建立传输连接;
2)透明代理设备判断远程服务器发送的通讯数据;
3)如果通讯数据为普通数据,则透明代理设备对其直接转发;
4)如果通讯数据为远程控制软件服务端数据,则透明代理设备在远程控制软件控制端和远程控制软件服务端建立通讯连接。
进一步的,所述透明代理设备在远程控制软件控制端和远程控制软件服务端建立通讯连接的同时保持远程服务器和所述某网络服务器之间的连接。
所述步骤1)中远程服务器通过透明代理设备与某网络服务器建立传输连接的方法为:
1)所述远程控制软件服务端对所述某网络服务器发出连接请求;
2)所述透明代理设备将所述连接请求转发到所述某网络服务器。
所述透明代理设备通过私有协议解析判断远程服务器发送的通讯数据;所述远程控制软件的服务端和控制端采用私有协议方式通讯。
所述透明代理设备通过查询四元组信息判断远程服务器发送的通讯数据,所述四元组信息包括连接双方的源IP、源端口、目的IP、目的端口。
所述透明代理设备在远程控制软件控制端和远程控制软件服务端建立通讯连接的方法为:
3)初始化socket,创建发送线程、接收线程和转发模块;
4)调用connect函数连接本地远程控制软件控制端的监听端口;
5)转发模块将接收的远程控制软件服务端发送的数据通过发送线程送到远程控制软件控制端;
6)接收线程用于接收远程控制端应答的数据,并传递到转发模块;
7)转发模块将应答数据转发给远程控制软件服务端。
一种基于透明代理设备的远程控制系统,其包括远程服务器、远程控制软件、透明代理设备;其特征在于:
所述远程控制软件的服务端位于所述远程服务器端;
所述远程控制软件的控制端位于所述透明代理设备端;
所述透明代理设备包括一代理装置,用于实现在所述透明代理设备和远程服务器之间的通讯。
进一步的,所述代理装置包括接收线程和发送线程。
所述透明代理设备还包括一转发模块,所述转发模块内包含一数据流处理模块。
本发明在透明代理设备(后文简称P)的内部虚拟出一个代理装置,该装置的主要目的是控制和管理远程控制软件的通讯数据,远程控制软件的控制端(后文简称C1)安装在透明代理设备(P)上,远程控制软件的服务器端(后文简称S1)安装在远程服务器(后文简称C)上,目的是通过透明代理设备直接控制管理远程服务器(C)。
首先,远程控制软件的通讯方式必须是反向连接的,即远程控制的服务端(S1)先发起连接请求,主动的连接远程控制的控制端(C1),这里连接控制端的IP地址,可以设置任意一个运行正常的远程服务器主机,比如某网络服务器(后文简称S),IP:202.108.33.00,端口必须是服务器开放的,比如80端口。
工作开始的时候,首先远程服务器(C)中的远程控制服务端(S1)和某网络服务器(S)进行TCP连接建立,俗称TCP“三次握手”,建立传输连接。连接建立后,远程控制服务端(S1)向网络服务器(S)发送数据,这时透明代理设备(P)解析出远程控制服务端(S1)发出的数据,因而不再将数据转发给网络服务器(S),而是直接将数据交给代理装置。代理装置创建标准的socket转发连接,(连接的IP为本机(P)的默认IP,以Windows操作系统为例,可连接127.0.0.1)远程控制软件的控制端(C1)运行时开放了指定的端口(比如3000端口)等待S1的连接(之前提到了这类通讯方式,为反向连接),代理装置创建的socket转发连接后,直接连接C1的监听端口,这时C1认为是S1的连接,由于代理装置原封不动的把S1的数据转发给了C1,C1就会正确的响应S1的请求,控制端(C1)应答的数据处理流程也类似,C1将应答数据通过代理装置创建的Socket连接转发给S1。由代理装置转发,这样即可实现在透明代理环境下双向交互通讯的目的。
本发明的积极效果为:
本发明可大大的提高防火墙等这类物理串入设备的可管理性和交互性,从技术的角度提升了产品的人性化,并且也可用于特种环境下的网络审计及监控设备,通过本技术即使使用抓包分析软件,最多也只是分析出本机在和某服务器通讯。因为服务器的IP可以任意的设置,如果设置成信用度较高的服务器,比如微软的服务器,那么很难发现异常,此外本发明投资少,开发商在现有的产品的基础上,只需增加一个代理装置,无需增加额外的硬件设备,如网卡等,即可实现普通网络环境下C/S模式的通讯软件在物理串入环境下的直接通讯,非常方便,实惠。
附图说明:
图1、是本发明的数据流模块示意图:其中
(1):表示远程服务器的输入输出数据流
(2):表示发送到远程服务器的输入输出数据流
(3):远程控制软件的服务端发送的数据流
(4):远程控制软件的控制端回应的数据流
图2、本发明结构示意图;
图3、本发明的双重代理模块数据处理方法图。
具体实施方式:
图1中数据解析模块负责将(1)传入的数据进行解析,由于C1和S1的通讯方式为私有的协议方式,网络通讯时我们可以通过这种私有的协议进行区分是C1和S1通讯的数据还是其他协议的通讯数据,如果发现是普通数据就直接由(2)转发出去。因为本系统主要应用于硬件防火墙,审计系统等,这类系统本身就有数据解析模块,对网络流数据,协议进行解码,在实际应用中,只需要在数据解码模块增加一个针对IP加端口的3元的线索即可判断出是否是远程服务端(S1)发送的数据,比如就上述提到的IP:202.108.33.00(即目的IP)端口80再加上服务器自己的IP,即源IP。
如果发现数据是由远程控制软件服务端(S1)发送的,见图1中的(3),解析模块会将解析出的应用层数据传递给代理装置,这时数据不会通过(2)转发出去,而是分别向远程服务器(C)和网络服务器(S)发送Ack包,来维持TCP连接。
代理装置创建SOCKET连接本地的远程控制端,一般可连接IP:127.0.0.1,即连接本计算机,连接端口由远程控制端自己设定,比如3000端口,将数据解析模块的应用层数据转发给远程控制端。这时远程控制端就接收到了服务端发送的请求,然后远程控制端即可发送指令来控制服务端程序做相应的操作,回应的时候也是类似,见图1中的(4),即远程控制端的指令先发送给代理装置,代理装置负责解析出指令,然后通过上层数据解析模块封装后发送给服务端。
见图2,更加直观的描述了整合交互的过程,透明代理设备(P),是串接在远程服务器(C)的线路上,C所有的通讯数据都是有透明代理设备转发的,远程控制服务端(S1)安装在C上,远程服务控制端安装在透明代理设备(P)上,我们的目的是希望通过C1控制S1,由于透明代理设备的特性是整个交互的数据通过物理网卡进行串入,并转发数据,所以相对于远程服务器(C)而言,代理设备(P)是透明的,即C是察觉不到P的存在的,这也就是为什么称P是透明代理的原因。正因为如此,一般的远程控制软件无法在透明代理设备上直接使用,本发明的要点就是解决了这一难题,通过我们的双重代理装置即可实现我们的目的,即C1控制S1.
具体实施:首先远程服务器中的S1发起对某网络服务器的连接,见图2实心的箭头线路,透明代理设备(P)会转发出去连接请求到该网络服务器,并根据TCP协议的原则向远程服务器(C)和某网络服务器(S)定时的发送TCP ACK包,保证连接的持续。C到S的通讯连接建立后,S1发送远程控制请求数据到透明代理服务器(P)后,(P)通过对连接的4元组查询或通过私有协议解析,即可判断出是不是S1发送的数据请求,一般网络通讯软件设计的时候服务端和客户端的连接端口都是设定好的,这样才能相互连接,4元组就是连接双方的源IP,源端口,目的IP,和目的端口.对于透明代理设备(P),我们可以知道源IP(即远程服务器C的IP地址),目的IP和目的端口(目的IP和端口是在软件中设定的),所以我们可以清楚的知道这条连接是不是S1发送的,如果发现C发送的数据不是S1发送的,透明代理设备(P)会不处理,直接转发出去。如果发现C发送的数据是S1发送的,那么透明代理设备(P)不会转发数据(见图2虚线箭头),将开启双重代理装置(即双重代理模块),进行内部的数据转发,即远程控制端(C1)接收到了双重代理模块转发过来的S1数据,就会应答S1的数据,应答数据通过双重代理模块进行数据的反馈,这样即实现了在透明代理设备的情况下实现远程控制的目的。
双重代理模块的关键技术,见图3,双重代理模块实际上是通过Socket虚拟出来的代理软件,首先初始化socket,并调用connect函数连接本地远程控制端C1的监听端口,然后将透明代理设备捕获到的S1的数据通过双重代理模块的发送线程转发给C1,同时双重代理模块创建了接收线程用于接收远程控制端C1应答的数据,并传递到透明代理设备的转发模块,转发模块将该应答数据发送到S1端。完成这个代理过程。
这样就实现了在透明代理的环境下解决了C/S模式下的远程控制,适用于各种C/S模式的应用,比如文件传输,屏幕查看,远程关机等等。
Claims (5)
1.一种基于透明代理设备的远程控制方法,其步骤为:
1)远程服务器发起连接请求,通过透明代理设备与某网络服务器建立传输连接;
2)透明代理设备判断远程服务器发送的通讯数据;
3)如果通讯数据为普通数据,则透明代理设备对其直接转发;
4)如果通讯数据为远程控制软件服务端数据,则透明代理设备在远程控制软件控制端和远程控制软件服务端建立通讯连接,其具体方法为:
a)初始化socket,创建发送线程、接收线程和转发模块;
b)调用connect函数连接本地远程控制软件控制端的监听端口;
c)转发模块将接收的远程控制软件服务端发送的数据通过发送线程送到远程控制软件控制端;
d)接收线程用于接收远程控制软件控制端应答的数据,并传递到转发模块;
e)转发模块将应答数据转发给远程控制软件服务端;
其中,所述远程控制软件服务端位于所述远程服务器端,所述远程控制软件控制端位于所述透明代理设备端,所述某网络服务器通过所述透明代理设备与所述远程控制软件服务端连接。
2.如权利要求1所述的方法,其特征在于所述透明代理设备在远程控制软件控制端和远程控制软件服务端建立通讯连接的同时保持远程服务器和所述某网络服务器之间的连接。
3.如权利要求1所述的方法,其特征在于所述步骤1)中远程服务器通过透明代理设备与某网络服务器建立传输连接的方法为:
1)所述远程控制软件服务端对所述某网络服务器发出连接请求;
2)所述透明代理设备将所述连接请求转发到所述某网络服务器。
4.如权利要求1所述的方法,其特征在于所述透明代理设备通过私有协议解析判断远程服务器发送的通讯数据;所述远程控制软件的服务端和控制端采用私有协议方式通讯。
5.如权利要求1所述的方法,其特征在于所述透明代理设备通过查询四元组信息判断远程服务器发送的通讯数据,所述四元组信息包括连接双方的源IP、源端口、目的IP、目的端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101119031A CN101291343B (zh) | 2008-05-20 | 2008-05-20 | 一种基于透明代理设备的远程控制方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101119031A CN101291343B (zh) | 2008-05-20 | 2008-05-20 | 一种基于透明代理设备的远程控制方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101291343A CN101291343A (zh) | 2008-10-22 |
CN101291343B true CN101291343B (zh) | 2011-01-26 |
Family
ID=40035412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101119031A Expired - Fee Related CN101291343B (zh) | 2008-05-20 | 2008-05-20 | 一种基于透明代理设备的远程控制方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101291343B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567861B (zh) * | 2009-05-20 | 2013-07-24 | 福建星网锐捷网络有限公司 | 异构应用系统之间的数据同步方法及应用系统 |
CN102710765A (zh) * | 2012-05-28 | 2012-10-03 | 蓝汛网络科技(北京)有限公司 | 一种cdn服务器实现透明代理的方法、装置及系统 |
CN104579842A (zh) * | 2015-01-12 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种基于socket通信获取集群监控计算节点状态的处理方法 |
CN106789208B (zh) * | 2016-12-10 | 2019-12-03 | 武汉白虹软件科技有限公司 | 一种基于udt反向穿透技术的网络取证设备网管模型 |
CN107241351A (zh) * | 2017-07-14 | 2017-10-10 | 广州四三九九信息科技有限公司 | 一种基于Redis的RPC通信方法 |
CN107819846B (zh) * | 2017-11-07 | 2022-01-07 | 北京三快在线科技有限公司 | 一种远程连接方法及装置 |
CN108173825B (zh) * | 2017-12-21 | 2021-01-01 | 奇安信科技集团股份有限公司 | 一种网络流量审计方法及装置 |
CN110113337A (zh) * | 2019-05-07 | 2019-08-09 | 山东渔翁信息技术股份有限公司 | 一种无地址设备的数据传输方法、相关方法以及相关装置 |
CN110489192B (zh) * | 2019-08-13 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 远程通信方法及装置、电子设备 |
CN115379008B (zh) * | 2022-07-12 | 2024-05-07 | 南京隆远电气技术有限公司 | 一种基于网络服务器的数据中转站系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612618A (zh) * | 2003-10-29 | 2005-05-04 | 中兴通讯股份有限公司 | 一种电信网管系统中级联代理实现方法 |
CN1866879A (zh) * | 2006-06-21 | 2006-11-22 | 烽火通信科技股份有限公司 | 一种通过snmp实现adsl cpe远程管理的方法 |
CN101133623A (zh) * | 2004-12-30 | 2008-02-27 | 茨特里克斯系统公司 | 用于提供客户端加速技术的系统和方法 |
-
2008
- 2008-05-20 CN CN2008101119031A patent/CN101291343B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612618A (zh) * | 2003-10-29 | 2005-05-04 | 中兴通讯股份有限公司 | 一种电信网管系统中级联代理实现方法 |
CN101133623A (zh) * | 2004-12-30 | 2008-02-27 | 茨特里克斯系统公司 | 用于提供客户端加速技术的系统和方法 |
CN1866879A (zh) * | 2006-06-21 | 2006-11-22 | 烽火通信科技股份有限公司 | 一种通过snmp实现adsl cpe远程管理的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101291343A (zh) | 2008-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101291343B (zh) | 一种基于透明代理设备的远程控制方法及其系统 | |
CN102377814B (zh) | 针对嵌入式操作系统的远程协助服务方法 | |
CN102035904B (zh) | 一种将tcp网络通信服务端转换为客户端的方法 | |
CN102752150B (zh) | 提供远程板卡调试的分布式通信设备及方法 | |
CN104093080A (zh) | 智能电视机远程调试系统及方法 | |
WO2014082577A1 (zh) | 实现远程调试的方法及系统 | |
CN108965256A (zh) | 一种基于ssh反向隧道远程管理嵌入式设备的系统及方法 | |
CN101911587A (zh) | 在支持UPnP远程协议的家庭网络中输出第三方装置的事件的方法和设备 | |
EP2429150A1 (en) | Apparatus, web service component and method based on web service | |
CN103368809A (zh) | 一种互联网反向穿透隧道的实现方法 | |
CN105429958A (zh) | 一种基于Android开发的企业应用平台系统 | |
CN102055765A (zh) | 一种网络通信系统 | |
CN106209503A (zh) | Rpc接口测试方法及系统 | |
CN107888613A (zh) | 一种基于云平台的管理系统架构 | |
CN102984237A (zh) | 一种基于socket连接的数据传输系统及方法 | |
CN103001966B (zh) | 一种私网ip的处理、识别方法及装置 | |
CN112910725B (zh) | 一种网络流量检测方法及装置、计算机可读存储介质 | |
CN102917082A (zh) | 穿透网络地址转换的消息推送方法及系统 | |
CN106331051B (zh) | 文件传输方法和系统以及接收文件装置、发送文件装置 | |
CN113794715B (zh) | 一种虚拟点对点网络数据发送方法及其系统 | |
CN103023722A (zh) | 跨安全区的正向通信方法、装置及系统 | |
CN114328353B (zh) | 一种web可交互式串口通讯架构 | |
CN103873600A (zh) | 一种网络地址转换穿透方法及设备 | |
CN106936927A (zh) | 一种基于PC客户端的socket通信方法 | |
CN100403688C (zh) | 一种业务数据包跟踪实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110126 Termination date: 20160520 |