一种应用数据拦截系统及方法
【技术领域】
[0001]本发明涉及应用程序运行技术领域,尤其涉及一种应用数据拦截系统及方法。
【背景技术】
[0002]当前在Windows平台实现应用数据拦截的客户端,为了支持传输层应用,通常采用LSP或TDI的方式对数据进行拦截,但是这种拦截方式的问题在于:
[0003]I)现有的应用数据拦截时针对全系统的,一旦应用数据拦截的过程中出现了错误,容易影响到整个系统,造成系统崩溃;
[0004]2)对于应用程序来说,拦截过程很难做到透明,例如在数据拦截后通常会把连接转发到本机的代理商,此时应用程序看到的目的地址就不是原先发给服务端的地址,而可能是一个统一的目的地址例如127.0.0.1,这对于某些在数据包中发送本机或者对端IP地址端口的应用程序就无法支持其的应用数据拦截操作;
[0005]3)现有的拦截技术比较陈旧,例如较新版本的Windows系统(例如Vista版本以上的Windows系统)就不支持TDI技术。
【发明内容】
[0006]根据现有技术中存在的上述问题,现提供一种应用数据拦截系统及方法的技术方案,旨在做到应用数据重定向时目的地址不变,避免在执行应用程序拦截时影响整个系统正常运行的问题。
[0007]上述技术方案具体包括:
[0008]—种应用数据拦截系统,其中,包括客户端和服务端,所述客户端与所述服务端远程连接;
[0009]所述客户端包括:
[0010]应用单元,对应于一个所述客户端内的应用程序设置,用于输出关联于所述应用程序的应用数据;
[0011]代理单元,连接所述应用单元,所述代理单元用于从所述服务端获取预先设置的数据拦截规则;
[0012]驱动单元,分别连接所述应用单元和所述代理单元,所述驱动单元获取所述数据拦截规则,并根据所述数据拦截规则对所述应用单元输出的所述应用数据进行拦截,所述驱动单元基于Windows系统过滤平台被设置;
[0013]所述驱动单元将拦截到的所述应用数据发送至所述代理单元,并经所述代理单元转发至所述服务端。
[0014]优选的,该应用数据拦截系统,其中,所述驱动单元为ALE驱动单元。
[0015]优选的,该应用数据拦截系统,其中,所述应用数据包括:
[0016]制定所述应用程序的进程的连接;和/或
[0017]保存所述应用程序相关的数据的存储地址。
[0018]优选的,该应用数据拦截系统,其中,所述代理单元获取拦截到的所述应用数据后,将所述应用数据打包并转发给所述服务端。
[0019]优选的,该应用数据拦截系统,其中,所述服务端为基于安全套接层的虚拟专用网络的服务器。
[0020]一种应用数据拦截方法,其中,包括客户端和服务端,所述客户端与所述服务端远程连接,还包括:
[0021]步骤SI,采用一设置于所述客户端内的应用单元,输出关联于所述客户端内一个应用程序的应用数据;
[0022]步骤S2,采用一设置于所述客户端内的代理单元,获取所述服务端预设的数据拦截规则;
[0023]步骤S3,采用一设置于所述客户端内的驱动单元,根据所述数据拦截规则对所述应用单元输出的所述应用数据进行拦截,拦截到的所述应用数据被发送至所述代理单元;
[0024]步骤S4,所述代理单元将拦截到的所述应用数据转发至所述服务端;
[0025]所述驱动单元基于Windows系统过滤平台被设置。
[0026]优选的,该应用数据拦截方法,其中,所述驱动单元为ALE驱动单元。
[0027]优选的,该应用数据拦截方法,其中,所述应用数据包括:
[0028]制定所述应用程序的进程的连接;和/或
[0029]保存所述应用程序相关的数据的存储地址。
[0030]优选的,该应用数据拦截方法,其中,所述步骤S4中,所述代理单元获取拦截到的所述应用数据后,将所述应用数据打包并转发给所述服务端。
[0031]优选的,该应用数据拦截方法,其中,所述服务端为基于安全套接层的虚拟专用网络的服务器。
[0032]上述技术方案的有益效果是:
[0033]I)提供一种应用数据拦截系统,能够做到应用数据重定向时目的地址不变,避免在执行应用程序拦截时影响整个系统正常运行的问题;
[0034]2)提供一种应用数据拦截方法,能够支持上述应用数据拦截系统正常工作。
【附图说明】
[0035]图1是本发明的较佳的实施例中,一种应用数据拦截系统的结构示意图;
[0036]图2是本发明的较佳的实施例中,一种应用数据拦截方法的流程示意图。
【具体实施方式】
[0037]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0039]下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0040]本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种应用数据拦截系统,该系统的具体结构如图1所示,包括客户端A和服务端B,客户端A与服务端B远程连接。进一步地,客户端A中包括:
[0041]应用单元I,对应于一个客户端A内的应用程序设置,用于输出关联于应用程序的应用数据;
[0042]代理单元2,连接应用单元I,代理单元2用于从服务端获取预先设置的数据拦截规则;
[0043]驱动单元3,分别连接应用单元I和代理单元2,驱动单元3获取数据拦截规则,并根据数据拦截规则对应用单元输出的应用数据进行拦截,驱动单元3基于Windows系统过滤平台被设置;
[0044]驱动单元3将拦截到的应用数据发送至代理单元2,并经代理单元2转发至服务端B。
[0045]在一个具体实施例中,可以针对一个应用程序设定一个应用单元I,也可以针对不同的应用程序设定同一个应用单元I。该应用单元I的作用在于负责输出应用程序运行过程中产生的一系列应用数据。
[0046]该实施例中,应用单元I输出应用数据后,该应用数据被驱动单元3拦截。驱动单元3拦截应用数据依据的规则来自代理单元2从服务端B获取的预设规则。换言之,在服务端B预先设置了应用数据的数据拦截规则,以拦截服务端想要获取的应用数据。随后在客户端内设置一个本机的代理单元2,该代理单元2用于获取上述在服务端B中预先设定的数据拦截规则,并将这些规则下发到驱动单元3中。
[0047]随后驱动单元3根据这些数据拦截规则,对应用单元I输出的应用数据进行拦截,代理单元2获取拦截到的这些应用数据,并