CN114006831B - 报文数据处理方法及装置 - Google Patents
报文数据处理方法及装置 Download PDFInfo
- Publication number
- CN114006831B CN114006831B CN202111278094.5A CN202111278094A CN114006831B CN 114006831 B CN114006831 B CN 114006831B CN 202111278094 A CN202111278094 A CN 202111278094A CN 114006831 B CN114006831 B CN 114006831B
- Authority
- CN
- China
- Prior art keywords
- preset
- message data
- character string
- character strings
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种报文数据处理方法、装置、电子设备及计算机可读介质。该方法包括:由流量数据中提取报文数据;提取所述报文数据的五元组信息;基于预设策略提取所述五元组信息对应的第一字符串;将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串;根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理。本公开涉及的报文数据处理方法、装置、电子设备及计算机可读介质,能够对流量进行预筛选,减少流量对于规则存储列表的访问,提高流量对规则的匹配速度。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种报文数据处理方法、装置、电子设备及计算机可读介质。
背景技术
现有技术通常使用五元组信息作为规则,当数据流量进入设备,报文处理模块提取五元组信息,然后在RAM中依次遍历存储的所有的五元组规则,当流量五元组信息与软件存储的五元组信息匹配后,RAM返回匹配结果,流量按照匹配配置进行转发。
通过五元组信息去识别和匹配流量,作为最为常用的一种网络监控手段。在网络传输速度不断增长的数据交互中。无论是交换机、路由器,还是更高端的防火墙,对于报文携带信息的匹配处理性能都有极大的要求。以防火墙为例,常用的策略通常涉及到五元组的使用。流量匹配到相应的五元组策略,才能进行转发,阻断,分析建表。加快五元组等规则策略的匹配性能,对于提高防火墙的流量转发性能,有着至关重要的作用。
规则下发到设备中,五元组信息被提取出来,存储到RAM的表项中。流量进入设备后,FPGA提取五元组信息提取,然后根据五元组信息去RAM中查找存储的规则表项。查找到对应表项后,即流量命中设备规则,流量按照后续配置流程,进行转发处理。如果没有找到规则表项,则流量未能命中规则,按照默认流程转发。
当前的技术方案,在流量进入设备后,提取的五元组信息需要与RAM中存储的规则表项逐一查找,需要遍历整个表项。不对流量进行预筛选,当流量速率较大时,会极大的影响匹配性能。
因此,需要一种新的报文数据处理方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种报文数据处理方法、装置、电子设备及计算机可读介质,能够对流量进行预筛选,减少流量对于规则存储列表的访问,提高流量对规则的匹配速度。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种报文数据处理方法,该方法包括:由流量数据中提取报文数据;提取所述报文数据的五元组信息;基于预设策略提取所述五元组信息对应的第一字符串;将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串;根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理。
在本公开的一种示例性实施例中,还包括:通过多个匹配规则生成所述多个预设字符串。
在本公开的一种示例性实施例中,通过多个匹配规则生成所述多个预设字符串,包括:根据用户设置生成多个匹配规则;将所述多个匹配规则按照预设规则模板和元组进行分类;基于分类结果和预设策略将所述多个匹配规则转换为所述多个预设字符串。
在本公开的一种示例性实施例中,将所述多个匹配规则按照预设规则模板和元组进行分类,包括:将所述多个匹配规则按照预设规则模板进行分类;基于分类结果将所述多个匹配规则按照元组再次分类。
在本公开的一种示例性实施例中,基于分类结果和预设策略将所述多个匹配规则转换为所述多个预设字符串,包括:基于五元组分类结果,将所述多个匹配规则内的每个元组内的数据按位进行或运算操作,以生成多个五组二进制字符。
在本公开的一种示例性实施例中,还包括:将多个五组二进制字符按照预设规则模板存储在内存中。
在本公开的一种示例性实施例中,基于预设策略提取所述五元组信息对应的第一字符串,包括:将所述五元组信息转换为二进制形式的第一字符串。
在本公开的一种示例性实施例中,将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串,包括:按照策略的优先级将所述多个预设字符串进行排序;基于所述排序依次将所述第一字符串和所述多个预设字符串中的一个预设字符串按照第一规则进行运算生成多个第二字符串。
在本公开的一种示例性实施例中,基于所述排序依次将所述第一字符串和所述多个预设字符串中的一个预设字符串按照第一规则进行运算生成多个第二字符串,包括:基于所述排序依次将所述第一字符串和所述多个预设字符串中的一个预设字符串进行与运算操作;根据与运算操作的结果生成多个第二字符串。
在本公开的一种示例性实施例中,根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理,包括:在所述第一字符串和所述多个第二字符串均不相等时,将所述报文数据按照默认配置进行处理;在所述第一字符串和所述多个第二字符串中任一第二字符串相等时,基于规则匹配列表对所述报文数据进行处理。
根据本公开的一方面,提出一种报文数据处理装置,该装置包括:数据模块,用于由流量数据中提取报文数据;提取模块,用于提取所述报文数据的五元组信息;转换模块,用于基于预设策略提取所述五元组信息对应的第一字符串;运算模块,用于将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串;处理模块,用于根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的报文数据处理方法、装置、电子设备及计算机可读介质,由流量数据中提取报文数据;提取所述报文数据的五元组信息;基于预设策略提取所述五元组信息对应的第一字符串;将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串;根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理的方式,能够对流量进行预筛选,减少流量对于规则存储列表的访问,提高流量对规则的匹配速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种报文数据处理方法及装置的系统框图。
图2是根据一示例性实施例示出的一种报文数据处理方法的流程图。
图3是根据另一示例性实施例示出的一种报文数据处理方法的流程图。
图4是根据另一示例性实施例示出的一种报文数据处理方法的流程图。
图5是根据一示例性实施例示出的一种报文数据处理装置的框图。
图6是根据一示例性实施例示出的一种电子设备的框图。
图7是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
技术缩略语解释如下:
五元组:通信术语,英文名称five-tuple,通常指由源Ip(source IP),源端口(source port),目标Ip(destination IP),目标端口(destination port),4层通信协议(the layer 4protocol)。
RAM:随机存取存储器(英语:Random Access Memory,缩写:RAM),也叫内存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质,程序运行过程中用来存储指令和变量。
或计算:或运算(|),运算规则:0|0=0;0|1=1;1|0=1;1|1=1;
与计算:与运算符(&),运算规则:0&0=0;0&1=0;1&0=0;1&1=1;
匹配规则:用于描述报文或报文流的协议、元组或载荷内容及范围的元素组合。以编号区分,主要用于数据匹配功能,包含五元组信息。
FPGA:FPGA(Field-Programmable Gate Array),现场可编程门阵列,系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,用于实现报文处理。
图1是根据一示例性实施例示出的一种报文数据处理方法及装置的系统框图。
如图1所示,系统架构10可以包括终端设备101、102、103,网络104和流量筛选设备105。网络104用以在终端设备101、102、103和流量筛选设备105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104、流量筛选设备105与外网交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
流量筛选设备105可以是提供各种服务的服务器,例如对用户终端设备101、102、103所生成的流量数据或者终端设备101、102、103所接收的流量数据进行筛选的网络安全服务器。网络安全服务器可以对接收到流量数据进行分析等处理。
流量筛选设备105可例如由流量数据中提取报文数据;流量筛选设备105可例如提取所述报文数据的五元组信息;流量筛选设备105可例如基于预设策略提取所述五元组信息对应的第一字符串;流量筛选设备105可例如将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串;流量筛选设备105可例如根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理。
流量筛选设备105还可例如通过多个匹配规则生成所述多个预设字符串。
流量筛选设备105可以是一个实体的服务器,还可例如为其他设备,具体可例如为交换机、路由器,或者防火墙等一切可以进行流量筛选的设备。需要说明的是,本公开实施例所提供的报文数据处理方法可以由流量筛选设备105执行,相应地,报文数据处理装置可以设置于流量筛选设备105中。
图2是根据一示例性实施例示出的一种报文数据处理方法的流程图。报文数据处理方法20至少包括步骤S202至S210。
如图2所示,在S202中,由流量数据中提取报文数据。
在S204中,提取所述报文数据的五元组信息。更具体的,报文数据从链路口进出设备之后,FPGA模块将数据报文的五元组信息提取出来。可提取报文数据的源Ip(sourceIP),源端口(source port),目标Ip(destination IP),目标端口(destination port),4层通信协议(the layer 4protocol)。
在S206中,基于预设策略提取所述五元组信息对应的第一字符串。提取所述五元组信息对应的二进制形式的第一字符串。
如上文所述,可通过FPGA模块将报文数据的五元组信息提取出来,如果通过FPGA提取的话,可直接提取到报文数据的2进制格式的第一字符串。
值得一提的是,在设备中未配置FPGA模块的话,可通过其他方式提取五元组信息,并将五元组信息转换为二进制形式的第一字符串。
在S208中,将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串。可例如,按照策略的优先级将所述多个预设字符串进行排序;基于所述排序依次将所述第一字符串和所述多个预设字符串中的一个预设字符串按照第一规则进行运算生成多个第二字符串。
其中,基于所述排序依次将所述第一字符串和所述多个预设字符串中的一个预设字符串按照第一规则进行运算生成多个第二字符串,包括:基于所述排序依次将所述第一字符串和所述多个预设字符串中的一个预设字符串进行与运算操作;根据与运算操作的结果生成多个第二字符串。
FPGA模块的计算顺序按照规则模板的优先级,优先级高的模板规则计算结果,优先与FPGA模块提取信息进行与(&)计算。
在S210中,根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理。
在一个实施例中,在所述第一字符串和所述多个第二字符串均不相等时,将所述报文数据按照默认配置进行处理;此时可认为该报文为匹配到任何预设的匹配规则,这种情况下,可认为该报文安全,此时可以快速将该报文进行透传,或者按照默认操作进行处理。
在一个实施例中,在所述第一字符串和所述多个第二字符串中任一第二字符串相等时,基于规则匹配列表对所述报文数据进行处理。值得一提的是,在第一字符串和第二字符串相等时,可认为该报文匹配到了匹配规则,此时需要通过现有技术中的规则匹配表对所述报文数据进行逐一匹配计算。
值得一提的是,可按照上文中优先级逐一进行第一字符串和第二字符串的比较,不需要全部比较完成,任一比较结果相等时,则可认为报文匹配到了匹配规则,则可停止比较,直接进入常规报文匹配方式。
根据本公开的报文数据处理方法,由流量数据中提取报文数据;提取所述报文数据的五元组信息;基于预设策略提取所述五元组信息对应的第一字符串;将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串;根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理的方式,能够对流量进行预筛选,减少流量对于规则存储列表的访问,提高流量对规则的匹配速度。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种报文数据处理方法的流程图。图3所示的流程30是对图2所示的流程的详细描述。
如图3所示,在S302中,报文进入设备。
在S304中,获取第一字符串。
在S306中,将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串。
在S308中,第一字符串和任一第二字符串不相等时,按照默认配置处理报文数据。
在S310中,第一字符串和任意第二字符串相等时,通过FPGA调用匹配规则存储列表中查找对应的匹配规则。
在S312中,根据命中的匹配规则对应的业务配置进行处理。
规则匹配阶段,数据报文从链路口进出设备之后。FPGA模块将数据报文的五元组信息提取出来,这些信息全部为2进制格式。FPGA模块将报文五元组的2进制信息与内存中存储的规则或(|)运算得到的2进制字符串进行与(&)计算。FPGA模块的计算顺序按照规则模板的优先级,优先级高的模板规则计算结果,优先与FPGA模块提取信息进行与(&)计算。
计算结果的判定,如果报文中的元组信息有任何一个与第二字符中的对应元组2进制字符串计算结果不等于自身,则判断内存中没有该报文对应的规则,直接将该报文丢弃或者透传。不用再去遍历所有的规则列表去查找相应规则。在流量速率较高时,可以减少规则列表的访问次数,提高规则的匹配性能。
在一个具体的实施例中,报文的元组信息可为表1所示,从设备链路口进入设备,去匹配表2中的规则,FPGA将报文中提取出来的信息,与多个预设规则对应的字符串进行与(&)运算,计算过程见表3计算结果和报文元组信息sip的低8位不相同,可知该报文并不能匹配规则。
表1
Sip | Dip | Sport | Dport | Protocol |
1.1.1.4 | Any | 4 | Any | 6 |
表2
图4是根据另一示例性实施例示出的一种报文数据处理方法的流程图。图4所示的流程40是对图2所示的流程的补充描述。
如图4所示,在S402中,根据用户设置生成多个匹配规则。
在S404中,将所述多个匹配规则按照预设规则模板和元组进行分类。可将所述多个匹配规则按照预设规则模板进行分类;基于分类结果将所述多个匹配规则按照元组再次分类。
在S406中,基于分类结果和预设策略将所述多个匹配规则转换为所述多个预设字符串。可基于五元组分类结果,将所述多个匹配规则内的每个元组内的数据按位进行或运算操作,以生成多个五组二进制字符。
在一个实施例中,还可将多个五组二进制字符按照预设规则模板存储在内存中。
规则下发存储阶段,设备将接收到的规则,按照表4中的31种规则模板信息进行分类,分别存储到内存RAM对应的地址表中。对于不同的规则模板的规则,软件会按照元组进行分类,分别对sip,dip,sport,dport,protocol五元组信息转变为2进制,将接收到的五元组信息的所有bit位,分别进行逐位的或(|)运算,这时会得到关于sip,dip,sport,dport,protocol的五元组信息的5组二进制字符串,按照对应的规则模板信息,存储到内存中,这5组字符串会定时按照规则的刷新老化,重新计算,并更新内存存储的字符串信息。
表4
五元组的二进制计算流程,可按照规则模板为sip sport protocol规则进行举例,设备收到3条规则分别如下表5所示:
表5
Sip | Dip | Sport | Dport | Protocol |
1.1.1.1 | Any | 1 | Any | 6 |
1.1.1.2 | Any | 2 | Any | 6 |
1.1.1.3 | Any | 3 | Any | 17 |
设备将收到的三条规则相关的元组全部转化为二进制,对所有的元组分别进行或(|)运算,计算过程如表6。设备将计算得到的字符串按照五元组分类存储到内存表list_1中,不相关的元组,在表中的存储信息默认为全字段的1,例如上面的规则,dip和dport在表中存储的信息所有比特为均为1。预设规则二进制表中可存储31种不同模板规则的计算后的2进制信息,即为多个预设字符串。
表6
预设规则二进制表
00000001 | 00000001 | 00000001 | 00000011 | 0011 | 00010111 |
在本公开的报文数据处理方法中,预先对规则提取五元组信息进行2进制或(|)运算,提取字符串表。在报文匹配时可直接与内存中存储的字符串表与(&)运算,筛选报文提高了报文筛选速度。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5是根据一示例性实施例示出的一种报文数据处理装置的框图。如图5所示,报文数据处理装置50包括:数据模块502,提取模块504,转换模块506,运算模块508,处理模块510。
数据模块502用于由流量数据中提取报文数据;
提取模块504用于提取所述报文数据的五元组信息;
转换模块506用于基于预设策略提取所述五元组信息对应的第一字符串;
运算模块508用于将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串;
处理模块510用于根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理。
根据本公开的报文数据处理装置,由流量数据中提取报文数据;提取所述报文数据的五元组信息;基于预设策略提取所述五元组信息对应的第一字符串;将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串;根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理的方式,能够对流量进行预筛选,减少流量对于规则存储列表的访问,提高流量对规则的匹配速度。
图6是根据一示例性实施例示出的一种电子设备的框图。
下面参照图6来描述根据本公开的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图2,图3,图4中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备600’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备600交互的设备通信,和/或该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图7所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:由流量数据中提取报文数据;提取所述报文数据的五元组信息;基于预设策略提取所述五元组信息对应的第一字符串;将所述第一字符串和多个预设字符串按照第一规则进行运算生成多个第二字符串;根据所述第一字符串和所述多个第二字符串的关系对所述报文数据进行处理。该计算机可读介质还可实现如下功能:根据用户设置生成多个匹配规则;将所述多个匹配规则按照预设规则模板和元组进行分类;基于分类结果和预设策略将所述多个匹配规则转换为所述多个预设字符串。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (7)
1.一种报文数据处理方法,其特征在于,包括:
由流量数据中提取报文数据;
提取所述报文数据的五元组信息;
基于预设策略提取所述五元组信息对应的二进制形式的第一字符串;
按照策略的优先级将多个预设字符串进行排序,基于所述排序依次将所述第一字符串和所述多个预设字符串中的一个预设字符串进行与运算生成多个第二字符串;
根据所述第一字符串和所述多个第二字符串不相等时,将所述报文数据按照默认配置进行处理,在所述第一字符串和所述多个第二字符串中任一第二字符串相等时,基于规则匹配列表对所述报文数据进行处理。
2.如权利要求1所述的方法,其特征在于,还包括:
通过多个匹配规则生成所述多个预设字符串。
3.如权利要求2所述的方法,其特征在于,通过多个匹配规则生成所述多个预设字符串,包括:
根据用户设置生成多个匹配规则;
将所述多个匹配规则按照预设规则模板和元组进行分类;
基于分类结果和预设策略将所述多个匹配规则转换为所述多个预设字符串。
4.如权利要求3所述的方法,其特征在于,将所述多个匹配规则按照预设规则模板和元组进行分类,包括:
将所述多个匹配规则按照预设规则模板进行分类;
基于分类结果将所述多个匹配规则按照元组再次分类。
5.如权利要求3所述的方法,其特征在于,基于分类结果和预设策略将所述多个匹配规则转换为所述多个预设字符串,包括:
基于五元组分类结果,将所述多个匹配规则内的每个元组内的数据按位进行或运算操作,以生成多个五组二进制字符。
6.如权利要求5所述的方法,其特征在于,还包括:
将多个五组二进制字符按照预设规则模板存储在内存中。
7.一种报文数据处理装置,其特征在于,包括:
数据模块,用于由流量数据中提取报文数据;
提取模块,用于提取所述报文数据的五元组信息;
转换模块,用于基于预设策略提取所述五元组信息对应的二进制形式的第一字符串;
运算模块,用于按照策略的优先级将多个预设字符串进行排序,基于所述排序依次将所述第一字符串和所述多个预设字符串中的一个预设字符串进行与运算生成多个第二字符串;
处理模块,用于根据所述第一字符串和所述多个第二字符串不相等时,将所述报文数据按照默认配置进行处理,在所述第一字符串和所述多个第二字符串中任一第二字符串相等时,基于规则匹配列表对所述报文数据进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111278094.5A CN114006831B (zh) | 2021-10-30 | 2021-10-30 | 报文数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111278094.5A CN114006831B (zh) | 2021-10-30 | 2021-10-30 | 报文数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114006831A CN114006831A (zh) | 2022-02-01 |
CN114006831B true CN114006831B (zh) | 2023-07-21 |
Family
ID=79925943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111278094.5A Active CN114006831B (zh) | 2021-10-30 | 2021-10-30 | 报文数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114006831B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115297183B (zh) * | 2022-07-29 | 2023-11-03 | 天翼云科技有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103004145B (zh) * | 2011-07-21 | 2015-04-08 | 华为技术有限公司 | 一种虚拟专用网络的分流方法、分流设备和分流系统 |
US10432484B2 (en) * | 2016-06-13 | 2019-10-01 | Silver Peak Systems, Inc. | Aggregating select network traffic statistics |
CN109768936B (zh) * | 2018-11-30 | 2022-11-08 | 南京中新赛克科技有限责任公司 | 一种精细化分流系统及分流方法 |
CN111711577B (zh) * | 2020-07-24 | 2022-07-22 | 杭州迪普信息技术有限公司 | 流控设备的报文转发方法及装置 |
CN112491901B (zh) * | 2020-11-30 | 2023-03-24 | 北京锐驰信安技术有限公司 | 一种网络流量精细化筛选装置及方法 |
-
2021
- 2021-10-30 CN CN202111278094.5A patent/CN114006831B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114006831A (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10212133B2 (en) | Accelerated pattern matching using pattern functions | |
US9483583B2 (en) | Syslog parser | |
US20150242429A1 (en) | Data matching based on hash table representations of hash tables | |
KR20140051914A (ko) | 규칙적 표현들에 대한 컴파일러 | |
CN113315742B (zh) | 攻击行为检测方法、装置及攻击检测设备 | |
US10608991B2 (en) | Systems and methods for accelerated pattern matching | |
WO2012177752A1 (en) | Anchored patterns | |
US10594655B2 (en) | Classifying locator generation kits | |
CN114285781B (zh) | Srv6业务流量统计方法、装置、电子设备及介质 | |
RU2697648C2 (ru) | Система классификации трафика | |
CN113438252A (zh) | 报文访问控制方法、装置、设备及存储介质 | |
CN114006831B (zh) | 报文数据处理方法及装置 | |
CN109408517B (zh) | 规则的多维度搜索方法、装置、设备及可读存储介质 | |
CN112953841B (zh) | 报文分流方法及系统 | |
Karimov et al. | Problems of increasing efficiency of NIDS by using implementing methods packet classifications on FPGA | |
CN114338529B (zh) | 五元组规则匹配方法及装置 | |
CN110796543B (zh) | 基于关系网络的定制信息获取方法、装置及电子设备 | |
CN114006868B (zh) | 流量筛选方法及装置 | |
CN114124822B (zh) | 报文匹配处理装置及方法 | |
US20180013664A1 (en) | Network traffic classification | |
CN114363257B (zh) | 隧道报文的五元组匹配方法及装置 | |
CN116600031B (zh) | 报文处理方法、装置、设备及存储介质 | |
CN114050925B (zh) | 访问控制列表匹配方法、装置、电子设备和存储介质 | |
CN115250254B (zh) | Netflow报文分发处理方法及装置 | |
US11956292B2 (en) | Legacy environment streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |