一种报文分析过滤方法及装置的制造方法
【专利摘要】本发明提供一种报文分析过滤方法及装置。所述方法包括:获取网口接收到的网络报文;通过调用报文分析组件对所述网络报文按照IP协议栈包含的协议层依次进行解析后,提取所述网络报文的元组信息;调用报文过滤组件,根据提取的元组信息判断所述网络报文是否符合预设过滤策略,若符合则按照所述过滤策略处理所述网络报文。因此,本发明可以通过调用分析组件提取网络报文的元组信息,并调用过滤组件根据该元组信息对网络报文进行过滤,来模拟网络应用设备的分析过滤功能,而无需依赖特定的硬件设备和芯片,因此本发明能够降低组网的搭建及维护成本。
【专利说明】
一种报文分析过滤方法及装置
技术领域
[0001]本发明涉及通信技术领域,尤其涉及一种报文分析过滤方法及装置。
【背景技术】
[0002]随着网络技术的发展,网络中充斥着各种各样的网络报文。为了提高网络应用设备的报文处理效率,常在网络应用设备处理之前先对网络报文进行分析过滤。
[0003]现有技术中,网络应用设备对网络报文进行分析过滤常依赖于特定的硬件设备及芯片,若在组网中通过装有特定硬件设备和芯片的网络应用设备来分析过滤网络报文,会造成搭建和维护成本较高。
【发明内容】
[0004]有鉴于此,本发明提供一种报文分析过滤方法及装置来解决组网搭建及维护成本高的问题。
[0005]—种报文分析过滤方法,所述方法包括:
[0006]获取网口接收到的网络报文;
[0007]通过调用报文分析组件对所述网络报文按照IP协议栈包含的协议层依次进行解析后,提取所述网络报文的元组信息;
[0008]调用报文过滤组件,根据提取的元组信息判断所述网络报文是否符合预设过滤策略,若符合则按照所述过滤策略处理所述网络报文。
[0009]进一步的,所述方法还可以包括:
[0010]预先在所述报文过滤组件中设置网络元组过滤策略,所述网络元组过滤策略包括若干个网络元组过滤表项及为每个网络元组过滤表项设置的哈希值;
[0011]所述调用报文过滤组件,根据提取的元组信息判断所述网络报文是否符合预设过滤策略,包括:
[0012]通过调用报文过滤组件从所述元组信息中获取IP五元组信息;
[0013]计算所述IP五元组信息的哈希值;
[0014]将计算出的哈希值与所述网络元组过滤策略中每个网络元组过滤表项的哈希值进行匹配;
[0015]若匹配成功,则所述网络报文符合与其哈希值匹配的网络元组过滤表项对应的网络元组过滤策略。
[0016]进一步的,所述方法还可以包括:
[0017]预先在所述报文过滤组件中设置掩码元组过滤策略,所述掩码元组过滤策略包括若干个掩码元组表项及为每个掩码元组表项设置的过滤值;
[0018]所述调用报文过滤组件,按照所述报文过滤组件中预设的过滤策略根据提取的元组信息判断所述网络报文是否符合预设过滤策略,包括:
[0019]通过调用报文过滤组件从所述网络报文的元组信息中提取预设个元组信息组合成匹配信息;
[0020]将所述匹配信息与预设掩码表中的任意一个掩码相与,得到所述网络报文的匹配值;
[0021]将所述网络报文的匹配值与所述掩码元组过滤策略中每个掩码元组表项的过滤值进行匹配;
[0022]若匹配成功,则将所述网络报文的元组信息与匹配成功的过滤值对应掩码元组表项中的元组信息进行比较;
[0023]若相同,则所述网络报文符合所述掩码元组表项对应的掩码元组过滤策略。
[0024]进一步的,所述方法还可以包括:
[0025]调用报文统计组件,按照预设的分类统计策略对符合所述过滤策略的网络报文进行分类统计;
[0026]以统计结果的类别为索引保存统计结果。
[0027]进一步的,所述方法还可以包括:
[0028]接收统计结果请求;
[0029]根据所请求的统计结果的类别调用对应的接口函数来获取保存的统计结果;
[0030]发送所述统计结果。
[0031]基于相同的构思,本发明还一种报文分析过滤装置,所述装置包括:
[0032]报文获取单元,用于获取网口接收到的网络报文;
[0033]报文分析单元,用于通过调用报文分析组件对所述网络报文按照IP协议栈包含的协议层依次进行解析后,提取所述网络报文的元组信息;
[0034]报文过滤单元,用于调用报文过滤组件,根据提取的元组信息判断所述网络报文是否符合预设过滤策略,若符合则按照所述过滤策略处理所述网络报文。
[0035]进一步的,所述装置还可以包括:
[0036]第一策略设置单元,用于预先在所述报文过滤组件中设置网络元组过滤策略,所述网络元组过滤策略包括若干个网络元组过滤表项及为每个网络元组过滤表项设置的哈希值;
[0037]所述报文过滤单元,具体用于通过调用报文过滤组件从所述元组信息中获取IP五元组信息,计算所述IP五元组信息的哈希值,将计算出的哈希值与所述网络元组过滤策略中每个网络元组过滤表项的哈希值进行匹配,若匹配成功,则所述网络报文符合与其哈希值匹配的网络元组过滤表项对应的网络元组过滤策略。
[0038]进一步的,所述装置还可以包括:
[0039]第二策略设置单元,用于预先在所述报文过滤组件中设置掩码元组过滤策略,所述掩码元组过滤策略包括若干个掩码元组表项及为每个掩码元组表项设置的过滤值;
[0040]所述报文过滤单元,具体用于通过调用报文过滤组件从所述网络报文的元组信息中提取预设个元组信息组合成匹配信息,将所述匹配信息与预设掩码表中的任意一个掩码相与得到所述网络报文的匹配值,将所述网络报文的匹配值与所述掩码元组过滤策略中每个掩码元组表项的过滤值进行匹配,若匹配成功,则将所述网络报文的元组信息与匹配成功的过滤值对应掩码元组表项中的元组信息进行比较,若相同,则所述网络报文符合所述掩码元组表项对应的掩码元组过滤策略。[0041 ] 进一步的,所述装置还可以包括:
[0042]报文统计单元,用于调用报文统计组件,按照预设的分类统计策略对符合所述过滤策略的网络报文进行分类统计,以统计结果的类别为索引保存统计结果。
[0043]进一步的,所述装置还可以包括:
[0044]结果发送单元,用于在收到统计结果请求时,根据所请求的统计结果的类别调用对应的接口函数来获取保存的统计结果,并发送所述统计结果。
[0045]由此可见,本发明可以通过调用分析组件提取网络报文的元组信息,并调用过滤组件根据该元组信息对网络报文进行过滤,来模拟网络应用设备的分析过滤功能,而无需依赖特定的硬件设备和芯片,因此本发明能够降低组网的搭建及维护成本。
【附图说明】
[0046]图1是本发明实施例中的一种报文分析过滤方法的处理流程图;
[0047]图2是本发明实施例中一种网络报文处理流程图;
[0048]图3a是本发明实施例中设置网络元组过滤策略的处理流程图;
[0049]图3b是本发明实施例中对网络报文进行网络元组过滤的处理流程图;
[0050]图4a是本发明实施例中设置掩码元组过滤策略的处理流程图;
[0051]图4b是本发明实施例中对网络报文进行掩码元组过滤的处理流程图;
[0052]图5是本发明实施例中一种报文分析过滤装置的结构示意图;
[0053]图6是本发明实施例中另一种报文分析过滤装置的结构示意图。
【具体实施方式】
[0054]请参见图1,是本发明实施例中的一种报文分析过滤方法的处理流程图,其中包括:
[0055]步骤101、获取网口接收到的网络报文;
[0056]在本实施例中所述报文分析过滤方法可以作为应用程序安装在任意的计算机或服务器上。所述计算机或服务器上通常会配置网卡以接收网络报文,当网卡中的网口收到网络报文时,本发明的报文分析过滤方法可以通过调用接口函数来获取该网口上收到的网络报文。
[0057]步骤102、通过调用报文分析组件对所述网络报文按照IP (Internet Protocol,网络互连协议)协议栈包含的协议层依次进行解析后,提取所述网络报文的元组信息;
[0058]当获取到网络报文后,可以通过调用报文分析组件对该网络报文按照IP协议栈包含的协议层,如链路层、网络层、传输层的顺序进行报文解析。报文解析完成后,进一步提取该网络报文中的元组信息,以及报文内容等信息。
[0059]步骤103、调用报文过滤组件,根据提取的元组信息判断所述网络报文是否符合预设过滤策略,若符合则按照所述过滤策略处理所述网络报文。
[0060]在获取到所述网络报文的元组信息后,可调用报文过滤组件对网络报文进行过滤,若符合报文过滤组件中的过滤策略,则按照所述过滤策略处理所述网络报文。其中,具体的过滤方法要根据所述报文过滤组件中的过滤策略而定,下面请参考本发明可选的两种过滤策略的处理过程:
[0061]一种为网络元组过滤策略,在本实施例中可预先在所述报文过滤组件中设置网络元组过滤策略,其中所述网络元组过滤策略包括了若干个网络元组过滤表项及为每个所述网络元组过滤表项设置的哈希值。在调用所述报文过滤组件时,所述报文过滤组件可从所述元组信息中获取所述网络报文的IP五元组信息,并计算所述IP五元组信息的哈希值;然后将计算出的哈希值与所述网络元组过滤策略中每个网络元组过滤表项的哈希值进行匹配;如果匹配成功,则说明所述网络报文符合与其哈希值相匹配的网络元组过滤表项对应的网络元组过滤策略,并按照该网络元组过滤策略处理该网络报文。
[0062]另一种为掩码元组过滤策略,在本实施例中,还可以预先在所述报文过滤组件中设置掩码元组过滤策略,其中所述掩码元组过滤策略包括了若干个掩码元组表项及为每个掩码元组表项设置的过滤值。在调用所述报文过滤组件时,所述报文过滤组件可从所述网络报文的元组信息中提取预设个元组信息组合成匹配信息,并将所述匹配信息与预设掩码表中的任意一个掩码相与后得到所述网络报文的匹配值。得到所述网络报文的匹配值后再将所述匹配值与每个掩码元组表项的过滤值进行匹配;如果匹配成功,则说明匹配成功的掩码元组表项中的元组信息与所述网络报文的元组信息相同几率很高,因此再将所述网络报文的元组信息与该掩码元组表项中的元组信息进行比较,从而提高过滤速率。若所述网络报文的元组信息与所述掩码元组表项中的元组信息相同,则说明所述网络报文符合所述掩码元组表项对应的掩码元组过滤策略,并根据该掩码元组过滤策略处理所述网络报文。
[0063]由此可见,本发明可以通过调用分析组件提取网络报文的元组信息,并调用过滤组件根据该元组信息对网络报文进行过滤,来模拟网络应用设备的分析过滤功能,而无需依赖特定的硬件设备和芯片,因此本发明能够降低组网的搭建及维护成本。
[0064]除此之外,在本发明可选的实施例中,所述报文分析过滤方法中还可以提供拓展接口,以支持写入和更改程序。在优选的实施例中,可以添加报文统计组件,来对过滤的网络报文进行分类统计;还可以添加结果输出组件,来调用接口函数输出报文统计结果及其他报文信息,从而可以模拟更多的网络应用设备中的报文处理功能,并使报文过滤结果的分析研究更加便利。
[0065]下面结合附图,对本发明提供的报文分析过滤方法的【具体实施方式】进行详细说明。
[0066]请参见图2,是本发明实施例中一种网络报文处理流程图,其处理过程包括:
[0067]步骤201、设置网卡为混合模式,获取该网卡上网口收到的网络报文;
[0068]在计算机或服务器上安装基于本发明的报文分析过滤方法制作的应用程序,运行该程序后,首先会将本机的网卡模式设置为混合模式,以便于接收所有类型的网络报文。当网卡的网口上收到网络报文时,可以获取网口中的网络报文。
[0069]步骤202、通过调用报文分析组件对所述网络报文依次进行链路层报文解析、网络层报文解析和传输层报文解析后,提取所述网络报文的元组信息;
[0070]其中,调用报文分析组件对网络报文进行逐层解析具体分为:链路层报文解析,主要对链路层的以太网报文和POS (Packet Over S0NET/SDH,标准传输协议的分组)报文进行解析;网络层报文解析,主要对网络层的VLAN (Virtual Local Area Network,虚拟局域网)报文、MPLS (Mult1-Protocol Label Switching,多协议标签交换)报文、IPV4 (InternetProtocol Vers1n 4,互联网协议第四版)报文、IPV6 (Internet Protocol Vers1n6,互联网协议第六版)报文等进行解析;传输层报文解析,主要是对传输层的TCP (Transmiss1nControl Protocol,传输控制协议)报文和UDP (User Datagram Protocol,用户数据报协议)报文进行解析。
[0071]通过逐层的报文解析,可获取完整的报文元组信息、报文内容以及其他信息。由于后续对该网络报文进行过滤时主要基于报文的元组信息,因此关于报文内容和其他信息此处不做赘述。
[0072]步骤203、调用报文过滤组件,根据提取的元组信息判断所述网络报文是否符合预设过滤策略,若符合则按照所述过滤策略处理所述网络报文;
[0073]由于所述报文过滤组件中设置的过滤策略可以根据实际应用情况选择,不同的过滤策略会有不同的处理过程,因此下面分别以网络元组过滤策略和掩码元组过滤策略的具体实现过程来示例性的说明本发明中所述报文过滤组件的处理过程。
[0074]请参见图3a,是本发明实施例中设置网络元组过滤策略的处理流程图,其中包括:
[0075]步骤311、添加网络元组过滤表项到报文过滤组件,所述网络元组过滤表项中包括网络元组过滤策略A ;
[0076]步骤312、判断所述报文过滤组件中是否已存在所述网络元组过滤表项;若是则结束当前流程,若否则转步骤313 ;
[0077]步骤313、计算所述网络元组过滤表项的哈希值;
[0078]步骤314、判断网络元组过滤表中该哈希值所在的位置上是否已有网络元组过滤策略,若是则转步骤315,若否则转步骤316 ;
[0079]步骤315、将所述网络元组过滤策略A添加在已有的网络元组过滤策略之后,结束当前流程;
[0080]步骤316、将所述网络元组过滤策略A添加到所述哈希值所在的位置上,结束当前流程。
[0081]上述设置过程示例性的说明了所述网络元组过滤表中每个网络元组过滤表项及其对应的网络元组过滤策略的设置过程,通过反复重复上述设置过程,可以在所述报文过滤组件中设置一个或多个网络元组过滤策略。网络元组过滤策略设置完成后,可以进一步对获取的网络报文进行过滤。
[0082]请参见图3b,是本发明实施例中对网络报文进行网络元组过滤的处理流程图,其中包括:
[0083]步骤321、调用报文过滤组件,提取所述网络报文的IP五元组信息;
[0084]步骤322、计算所述IP五元组信息的哈希值hash_indexl ;
[0085]步骤323、将哈希值hash_indexl与所述网络元组过滤表中的每个哈希值进行匹配;
[0086]步骤324、若匹配成功,则获取与所述哈希值hash_indexl匹配的哈希值对应的网络元组过滤表项;
[0087]步骤325、根据所获取的网络元组过滤表项中的网络元组过滤策略对所述网络报文进行处理。
[0088]请参见图4a,是本发明实施例中设置掩码元组过滤策略的处理流程图,其中包括:
[0089]步骤411、添加掩码元组过滤表项到报文过滤组件,所述掩码元组过滤表项中包括掩码元组过滤策略A ;
[0090]步骤412、判断所述报文过滤组件中是否已存在所述掩码元组过滤表项;若是则结束当前流程,若否则转步骤413 ;
[0091]步骤413、判断所述掩码元组表项中的掩码项是否在掩码表中;
[0092]步骤414、当所述掩码项未存在所述掩码表中时,将所述掩码项添加到所述掩码表中;
[0093]步骤415、所述掩码元组过滤表项中的掩码项与元组项相与后计算哈希值;
[0094]步骤416、根据所述哈希值将所述掩码元组过滤表项添加到所述掩码元组过滤表中该哈希值所在的位置上,结束当前流程。
[0095]上述设置过程示例性的说明了所述掩码元组过滤表中每个掩码元组过滤表项及掩码项的添加过程,通过反复重复上述设置过程,可以在所述报文过滤组件中设置一个或多个掩码元组过滤策略。掩码元组过滤策略设置完成后,可以进一步对获取的网络报文进行过滤。
[0096]请参见图4b,是本发明实施例中对网络报文进行掩码元组过滤的处理流程图,其中包括:
[0097]步骤421、调用报文过滤组件,从所述网络报文的元组信息中提取预设个元组信息;
[0098]步骤422、组合所述预设个元组信息;
[0099]步骤423、将组合后的元组信息与所述掩码表中的任一掩码项相与后,计算哈希值hash_index2;
[0100]步骤424、将哈希值hash_index2与所述掩码元组过滤表中的每个哈希值进行匹配;
[0101]步骤425、若匹配成功,则获取与所述哈希值hash_index2相匹配的哈希值对应的掩码元组过滤表项中的元组项;
[0102]步骤426、将所述预设个的元组信息与所获取元组项比较;
[0103]步骤427、若所述预设个的元组信息与所获取元组项相同,则按照该掩码元组过滤表项中的掩码元组过滤策略对所述网络报文进行处理。
[0104]由于现有技术中,网络报文的数量很大,需要依靠特定的芯片来完成报文过滤。而本发明实施例中的网络元组过滤和掩码元组过滤利用哈希算法将复杂的元组信息转换成哈希值进行比较,从而可以减少系统运行负担,提高过滤效率。因此本发明可以通过软件实现网络应用设备的报文过滤功能。
[0105]步骤204、调用报文统计组件,按照预设的分类统计策略对符合所述过滤策略的网络报文进行分类统计,并以统计结果的类别为索引保存统计结果;
[0106]为便于分析研究和新功能预研,在进行报文过滤后,可以调用报文统计组件,对报文过滤结果进行详细统计。在本实施例中,统计过滤结果可以按照预设的分类统计策略对符合所述过滤策略的网络报文进行分类统计,例如统计收发报文总包数和字节数,以及各类报文的总包数、字节数和占总报文数的比例;统计收到的错误报文总包数、字节数和占总报文数的比例;统计当前网络速率、各时段网络速率;统计各种过滤策略的命中率等。完成统计后,以统计结果的类别为索引将统计结果保存在内存中,以便进行后续的分析研究。
[0107]步骤205、收到统计结果请求时,根据所请求的统计结果的类别调用对应的接口函数来获取保存的统计结果,并发送所述统计结果。
[0108]为了便于本机的应用程序或其他设备上的应用程序方便快速查询到上述统计结果,在本实施例中还提供了多种开放接口供应用程序调用。当收到统计结果请求时,可以根据所述统计结果请求中所请求统计结果的类别,来调用该类别对应的接口函数,从而获取到保存的统计结果。例如调用获取报文数统计的函数可获取到所述收发的报文总包数和字节数的统计结果;调用按类别获取报文数统计的函数可获取到指定类行报文的总包数、字节数和占有比例的统计结果;调用获取网络速率函数可获取到当前网络速率或各时段网络速率汇总的统计结果等。获取到所需的统计结果后,将所述统计结果发送到应用程序上,从而使所述统计结果得到有效了利用。
[0109]由此可见,本发明可以通过调用分析组件提取网络报文的元组信息,并调用过滤组件根据该元组信息对网络报文进行过滤,来模拟网络应用设备的分析过滤功能,而无需依赖特定的硬件设备和芯片,因此本发明能够降低组网的搭建及维护成本。
[0110]基于相同的构思,本发明还提供一种报文分析过滤装置,所述装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的报文分析过滤装置作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行而成。
[0111]请参考图5及图6,本发明实施例中提供的一种报文分析过滤装置500,所述装置基本运行环境包括CPU,非易失性存储器、内存、以及其他硬件,从逻辑层面上来看,所述装置500包括:
[0112]报文获取单元501,用于获取网口接收到的网络报文;
[0113]报文分析单元502,用于通过调用报文分析组件对所述网络报文按照IP协议栈包含的协议层依次进行解析后,提取所述网络报文的元组信息;
[0114]报文过滤单元503,用于调用报文过滤组件,根据提取的元组信息判断所述网络报文是否符合预设过滤策略,若符合则按照所述过滤策略处理所述网络报文。
[0115]进一步的,所述装置还可以包括:
[0116]第一策略设置单元504,用于预先在所述报文过滤组件中设置网络元组过滤策略,所述网络元组过滤策略包括若干个网络元组过滤表项及为每个网络元组过滤表项设置的哈希值;
[0117]所述报文过滤单元503,具体可用于通过调用报文过滤组件从所述元组信息中获取IP五元组信息,计算所述IP五元组信息的哈希值,将计算出的哈希值与所述网络元组过滤策略中每个网络元组过滤表项的哈希值进行匹配,若匹配成功,则所述网络报文符合与其哈希值匹配的网络元组过滤表项对应的网络元组过滤策略。
[0118]进一步的,所述装置还可以包括:
[0119]第二策略设置单元505,用于预先在所述报文过滤组件中设置掩码元组过滤策略,所述掩码元组过滤策略包括若干个掩码元组表项及为每个掩码元组表项设置的过滤值;
[0120]所述报文过滤单元503,具体可用于通过调用报文过滤组件从所述网络报文的元组信息中提取预设个元组信息组合成匹配信息,将所述匹配信息与预设掩码表中的任意一个掩码相与得到所述网络报文的匹配值,将所述网络报文的匹配值与所述掩码元组过滤策略中每个掩码元组表项的过滤值进行匹配,若匹配成功,则将所述网络报文的元组信息与匹配成功的过滤值对应掩码元组表项中的元组信息进行比较,若相同,则所述网络报文符合所述掩码元组表项对应的掩码元组过滤策略。
[0121]进一步的,所述装置还可以包括:
[0122]报文统计单元506,用于调用报文统计组件,按照预设的分类统计策略对符合所述过滤策略的网络报文进行分类统计,以统计结果的类别为索引保存统计结果。
[0123]进一步的,所述装置还可以包括:
[0124]结果发送单元507,用于在收到统计结果请求时,根据所请求的统计结果的类别调用对应的接口函数来获取保存的统计结果,并发送所述统计结果。
[0125]由此可见,本发明可以通过调用分析组件提取网络报文的元组信息,并调用过滤组件根据该元组信息对网络报文进行过滤,来模拟网络应用设备的分析过滤功能,而无需依赖特定的硬件设备和芯片,因此本发明能够降低组网的搭建及维护成本。
[0126]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种报文分析过滤方法,其特征在于,所述方法包括: 获取网口接收到的网络报文; 通过调用报文分析组件对所述网络报文按照IP协议栈包含的协议层依次进行解析后,提取所述网络报文的元组信息; 调用报文过滤组件,根据提取的元组信息判断所述网络报文是否符合预设过滤策略,若符合则按照所述过滤策略处理所述网络报文。2.如权利要求1所述的方法,其特征在于,所述方法还包括: 预先在所述报文过滤组件中设置网络元组过滤策略,所述网络元组过滤策略包括若干个网络元组过滤表项及为每个网络元组过滤表项设置的哈希值; 所述调用报文过滤组件,根据提取的元组信息判断所述网络报文是否符合预设过滤策略,包括: 通过调用报文过滤组件从所述元组信息中获取IP五元组信息; 计算所述IP五元组信息的哈希值; 将计算出的哈希值与所述网络元组过滤策略中每个网络元组过滤表项的哈希值进行匹配; 若匹配成功,则所述网络报文符合与其哈希值匹配的网络元组过滤表项对应的网络元组过滤策略。3.如权利要求1所述的方法,其特征在于,所述方法还包括: 预先在所述报文过滤组件中设置掩码元组过滤策略,所述掩码元组过滤策略包括若干个掩码元组表项及为每个掩码元组表项设置的过滤值; 所述调用报文过滤组件,按照所述报文过滤组件中预设的过滤策略根据提取的元组信息判断所述网络报文是否符合预设过滤策略,包括: 通过调用报文过滤组件从所述网络报文的元组信息中提取预设个元组信息组合成匹配信息; 将所述匹配信息与预设掩码表中的任意一个掩码相与,得到所述网络报文的匹配值;将所述网络报文的匹配值与所述掩码元组过滤策略中每个掩码元组表项的过滤值进行匹配; 若匹配成功,则将所述网络报文的元组信息与匹配成功的过滤值对应掩码元组表项中的元组信息进行比较; 若相同,则所述网络报文符合所述掩码元组表项对应的掩码元组过滤策略。4.如权利要求1所述的方法,其特征在于,所述方法还包括: 调用报文统计组件,按照预设的分类统计策略对符合所述过滤策略的网络报文进行分类统计; 以统计结果的类别为索引保存统计结果。5.如权利要求4所述的方法,其特征在于,所述方法还包括: 接收统计结果请求; 根据所请求的统计结果的类别调用对应的接口函数来获取保存的统计结果; 发送所述统计结果。6.一种报文分析过滤装置,其特征在于,所述装置包括: 报文获取单元,用于获取网口接收到的网络报文; 报文分析单元,用于通过调用报文分析组件对所述网络报文按照IP协议栈包含的协议层依次进行解析后,提取所述网络报文的元组信息; 报文过滤单元,用于调用报文过滤组件,根据提取的元组信息判断所述网络报文是否符合预设过滤策略,若符合则按照所述过滤策略处理所述网络报文。7.如权利要求6所述的装置,其特征在于,所述装置还包括: 第一策略设置单元,用于预先在所述报文过滤组件中设置网络元组过滤策略,所述网络元组过滤策略包括若干个网络元组过滤表项及为每个网络元组过滤表项设置的哈希值; 所述报文过滤单元,具体用于通过调用报文过滤组件从所述元组信息中获取IP五元组信息,计算所述IP五元组信息的哈希值,将计算出的哈希值与所述网络元组过滤策略中每个网络元组过滤表项的哈希值进行匹配,若匹配成功,则所述网络报文符合与其哈希值匹配的网络元组过滤表项对应的网络元组过滤策略。8.如权利要求6所述的装置,其特征在于,所述装置还包括: 第二策略设置单元,用于预先在所述报文过滤组件中设置掩码元组过滤策略,所述掩码元组过滤策略包括若干个掩码元组表项及为每个掩码元组表项设置的过滤值; 所述报文过滤单元,具体用于通过调用报文过滤组件从所述网络报文的元组信息中提取预设个元组信息组合成匹配信息,将所述匹配信息与预设掩码表中的任意一个掩码相与得到所述网络报文的匹配值,将所述网络报文的匹配值与所述掩码元组过滤策略中每个掩码元组表项的过滤值进行匹配,若匹配成功,则将所述网络报文的元组信息与匹配成功的过滤值对应掩码元组表项中的元组信息进行比较,若相同,则所述网络报文符合所述掩码元组表项对应的掩码元组过滤策略。9.如权利要求6所述的装置,其特征在于,所述装置还包括: 报文统计单元,用于调用报文统计组件,按照预设的分类统计策略对符合所述过滤策略的网络报文进行分类统计,以统计结果的类别为索引保存统计结果。10.如权利要求9所述的装置,其特征在于,所述装置还包括: 结果发送单元,用于在收到统计结果请求时,根据所请求的统计结果的类别调用对应的接口函数来获取保存的统计结果,并发送所述统计结果。
【文档编号】H04L12/24GK105871573SQ201510029065
【公开日】2016年8月17日
【申请日】2015年1月20日
【发明人】彭义刚, 董琳, 邹潇湘, 王涛, 黄晓朦, 王广亮, 董钊
【申请人】国家计算机网络与信息安全管理中心