一种基于透明代理设备的远程控制方法及其系统的制作方法

文档序号:7694801阅读:263来源:国知局
专利名称:一种基于透明代理设备的远程控制方法及其系统的制作方法
技术领域
本发明涉及一种基于透明代理设备的远程控制方法及其系统,可用于硬件防火墙,入侵 检测系统或网络审计系统的远程管理及交互,属于网络通讯安全领域。
背景技术
目前的防火墙,入侵检测系统在应用中经常需要测试或远程调试,但是目前都是通过计算 机远程调试和设置防火墙或类似系统,但是很少有能反过来通过防火墙直接测试调试计算机 的,在实际环境中经常会遇到测试主机离防火墙较远,每次需要配置或测试的时候需要两头来 回跑,非常的不方便,这种不便主要是防火墙或入侵检测系统大多都是物理串接的,即设备 中有两块网卡,分别对应用户的网络数据入口和出口,串接在用户的网络线路中,相对于用 户的计算机而言,防火墙是一种纯物理的透明代理设备,如果在没有额外网卡的情况下基本 不能用传统的C/S通讯方式来远程的进行配置,本发明既解决了上述难题,又可实现在透明代 理的情况下双向远程控制管理及交互。

发明内容
为了解决目前在透明代理设备下,无法直接远程配置的不足,本发明提供一种基于透明 代理设备的远程控制方法及其系统,本发明的系统在不影响设备正常工作的前提下,只需在 现有的设备中,增加代理装置就能实现在代理设备和被代理服务器之间的直接C/S通讯模式的 双向交互通讯。透明代理通过使用硬件技术将进、出的数据进行混合处理,而不像网络中的 某些代理服务器,比如hUp代理那样必须知道它的ip和代理端口 ,比如 123.123.123.123:8080 ,这类代理服务器为非透明代理,因为对于客户端来说这个代理服务 器是可见的,本发明的通过在透明代理服务器的状态下增加了一层内部的双重代理技术,使 得可以通过透明代理服务器本身控制客户端,解决了在透明代理设备情况下,无法直接和客 户端直接通讯的技术难题。
本发明所采用的技术方案是
一种基于透明代理设备的远程控制方法,其步骤为
1) 远程服务器发起连接请求,通过透明代理设备与某网络服务器建立传输连接;
2) 透明代理设备判断远程服务器发送的通讯数据;3) 如果通讯数据为普通数据,则透明代理设备对其直接转发;
4) 如果通讯数据为远程控制软件服务端数据,则透明代理设备在远程控制软件控制端和 远程控制软件服务端建立通讯连接。
进一步的,所述透明代理设备在远程控制软件控制端和远程控制软件服务端建立通讯连 接的同时保持远程服务器和所述某网络服务器之间的连接。
所述步骤1)中远程服务器通过透明代理设备与某网络服务器建立传输连接的方法为 1 )所述远程控制软件服务端对所述某网络服务器发出连接请求;
2) 所述透明代理设备将所述连接请求转发到所述某网络服务器。
所述透明代理设备通过私有协议解析判断远程服务器发送的通讯数据;所述远程控制软 件的服务端和控制端采用私有协议方式通讯。
所述透明代理设备通过查询四元组信息判断远程服务器发送的通讯数据,所述四元组信 息包括连接双方的源IP、源端口、目的IP、目的端口。
所述透明代理设备在远程控制软件控制端和远程控制软件服务端建立通讯连接的方法

3) 初始化socket,创建发送线程、接收线程和转发模块;
4) 调用connect函数连接本地远程控制软件控制端的监听端口 ;
5) 转发模块将接收的远程控制软件服务端发送的数据通过发送线程送到远程控制软件 控制端;
6) 接收线程用于接收远程控制端应答的数据,并传递到转发模块;
7) 转发模块将应答数据转发给远程控制软件服务端。
一种基于透明代理设备的远程控制系统,其包括远程服务器、远程控制软件、透明代理 设备;其特征在于
所述远程控制软件的服务端位于所述远程服务器端;
所述远程控制软件的控制端位于所述透明代理设备端;
所述透明代理设备包括一代理装置,用于实现在所述透明代理设备和远程服务器之间的 通讯。
进一步的,所述代理装置包括接收线程和发送线程。所述透明代理设备还包括一转发模块,所述转发模块内包含一数据流处理模块。
本发明在透明代理设备(后文简称P)的内部虛拟出一个代理装置,该装置的主要目的是 控制和管理远程控制软件的通讯数据,远程控制软件的控制端(后文简称Cl)安装在透明代
理设备(P)上,远程控制软件的服务器端(后文简称Sl)安装在远程服务器(后文简称c)上,
目的是通过透明代理设备直接控制管理远程服4器(c)。
首先,远程控制软件的通讯方式必须是反向连接的,即远程控制的服务端(S1)先发起连 接请求,主动的连接远程控制的控制端(C1),这里连接控制端的IP地址,可以设置任意一个 运行正常的远程服务器主机,比如某网络服务器(后文简称S), IP:202. 108. 33.00,端口必须 是服务器开放的,比如80端口。
工作开始的时候,首先远程服务器(C)中的远程控制服务端(Sl)和某网络服务器(S) 进行TCP连接建立,俗称TCP"三次握手",建立传输连接。连接建立后,远程控制服务端(S1) 向网络服务器(S)发送数据,这时透明代理设备(P)解析出远程控制服务端(S1)发出的数据, 因而不再将数据转发给网络服务器(S),而是直接将数据交给代理装置。代理装置创建标准的 socket转发连接,(连接的IP为本机(P)的默认IP,以Windows操作系统为例,可连接127. 0. 0. 1) 远程控制软件的控制端(Cl)运行时开放了指定的端口 (比如3000端口)等待S1的连接(之 前提到了这类通讯方式,为反向连接),代理装置创建的socket转发连接后,直接连接C1的监 听端口,这时C1认为是S1的连接,由于代理装置原封不动的把S1的数据转发给了C1, Cl就会 正确的响应S1的请求,控制端(Cl)应答的数据处理流程也类似,Cl将应答数据通过代理装 置创建的Socket连接转发给Sl。由代理装置转发,这样即可实现在透明代理环境下双向交互 通讯的目的。
本发明的积极效果为
本发明可大大的提高防火墙等这类物理串入设备的可管理性和交互性,从技术的角度提 升了产品的人性化,并且也可用于特种环境下的网络审计及监控设备,通过本技术即使使用 抓包分析软件,最多也只是分析出本机在和某服务器通讯。因为服务器的IP可以任意的设置, 如果设置成信用度较高的服务器,比如微软的服务器,那么很难发现异常,此外本发明投资 少,开发商在现有的产品的基础上,只需增加一个代理装置,无需增加额外的硬件设备,如 网卡等,即可实现普通网络环境下C/S模式的通讯软件在物理串入环境下的直接通讯,非常方 便,实惠。


图l、是本发明的数据流模块示意图:其中
(1) :表示远程服务器的输入输出数据流
(2) :表示发送到远程服务器的输入输出数据流
(3) :远程控制软件的服务端发送的数据流
(4) :远程控制软件的控制端回应的数据流 图2、本发明结构示意图
图3、本发明的双重代理模块数据处理方法图。
具体实施例方式
图l中数据解析模块负责将(l)传入的数据进行解析,由于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是透明代理的原因。正因为如此, 一般的远程控制软件无法在透明代理设备上直接使用,本发明的要 点就是解决了这一难题,通过我们的双重代理装置即可实现我们的目的,即Cl控制Sl.
具体实施首先远程服务器中的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函数连接本地远程控制端Cl的监听端口,然后将透明 代理设备捕获到的S1的数据通过双重代理模块的发送线程转发给C1,同时双重代理模块创建 了接收线程用于接收远程控制端C1应答的数据,并传递到透明代理设备的转发模块,转发模 块将该应答数据发送到S1端。完成这个代理过程。
这样就实现了在透明代理的环境下解决了C/S模式下的远程控制,适用于各种C/S模式的 应用,比如文件传输,屏幕査看,远程关机等等。
权利要求
1. 一种基于透明代理设备的远程控制方法,其步骤为1)远程服务器发起连接请求,通过透明代理设备与某网络服务器建立传输连接;2)透明代理设备判断远程服务器发送的通讯数据;3)如果通讯数据为普通数据,则透明代理设备对其直接转发;4)如果通讯数据为远程控制软件服务端数据,则透明代理设备在远程控制软件控制端和远程控制软件服务端建立通讯连接。
2. 如权利要求1所述的方法,其特征在于所述透明代理设备在远程控制软件控制端和远 程控制软件服务端建立通讯连接的同时保持远程服务器和所述某网络服务器之间的连 接。
3. 如权利要求l所述的方法,其特征在于所述步骤l)中远程服务器通过透明代理设备与 某网络服务器建立传输连接的方法为1 )所述远程控制软件服务端对所述某网络服务器发出连接请求; 2)所述透明代理设备将所述连接请求转发到所述某网络服务器。
4. 如权利要求1所述的方法,其特征在于所述透明代理设备通过私有协议解析判断远程 服务器发送的通讯数据;所述远程控制软件的服务端和控制端采用私有协议方式通讯。
5. 如权利要求1所述的方法,其特征在于所述透明代理设备通过查询四元组信息判断远 程服务器发送的通讯数据,所述四元组信息包括连接双方的源IP、源端口、目的IP、 目的端口。
6. 如权利要求1所述的方法,其特征在于所述透明代理设备在远程控制软件控制端和远 程控制软件服务端建立通讯连接的方法为1) 初始化socket,创建发送线程、接收线程和转发模块;2) 调用connect函数连接本地远程控制软件控制端的监听端口;3) 转发模块将接收的远程控制软件服务端发送的数据通过发送线程送到远程控制软 件控制端;4) 接收线程用于接收远程控制端应答的数据,并传递到转发模块;5) 转发模块将应答数据转发给远程控制软件服务端。
7. —种基于透明代理设备的远程控制系统,其包括远程服务器、远程控制软件、透明代 理设备;其特征在于-所述远程控制软件的服务端位于所述远程服务器端; 所述远程控制软件的控制端位于所述透明代理设备端;所述透明代理设备包括一代理装置,用于实现在所述透明代理设备和远程服务器之间 的通讯。
8. 如权利要求7所述的系统,其特征在于所述代理装置包括接收线程和发送线程。
9. 如权利要求7所述的系统,其特征在于所述透明代理设备还包括一转发模块,所述转 发模块内包含一数据流处理模块。
全文摘要
本发明公开了一种基于透明代理设备的远程控制方法及其系统,属于网络审计领域。其方法为在远程控制服务器和网络中某一服务器建立连接后,解析远程控制服务器发送的通讯数据,如果通讯数据为普通数据则透明代理设备将数据直接发送出去,如果为远程控制软件服务端发送的数据则在远程控制软件服务端和控制端建立连接,实现网络环境下C/S模式的直接通讯;该系统包括远程服务器、远程控制软件、透明代理设备;透明代理设备包括一代理装置,用于实现在所述透明代理设备和远程服务器之间的通讯,远程控制软件的控制端和服务端分别位于透明代理设备和远程服务器上。本发明可大大提高防火墙等物理串入设备的可管理性和交互性,提升了产品的人性化。
文档编号H04L29/08GK101291343SQ20081011190
公开日2008年10月22日 申请日期2008年5月20日 优先权日2008年5月20日
发明者翁越龙 申请人:北京锐安科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1