深度报文检测 linux,深度报文检测方法及系统的制作方法

深度报文检测方法及系统的制作方法

【技术领域】

[0001 ] 本发明涉及一种网络流量的控制、分析方法和系统,尤其是一种深度报文检测方法及系统。

【背景技术】

[0002]深度报文检测技术(即Deep Packet Inspect1n,以下简称DPI ),是一种面向应用层分析的流量分析检测技术。DPI技术已成为高端网络设备的标准配置,用于对网络流量的精细化控制和分析,但是由于硬件性能、功能适配、系统架构等因素的制约,DPI —直无法在为数众多的低端网络设备(如家庭路由、商业WIF1、瘦AP等)中广泛使用,从而导致面向广大终端用户的高级流量优化和服务提升的缺失,因此有必要实现能适配于低端网络设备的深度报文检测技术。

[0003]在系统资源相对宽裕的流量管理设备中,一般会集成DPI模块,用于对经过设备的流量进行分析。在此类设备中,DPI作为系统的一个组成模块存在,与设备其他模块配合使用,内部模块之间的交互为达到高效的目的,一般采用资源共享的方式进行,功能一般比较完善,但该技术的缺点也比较突出。首先,由于DPI是设备的一个模块,因此设备依赖度极高,向其他厂商进行迀移的成本很高,或者根本无法迀移;其次DPI模块与其他模块耦合度较高,升级DPI的功能需要通过升级整个固件完成,因此可扩展性较差;再次,由于设备资源较充裕,为达到高性能,对资源占用会较高,无法满足在资源较少的低端设备上适用。

[0004]现有技术二在运营商网络中较多使用,采用流量镜像的方式获取某网段所有报文,采用单独的DPI软件程序对流量进行分析,本技术的实现方案是在串行网络设备采用镜像的方式将全部或部分流量引导到DPI设备,该设备采用并行的方式工作;该方案的特点是可以根据流量的大小采用适合的DPI设备,且设备可采用通用技术架构进行分析,升级软件程序较方便,但是该方案缺点是无法在线分析,无法基于DPI对流量进行控制。

[0005]因此需要研宄一种即能解决中低端网络设备中由于设备资源的限制,无法应用或无法在线分析,无法对流量进行有效控制的问题;又能解决DPI设备无法在不同硬件平台快速适配并进行更新的问题的深度报文检测方法及系统。

【发明内容】

[0006]本发明的目的就是为了解决现有技术中存在的上述问题,提供一种深度报文检测方法及系统。

[0007]本发明的目的通过以下技术方案来实现:

一种深度报文检测方法,其包括如下步骤:

Si,信息获取步骤:接收网络设备操作系统内核输入的待处理会话中的报文,并读取所述报文的信息;

S2,报文深度检测步骤:根据报文携带的信息,对报文进行检测,并根据检测结果及是否存在硬件加速配置处理所述会话的后续报文; S3,检测数据报送步骤:将报文检测的结果进行统计、分析并报送给数据平台,展现检测和控制结果。

[0008]优选的,所述的深度报文检测方法,其中:所述S2,深度报文检测步骤包括:

S21,报文检测步骤:根据内置算法,对接收的会话中的报文进行处理,并将已处理的报文发送回网络设备操作系统内核,如报文处理完成,则通知网络设备操作系统内核无需输入所述会话的后续报文;如报文处理未完成,则通知网络设备操作系统内核引入所述会话的后续报文并进行处理;

S22,硬件加速步骤:判断是否存在硬件加速配置,如存在,则将所述会话的后续报文直接引入硬件加速模块;如不存在,则通知内核进行网络设备中其他报文处理的流程。

[0009]优选的,所述的深度报文检测方法,其中:在所述S21,报文检测步骤中,所述的内置算法是HTTP报文单次扫描多次匹配及基于稀疏矩阵的有限态机算法。

[0010]优选的,所述的深度报文检测方法,其中:还包括S4,系统更新步骤:接收用户设置的命令,主动或定时发起系统在线更新请求,如验证请求合法,则在线下载最新的插件和/或特征库进行更新。

[0011]优选的,所述的深度报文检测方法,其中:还包括S5,授权步骤:根据接收的请求,通过MD5算法校验各模块的合法性。

[0012]一种深度报文检测系统,其包括

信息获取模块,用于接收网络设备操作系统内核输入的待处理会话中的报文,并读取所述报文的信息;

报文深度检测模块,用于根据报文携带的信息,对报文进行检测,并根据检测结果及是否存在硬件加速配置处理所述会话的后续报文;

以及,检测数据报送模块,用于将报文检测的结果进行统计、分析并报送给数据平台,展现检测和控制结果。

[0013]优选的,所述的深度报文检测系统,其中:所述报文深度检测模块包括报文检测单元,用于根据内置算法,对接收的会话中的报文进行处理,并将已处理的报文发送回网络设备操作系统内核,如报文处理完成,则通知网络设备操作系统内核无需输入所述会话的后续报文;如报文处理未完成,则通知网络设备操作系统内核引入所述会话的后续报文并进行处理;

以及,硬件加速步骤单元,用于判断是否存在硬件加速配置,如存在,则将所述会话的后续报文直接引入硬件加速模块;如不存在,则通知内核进行网络设备中其他报文处理的流程。

[0014]优选的,所述的深度报文检测系统,其中:所述报文深度检测模块采用HTTP报文单次扫描多次匹配及基于稀疏矩阵的有限态机算法。

[0015]优选的,所述的深度报文检测系统,其中:还包括系统更新模块,用于接收用户设置的命令,主动或定时发起系统在线更新请求,如验证请求合法,则在线下载最新的插件和/或特征库。

[0016]优选的,所述的深度报文检测系统,其中:还包括授权模块,用于根据接收的请求,通过MD5算法校验各模块的合法性。

[0017]本发明技术方案的优点主要体现在: 本发明是一个纯软件化产品,可以根据不同网络设备的内核进行编译,快速适配各种硬件平台,解决了 DPI模块与网络设备耦合性强的问题,使得DPI模块可以独立于网络设备而存在,实现了深度报文分析技术在低端网络设备上的适用,拓展了适用范围,降低了对设备的依赖度,不需要占用大量资源,且该软件具有应用识别、终端识别、搜索关键字获取、URL识别及分类、特定信息获取功能多种功能,功能更加完善。

[0018]通过设置更新模块,通过插件主动申请、平台验证、插件自主更新的方法,能够实现在设备运行过程中进行在线动态升级,,对设备正常运行无任何影响,具有较好的可扩张性。

[0019]通过优化的算法,在保证性能的前提下,将大内存占用的特征库压缩到足够小,可以在家庭路由等低端网络设备上加载运行,提高了资源利用率。

[0020]通过数据平台对业务流数据进行统计、分析,能够为优化DPI插件提供数据基础,进一步提高业务流的管控。

【附图说明】

[0021]图1是本发明的结构示意图;

图2是本发明的工作流程示意图;

图3是本发明的具体工作流程图;

图4是本发明升级过程示意图。

【具体实施方式】

[0022]本发明的目的、优点和特点,将通过下面优选实施例的非限制性说明进行图示和解释。这些实施例仅是应用本发明技术方案的典型范例,凡采取等同替换或者等效变换而形成的技术方案,均落在本发明要求保护的范围之内。

[0023]本发明揭示了一种深度报文检测系统,用于各种网络设备中报文的检测,其不仅适用于高端网络设备,亦适用于低端网络设备,其中,所述报文是指在互联网中传输的TCP/IP协议的数据包,其包含于会话中,所述会话是指五元组(协议、源地址、目的地址、源端口、目的端口)相同的一组双向(发送和接收)报文的集合;因此本系统处理的对象为会话,最小处理单元为每会话包含的报文。

[0024]如附图1所示,所述深度报文检测系统包括内部设置有控制平台7和数据平台8的云端以及与所述云端相匹配的包含有DPI插件6的网络设备;所述控制平台7用于控制所述DPI插件6的工作模式,所述数据平台8用于接收所述DPI插件6上报的数据;所述控制平台7可以通过远程点对点控制所述DPI插件6的各项功能子引擎的开关,也可以控制所述DPI插件6的数据上报功能;所述DPI插件6的各项功能子引擎包括应用识别、终端识另O、搜索关键字获取、URL识别及分类、特定信息获取等功能,各功能子引擎均采用基于稀疏矩阵的有限状态机算法,对功能采用不同的特征库,特征库在组织上进行优化处理,提高性能,实现一次扫描多重匹配;所述DPI插件6按照所述控制平台7的指令进行工作,并将指定数据上传到所述数据平台8 ;所述数据平台8接收并综合处理和分析所述DPI插件6上报的数据;所述网络设备可以是家庭路由、商业WiF1、瘦AP等小型低端网络设备,本实施例中优选为智能路由器。

[0025]具体的,所述DPI插件6包括信息获取模块1、深度报文检测模块2及检测数据报送模块3,所述信息获取模块I用于接收网络设备操作系统内核输入的待处理会话中的报文,并读取所述报文中的信息,所述信息包括但不限于报文的MAC地址信息,源目的地址、端口信息,HTTP协议头信息等;所述深度报文检测模块2,用于根据报文携带的信息,对报文进行检测,并根据检测结果及是否存在硬件加速配置处理会话中的后续报文,其进一步包括报文检测单元21以及硬件加速单元22,所述报文检测单元21,用于根据内置算法,对接收的会话中的报文进行处理,并将已处理的报文发送回网络设备操作系统内核,如报文处理完成,则通知网络设备操作系统内核无需输入所述会话的后续报文;如报文处理未完成,则通知网络设备操作系统内核引入所述会话的后续报文并进行处理;所述硬件加速单元22,用于判断是否存在硬件加速配置,如存在,则将所述会话的后续报文直

你可能感兴趣的:(深度报文检测,linux)