网络流量拦截方法、系统、装置、计算机设备和存储介质与流程

专利2022-06-30  103


本申请涉及网络安全技术领域,特别是涉及一种网络流量拦截方法、系统、装置、计算机设备和存储介质。



背景技术:

随着互联网通信技术的发展,计算机设备之间的网络通信越来越频繁,网络安全对于用户也越来越重要,维护网络安全包括抵御网络外部的安全威胁和网络内部的安全威胁。其中,抵御网络外部安全威胁通常通过在网关级别和网络边界等方面进行防御,网络安全设备大致集中于机房或网络入口处,在这些设备的严密监控下,来自网络外部的安全威胁大大减小,相反,如何抵御来自网络内部的计算机客户端的安全威胁是更为重要的问题,而要抵御网络内部的安全威胁需要对网络流量进行监控。

传统的对网络流量进行监控拦截的方法通常是通过网桥部署或旁挂部署方式对网络流量进行拦截,其中,网桥部署方式直接将设备放在网络出口作为网关使用;而旁挂部署的方式下的设备仅对网络流量进行统计、扫描或记录,然而这两种方式下的网络流量拦截效率都比较低。

因此,传统的网络流量拦截方法存在拦截效率不高的缺陷。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高监控效率的网络流量拦截方法、系统、装置、计算机设备和存储介质。

一种网络流量拦截方法,应用于拦截器,所述拦截器与交换机连接,所述方法包括:

获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包;

获取所述数据包中的源ip地址;

利用共享内存通信机制访问预设的共享内存,从所述共享内存中获取针对所述网络设备的已认证ip地址;所述共享内存中存储有针对所述网络设备的多个认证用户的已认证ip地址;

根据所述源ip地址和所述针对所述网络设备的已认证ip地址,确定是否拦截所述流量。

在一个实施例中,所述获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包,包括:

通过所述拦截器的数据平台开发套件接口,从所述交换机中接收需要对网络设备进行访问的流量中的tcp流量;所述交换机通过预设网络通信协议从应用层转发得到需要对网络设备进行访问的流量;

从所述需要对网络设备进行访问的流量中的tcp流量中获取所述采用tcp/ip协议传输的数据包。

在一个实施例中,根据所述源ip地址和所述针对所述网络设备的已认证ip地址,确定是否拦截所述流量,包括:

判断所述源ip地址与所述针对所述网络设备的已认证ip地址是否一致,得到判断结果;

当所述判断结果为一致时,确定不拦截所述流量;

当所述判断结果为不一致时,确定拦截所述流量。

在一个实施例中,确定不拦截所述流量之后,包括:

释放所述数据包,以使所述流量对所述对网络设备进行访问。

在一个实施例中,所述确定拦截所述流量之后,包括:

构建与所述采用tcp/ip协议传输的数据包对应的rst包;

将所述rst包发送至需要对所述网络设备进行访问的目标设备,以关闭包括所述目标设备与所述网络设备的网络连接。

一种网络流量拦截系统,包括:分流器、多个拦截器、共享内存和共享内存控制器;所述多个拦截器分别与所述分流器和所述共享内存连接,所述共享内存与所述共享内存控制器连接;

所述分流器用于将需要对网络设备进行访问的镜像流量发送至所述多个拦截器;

所述多个拦截器中的至少一个拦截器,用于获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包;获取所述数据包中的源ip地址;利用共享内存通信机制访问所述共享内存,从所述共享内存中获取针对所述网络设备的已认证ip地址;所述共享内存中存储有针对所述网络设备的多个认证用户的已认证ip地址;根据所述源ip地址和所述针对所述网络设备的访问流量的认证用户的已认证ip地址,确定是否拦截所述流量;

所述共享内存控制器用于将针对所述网络设备的认证用户的已认证ip地址存储在所述共享内存中。

在一个实施例中,所述系统还包括:认证单元;

所述认证单元用于获取针对所述网络设备的待认证用户的用户名和密码;当认证用户数据库中存储有所述待认证用户的用户名和密码,确定所述待认证用户通过认证;将通过认证的用户的ip地址发送至所述共享内存控制器。

一种网络流量拦截装置,应用于拦截器,所述装置包括:

第一获取模块,用于获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包;获取所述数据包中的源ip地址;

第二获取模块,用于利用共享内存通信机制访问预设的共享内存,从所述共享内存中获取针对所述网络设备的已认证ip地址;所述共享内存中存储有针对所述网络设备的多个认证用户的已认证ip地址;

判断模块,用于根据所述源ip地址和所述针对所述网络设备的已认证ip地址,确定是否拦截所述流量。

一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的网络流量拦截方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的网络流量拦截方法。

上述网络流量拦截方法、系统、装置、计算机设备和存储介质,通过获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包,还可以获取该数据包中的源ip地址,再可以利用共享内存通信机制访问预设的共享内存,从共享内存中获取针对网络设备的已认证ip地址,再可以根据源ip地址和上述针对网络设备的已认证ip地址,确定是否拦截上述流量。相较于传统的通过网桥部署方式和旁挂部署方式,本方案通过将流量中采用tcp/ip协议传输的数据包中的源ip地址与共享内存中存储的针对网络设备的认证用户的已认证ip地址进行对比,可以确定是否拦截上述流量,实现更直接地拦截不符合条件的流量,提高了拦截网络流量的效率。

附图说明

图1为一个实施例中网络流量拦截方法的应用环境图;

图2为一个实施例中网络流量拦截方法的流程示意图;

图3为另一个实施例中网络流量拦截方法的流程示意图;

图4为一个实施例中网络流量拦截系统的结构示意图;

图5为一个实施例中网络流量拦截装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的网络流量拦截方法,可以应用于如图1所示的应用环境中。其中,拦截器102通过网络与交换机104进行通信。拦截器102可以通过交换机104获取网络流量中的采用tcp/ip传输协议的数据包,还可以从这些数据包中获取源ip地址,再可以根据共享内存中存储的认证用户的已认证ip地址,确定上述网络流量是否需要拦截。在一个实施例中,还包括共享内存控制器,共享内存控制器可以将认证用户的已认证ip地址存储在共享内存中,使得拦截器102可以从共享内存中获取认证用户的已认证ip地址。其中,交换机104可以用独立的交换机或者是多个交换机组成的交换机集群来实现。

在一个实施例中,如图2所示,提供了一种网络流量拦截方法,以该方法应用于图1中的拦截器为例进行说明,包括以下步骤:

步骤s202,获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包。

其中,网络设备可以是接入网络设电子设备,可以包括有个人计算机、笔记本电脑、智能手机和平板电脑等。tcp/ip(transmissioncontrolprotocol/internetprotocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇,它是在网络的使用中的最基本的通信协议。tcp/ip传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,tcp/ip传输协议是保证网络数据信息及时、完整传输的两个重要的协议。tcp/ip传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。数据包是tcp/ip协议通信传输中的数据单位,在包交换网络里,单个消息被划分为多个数据块,这些数据块称为包,它包含发送者和接收者的地址信息。这些包然后沿着不同的路径在一个或多个网络中传输,并且在目的地重新组合。拦截器102可以通过分流器的转发得到需要对上述网络设备进行访问的网络流量,其中分流器可以是采用openflow协议的分流器,openflow可以是一种网络通信协议,属于数据链路层,能够控制网上交换器或路由器的转发平面,借此改变网络数据包所走的网络路径。openflow允许从远程控制网络交换器的数据包转送表,透过新增、修改与移除数据包控制规则与行动,来改变数据包转送的路径。比起用访问控制表和路由协议,允许更复杂的流量管理。

步骤s204,获取上述数据包中的源ip地址。

其中,ip可以是internetprotocol(网际互连协议)的缩写,是tcp/ip体系中的网络层协议,ip是整个tcp/ip协议族的核心,也是构成互联网的基础。ip位于tcp/ip模型的网络层,对上可载送传输层各种协议的信息,例如tcp、udp等;对下可将ip信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。上述数据包中可以包括有源ip地址,源ip地址可以是发送该数据包的位置的ip地址,该源ip地址可以包括在tcp/ip五元组中,tcp/ip五元组是一种通信术语,通常是指源ip地址,源端口,目的ip地址,目的端口和传输层协议五个元素组成的一组参数,tcp/ip五元组可以包括在上述网络流量中。拦截器102可以在上述数据包中获取该数据包的源ip地址。其中数据包的数量可以是一个也可以是多个。

步骤s206,利用共享内存通信机制访问预设的共享内存,从共享内存中获取针对网络设备的已认证ip地址;共享内存中存储有针对网络设备的多个认证用户的已认证ip地址。

其中,共享内存可以是在多处理器的计算机系统中,可以被不同中央处理器访问的大容量内存。共享内存是unix下的多进程之间的通信方法,这种方法通常用于一个程序的多进程间通信,实际上多个程序间也可以通过共享内存来传递信息。认证用户可以是经过预设条件认证后判定为合法的用户,认证用户可以对网络设备进行相应的操作。拦截器102可以根据共享内存可供快速访问的特点,从共享内存中获取针对网络设备的已认证ip地址,该已认证ip地址可以是上述网络设备允许被访问的ip地址,已认证ip地址可以是一个,也可以是多个,共享内存中可以存储有多个已认证用户的已认证ip地址,上述已认证ip地址可以从上述多个已认证用户的已认证ip地址中获取。

步骤s208,根据源ip地址和针对网络设备的已认证ip地址,确定是否拦截上述流量。

其中,源ip地址可以是上述数据包中的源ip地址。针对网络设备的已认证ip地址可以是上述从共享内存中获取的针对网络设备的已认证ip地址。拦截器102可以根据上述源ip地址和针对网络设备的已认证ip地址,确定是否拦截上述网络流量。具体地,在一个实施例中,根据源ip地址和针对所述网络设备的已认证ip地址,确定是否拦截流量,包括:判断源ip地址与针对网络设备的已认证ip地址是否一致,得到判断结果;当判断结果为一致时,确定不拦截所述流量;当判断结果为不一致时,确定拦截所述流量。本实施例中,不同的网络设备可以对没有通过认证的ip地址进行拦截,并且可以供从已认证的ip地址发送的流量访问相应的网络设备。拦截器102可以通过将上述源ip地址与上述针对网络设备的已认证ip地址进行对比,判断上述源ip地址和上述针对网络设备的已认证ip地址是否一致,确定是否拦截上述网络流量。具体地,当上述判断的结果为一致时,可以确定不拦截上述网络流量,即可以允许上述网络流量相应的网络设备;当上述判断结果为不一致时,可以确定需要拦截上述网络流量,即可以不允许上述网络流量访问其需要访问的网络设备。通过本实施例,拦截器102可以通过判断源ip地址和针对网络设备的已认证ip地址是否一致,确定是否需要拦截网络流量,实现更直接地拦截网络流量,提高网络流量拦截的效率。

上述网络流量拦截方法,通过获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包,还可以获取该数据包中的源ip地址,再可以利用共享内存通信机制访问预设的共享内存,从共享内存中获取针对网络设备的已认证ip地址,再可以根据源ip地址和上述针对网络设备的已认证ip地址,确定是否拦截上述流量。相较于传统的通过网桥部署方式和旁挂部署方式,本方法通过将流量中采用tcp/ip协议传输的数据包中的源ip地址与共享内存中存储的针对网络设备的认证用户的已认证ip地址进行对比,可以确定是否拦截上述流量,实现更直接地拦截不符合条件的流量,提高了拦截网络流量的效率。

在一个实施例中,获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包,包括:通过拦截器102的数据平台开发套件接口,从交换机104中接收需要对网络设备进行访问的流量中的tcp流量;交换机104通过预设网络通信协议从应用层转发得到需要对网络设备进行访问的流量;从需要对网络设备进行访问的流量中的tcp流量中获取采用tcp/ip协议传输的数据包。

本实施例中,拦截器102可以包括数据平台开发套件的接口,数据平台开发套件可以称为dpdk(dataplanedevelopmentkit,数据平面开发套件),dpdk是由intel等多家公司开发,主要基于linux系统运行,可以用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。上述网络流量可以经过交换机104,拦截器102可以从交换机104中获取上述需要对网络设备进行访问的网络流量中的tcp流量,tcp流量可以是采用tcp协议的流量,tcp协议可以是传输控制协议,是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。预设网络通信协议可以是上述openflow网络通信协议,即可以是一种网络通信协议,属于数据链路层,能够控制网上交换器或路由器的转发平面,借此改变网络数据包所走的网络路径。openflow允许从远程控制网络交换器的数据包转送表,透过新增、修改与移除数据包控制规则与行动,来改变数据包转送的路径。比起用访问控制表和路由协议,允许更复杂的流量管理。交换机104可以通过上述预设网络通信协议,从应用层转发得到需要对网络设备进行访问的流量,应用层可以是osi(opensysteminterconnect,开放式系统互联)参考模型中的一层,osi参考模型是iso组织在1985年研究的网络互联模型。该体系结构标准定义了网络互联的七层框架,可以包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。拦截器102获取到从应用层转发得到的流量后,可以从中获取tcp流量,还可以从tcp流量中获取采用tcp/ip协议传输的数据包。通过本实施例,拦截器102可以通过数据平台开发套件的接口快速接收需要对网络设备进行访问的tcp流量,提高了获取流量的效率,从而提高了判断网络流量是否需要拦截的效率。

在一个实施例中,确定不拦截所述流量之后,包括:释放数据包,以使流量对对网络设备进行访问。

本实施例中,数据包可以是上述需要对网络设备进行访问的流量中的数据包,该数据包可以包括多种信息,例如可以包括mac地址、ip地址和协议类型的端口号等,当拦截器102判断不需要拦截上述网络流量后,可以释放该数据包,使得包含该数据包的流量可以对其需要访问的网络设备进行访问,例如可以对某个计算机用户进行访问等。具体地,拦截器102可以将不需要拦截的流量,通过交换机104,发送至下级设备,例如可以是路由器等,下级设备可以将该流量继续传输,发送至对应的终端网络设备,实现对相应的网络设备进行访问。通过本实施例,拦截器102可以在确定不需要拦截上述流量后,释放相应的数据包,允许该流量访问相应的网络设备,实现网络设备间正常通信的效果。

在一个实施例中,确定拦截流量之后,包括:构建与采用tcp/ip协议传输的数据包对应的rst包;将rst包发送至需要对网络设备进行访问的目标设备,以关闭包括目标设备与网络设备的网络连接。

本实施例中,rst包可以是用于中断网络连接的数据包,其中可以包括rst标志位,rst标志位中的rst可以是tcp首部中的6个标志比特之一,可以表示重置连接、复位连接。rst可以表示复位,可以用来表示异常的关闭连接,在tcp的设计中它是不可或缺的。发送rst包关闭连接时,不必等缓冲区的包都发出去,可以直接丢弃缓存区的包,并发送rst包,而接收端收到rst包后,可以直接关闭连接,也不必发送ack包来确认。其中,ack(acknowledgecharacter,确认字符)可以是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符,可以表示发来的数据已确认接收无误,在tcp/ip协议中,如果接收方成功的接收到数据,可以会回复一个ack数据,通常ack信号有自己固定的格式,长度大小,可以由接收端回复给发送端。拦截器102在确定需要对上述网络流量进行拦截后,可以构建与包括上述采用tcp/ip协议传输的数据包的网络流量对应的rst包,然后可以将该rst包发送至需要对上述网络设备进行访问的目标设备,使得该目标设备关闭包括上述目标设备和上述网络设备的网络连接。其中,rst包可以从出口网卡组之一发出,目标设备可以是发送上述网络流量的设备。具体地,拦截器102可以首先获取网络端口总数,还可以遍历每个网络端口,进行设备检查,然后可以采用轮询模式处理数据包,例如可以首先获取数据包,然后可以对数据包进行相应的处理,例如可以构建相应的rst包等,再可以发送处理好的数据包至相应的接收端,当发送数据包失败时,还可以释放相应的内存。其中,轮询模式是一种cpu决策如何提供周边设备服务的方式,又可以称“程控输入输出”。轮询法的概念可以是:由cpu定时发出询问,依序询问每一个周边设备是否需要其服务,有即给予服务,服务结束后再问下一个周边,接着不断周而复始。通过本实施例,拦截器102可以在确定需要拦截网络流量时,构建相应的rst包,并发送至该流量的发送方处,使其断开与网络设备的连接,实现了更高效地保证了访问网络设备的网络流量的安全,提高了网络拦截的效率。

在一个实施例中,如图3所示,图3为另一个实施例中网络流量拦截方法的流程示意图。采用openflow网络通信协议的分流器可以将流量进行分发,具体地,可以将协议类型为tcp协议的流量发送至拦截器102,拦截器102可以通过dpdk接口接收上述流量并获取其中的数据包,还可以从数据包中提取出源ip地址。另一方面,网络设备可以根据用户信息对用户进行认证,例如账号和密码等,还可以将通过认证的用户信息发送至共享内存控制器,共享内存控制器可以将上述用户信息发送至共享内存中进行存储。其中上述用户信息中可以包括认证用户的已认证ip地址、用户名和用户产生的流量数据等,具体地,共享内存控制器可以首先获取认证用户的实名信息,例如用户的认证ip地址、用户名和流量数据等,然后可以向共享内存中批量添加用户的实名信息,拦截器102和网络内部的其他设备可以根据用户名从共享内存中获取用户的实名信息,也可以根据认证的ip地址从共享内存中获取用户的实名信息;当上述用户的实名信息使用完毕后,还可以根据用户名从内存队列中删除用户信息,也可以根据用户的认证ip地址从内存队列中删除用户信息。拦截器102可以从共享内存中获取用户的认证ip地址,并且可以和上述数据包的源ip地址进行比较,当上述认证ip地址与上述源ip地址不同时,可以确定需要拦截该网络流量,同时可以构建与该数据包对应的rst包,并发送至该流量的发送端,使得该发送端断开与上述网络设备的连接。通过本实施例,拦截器102可以通过openflow流量分发器的转发,从dpdk接口接收到需要对网络设备进行访问的流量,并且可以从其中的数据包提取源ip地址,还可以从共享内存中获取针对网络设备的用户认证的ip地址,并将用户认证的ip地址与源ip地址进行比较,不同时可以拦截该流量,还可以构建相应的rst包,发送至该网络流量的发送端,使得该发送端断开网络连接,实现更高效地拦截不符合要求的网络流量,提高了网络流量拦截的效率。

在一个实施例中,如图4所示,图4为一个实施例中网络流量拦截系统的结构示意图。提供一种网络流量拦截系统,该系统包括:分流器、多个拦截器、共享内存和共享内存控制器;多个拦截器102分别与分流器和共享内存连接,共享内存与共享内存控制器连接;

分流器用于将需要对网络设备进行访问的镜像流量发送至拦截器;其中,分流器可以是采用openflow网络通信协议的分流器。

拦截器102用于获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包;获取数据包中的源ip地址;利用共享内存通信机制访问共享内存,从共享内存中获取针对网络设备的已认证ip地址;共享内存中存储有针对网络设备的多个认证用户的已认证ip地址;根据源ip地址和针对网络设备的访问流量的认证用户的已认证ip地址,确定是否拦截流量。其中拦截器102可以由多个拦截器组成。

共享内存控制器用于将针对网络设备的认证用户的已认证ip地址存储在共享内存中。

本实施例中,拦截器102可以以软件形式部署在相应硬件中,需要对上述网络设备进行访问的流量可以有相应的镜像流量,分流器可以接受该镜像流量并转发至拦截器102,分流器可以是采用openflow网络通信协议的分流器,拦截器102可以通过dpdk接口接收上述网络流量,并且可以获取其中的数据包,其中,数据包中可以包括有多种信息,例如源ip地址等,拦截器102可以由多个dpdk拦截器组成,如图4中的dpdk拦截器1至4,多个dpdk拦截器可以通过共享内存通信机制从共享内存中获取实时用户认证的信息,例如可以是用户认证的ip地址等,其中,共享内存中的实时用户认证信息可以是共享内存控制器将认证的用户信息存储得到,多个dpdk拦截器可以根据上述数据包中的信息和共享内存中的实时用户认证信息进行比较,判断是否需要拦截上述网络流量。通过本实施例,拦截器102可以由多个dpdk拦截器组成,同时还可以根据网络流量中的数据包信息和实时用户认证信息进行比较,决定是否需要拦截上述网络流量,实现了更高效的拦截不符合要求的网络流量,提高了网络流量拦截的效率。

在一个实施例中,上述系统还包括:认证单元;认证单元用于获取针对网络设备的待认证用户的用户名和密码;当认证用户数据库中存储有待认证用户的用户名和密码,确定待认证用户通过认证;将通过认证的用户的ip地址发送至所述共享内存控制器。

应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,图5为一个实施例中网络流量拦截装置的结构框图。提供了一种网络流量拦截装置,应用于拦截器102,包括:第一获取模块500、第二获取模块502和判断模块504模块,其中:

第一获取模块500,用于获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包;获取数据包中的源ip地址。

第二获取模块502,用于利用共享内存通信机制访问预设的共享内存,从共享内存中获取针对网络设备的已认证ip地址;共享内存中存储有针对网络设备的多个认证用户的已认证ip地址。

判断模块504,用于根据源ip地址和所述针对网络设备的已认证ip地址,确定是否拦截流量。

在一个实施例中,第一获取模块500还用于,通过拦截器102的数据平台开发套件接口,从交换机104中接收需要对网络设备进行访问的流量中的tcp流量;交换机104通过预设网络通信协议从应用层转发得到需要对网络设备进行访问的流量;从需要对网络设备进行访问的流量中的tcp流量中获取采用tcp/ip协议传输的数据包。

在一个实施例中,判断模块504还用于,判断源ip地址与针对网络设备的已认证ip地址是否一致,得到判断结果;当判断结果为一致时,确定不拦截流量;当判断结果为不一致时,确定拦截流量。

在一个实施例中,上述装置还包括:处理模块,用于确定不拦截流量之后,释放数据包,以使流量对对网络设备进行访问。确定拦截流量之后,构建与采用tcp/ip协议传输的数据包对应的rst包;将rst包发送至需要对网络设备进行访问的目标设备,以关闭包括目标设备与网络设备的网络连接。

关于网络流量拦截装置的具体限定可以参见上文中对于网络流量拦截方法的限定,在此不再赘述。上述网络流量拦截装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储网络流量和用户的认证信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络流量拦截方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上所述的网络流量拦截方法。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述的网络流量拦截方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。


技术特征:

1.一种网络流量拦截方法,其特征在于,应用于拦截器,所述拦截器与交换机连接,所述方法包括:

获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包;

获取所述数据包中的源ip地址;

利用共享内存通信机制访问预设的共享内存,从所述共享内存中获取针对所述网络设备的已认证ip地址;所述共享内存中存储有针对所述网络设备的多个认证用户的已认证ip地址;

根据所述源ip地址和所述针对所述网络设备的已认证ip地址,确定是否拦截所述流量。

2.根据权利要求1所述的方法,其特征在于,所述获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包,包括:

通过所述拦截器的数据平台开发套件接口,从所述交换机中接收需要对网络设备进行访问的流量中的tcp流量;所述交换机通过预设网络通信协议从应用层转发得到需要对网络设备进行访问的流量;

从所述需要对网络设备进行访问的流量中的tcp流量中获取所述采用tcp/ip协议传输的数据包。

3.根据权利要求1所述的方法,其特征在于,根据所述源ip地址和所述针对所述网络设备的已认证ip地址,确定是否拦截所述流量,包括:

判断所述源ip地址与所述针对所述网络设备的已认证ip地址是否一致,得到判断结果;

当所述判断结果为一致时,确定不拦截所述流量;

当所述判断结果为不一致时,确定拦截所述流量。

4.根据权利要求3所述的方法,其特征在于,确定不拦截所述流量之后,包括:

释放所述数据包,以使所述流量对所述对网络设备进行访问。

5.根据权利要求3所述的方法,其特征在于,所述确定拦截所述流量之后,包括:

构建与所述采用tcp/ip协议传输的数据包对应的rst包;

将所述rst包发送至需要对所述网络设备进行访问的目标设备,以关闭包括所述目标设备与所述网络设备的网络连接。

6.一种网络流量拦截系统,其特征在于,包括:分流器、多个拦截器、共享内存和共享内存控制器;所述多个拦截器分别与所述分流器和所述共享内存连接,所述共享内存与所述共享内存控制器连接;

所述分流器用于将需要对网络设备进行访问的镜像流量发送至所述多个拦截器;

所述多个拦截器中的至少一个拦截器,用于获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包;获取所述数据包中的源ip地址;利用共享内存通信机制访问所述共享内存,从所述共享内存中获取针对所述网络设备的已认证ip地址;所述共享内存中存储有针对所述网络设备的多个认证用户的已认证ip地址;根据所述源ip地址和所述针对所述网络设备的访问流量的认证用户的已认证ip地址,确定是否拦截所述流量;

所述共享内存控制器用于将针对所述网络设备的认证用户的已认证ip地址存储在所述共享内存中。

7.根据权利要求6所述的系统,其特征在于,所述系统还包括:认证单元;

所述认证单元用于获取针对所述网络设备的待认证用户的用户名和密码;当认证用户数据库中存储有所述待认证用户的用户名和密码,确定所述待认证用户通过认证;将通过认证的用户的ip地址发送至所述共享内存控制器。

8.一种网络流量拦截装置,其特征在于,应用于拦截器,所述装置包括:

第一获取模块,用于获取需要对网络设备进行访问的流量中的采用tcp/ip协议传输的数据包;获取所述数据包中的源ip地址;

第二获取模块,用于利用共享内存通信机制访问预设的共享内存,从所述共享内存中获取针对所述网络设备的已认证ip地址;所述共享内存中存储有针对所述网络设备的多个认证用户的已认证ip地址;

判断模块,用于根据所述源ip地址和所述针对所述网络设备的已认证ip地址,确定是否拦截所述流量。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。

技术总结
本申请涉及一种网络流量拦截方法、系统、装置、计算机设备和存储介质。通过获取需要对网络设备进行访问的流量中的采用TCP/IP协议传输的数据包,还可以获取该数据包中的源IP地址,再可以利用共享内存通信机制访问预设的共享内存,从共享内存中获取针对网络设备的已认证IP地址,再可以根据源IP地址和上述针对网络设备的已认证IP地址,确定是否拦截上述流量。相较于传统的通过网桥部署方式和旁挂部署方式,本方案通过将流量中采用TCP/IP协议传输的数据包中的源IP地址与共享内存中存储的针对网络设备的认证用户的已认证IP地址进行对比,可以确定是否拦截上述流量,实现更直接地拦截不符合条件的流量,提高了拦截网络流量的效率。

技术研发人员:刘号召;毛绍嵘;王风玲;吴凯迪;潘浩
受保护的技术使用者:世纪龙信息网络有限责任公司
技术研发日:2020.01.19
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-55619.html

最新回复(0)