CN101771675B - 一种对数据包进行特征匹配的方法及装置 - Google Patents

一种对数据包进行特征匹配的方法及装置 Download PDF

Info

Publication number
CN101771675B
CN101771675B CN 200810242107 CN200810242107A CN101771675B CN 101771675 B CN101771675 B CN 101771675B CN 200810242107 CN200810242107 CN 200810242107 CN 200810242107 A CN200810242107 A CN 200810242107A CN 101771675 B CN101771675 B CN 101771675B
Authority
CN
China
Prior art keywords
conjunction
expression formula
logic functions
character string
disjunction logic
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
Application number
CN 200810242107
Other languages
English (en)
Other versions
CN101771675A (zh
Inventor
张伟
嵩天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Guangdao Digital Technology Co ltd
Original Assignee
Shenzhen Guangdao High Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Guangdao High Technology Co Ltd filed Critical Shenzhen Guangdao High Technology Co Ltd
Priority to CN 200810242107 priority Critical patent/CN101771675B/zh
Publication of CN101771675A publication Critical patent/CN101771675A/zh
Application granted granted Critical
Publication of CN101771675B publication Critical patent/CN101771675B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种对数据包进行特征匹配的方法,包括如下步骤:由多个与或逻辑表达式构成的第一特征集合中取出所有字符串组成第二特征集合,对所述字符串编号并生成所述每个字符串在所述第一特征集合中与或逻辑表达式的位置参数和所述第一特征集合中每个与或逻辑表达式的匹配参数;存储所述第二特征集合、所述位置参数和所述匹配参数;使用第二特征集合的字符串集合匹配数据包,输出第二特征集合中与所述数据包匹配的字符串号并依据所述输出的字符串号更新所述相关与或逻辑表达式的匹配参数。实施本发明的数据包内容检测方法及装置,具有以下有益效果:当匹配次数较多时,其性能较为稳定。

Description

一种对数据包进行特征匹配的方法及装置
技术领域
本发明涉及网络安全领域,更具体地说,涉及一种对数据包进行特征匹配的方法及装置。
背景技术
深包检测技术是网络安全领域的一次重要技术变革,是网络内容安全的核心技术。深包检测技术的核心环节是用特征匹配技术检测网包负载(packetpayload)中是否出现预定义的特征(Pattern)。特征匹配是(PatternMatching)是指查找“特征”(Pattern)在“文本串”(Text)中的一个或全部出现位置的操作,“文本串”的长度大于等于“特征”长度。按照特征构成的不同,特征匹配技术可以分为字符串特征匹配和正则表达式匹配。一方面,正则表达式特征具备更加灵活强大的描述能力,然而过于复杂的形式导致匹配性能急剧下降同时限制了它的应用,正则表达式匹配算法的空间复杂度很高,无法满足实际应用的需要。另一方面,字符串特征最简单,应用范围也最广,但随着一些新应用的产生,单纯的字符串匹配已经不能满足新应用的需求,在许多情况下,需要将多个字符串特征结合起来获得匹配结果,利用多个字符串特征之间的位置信息来进行特殊处理。从某种意义上来讲,这种多字符串结合起来的方式已经是一种特殊的正则表达式,为区别起见,称为与或逻辑表达式。
基于与或逻辑表达式的特征串匹配算法跟单字符串、多字符串匹配都不同,它需要根据表达式的与或逻辑关系,当其中特定的几个字符串都匹配时,并满足与或逻辑表达式的逻辑要求,才表示此条与或逻辑表达式发生了匹配。
这类表达式形式上描述如下:
<Expression>=<String>and<Expression>
<Expression>=<String>or<Expression>
<Expression>=<String>
在这里,字符串(String)指的是固定的一个字符序列,比如“abcd3”、“xyz5”等;每一条与或逻辑表达式(Expression)都是由多个字符串(String)组成,几个字符串(String)之间是“与”或“或”的逻辑关系。
因为与或逻辑表达式中的字符串之间存在与、或两种逻辑关系,处理起来很麻烦,本系统设计时做了一些修改,将其定义为如下形式:
<Expression>=<String>and<Expression>
<Expression>=<String>
本系统只针对上述定义的“与或逻辑表达式”进行研究,虽然上述定义少了一条定义“<Expression>=<String>or<Expression>”,但这两种形式是完全等价的,根据与或关系表达式转换,
<Expression_A>=<String_B>or<Expression_C>
等价于
<Expression_A>=<String_B>
<Expression_temp>=<Expression_C>
从上面公式可以看出,将规则中的“或”关系去掉,等价于拆成两条只包含“与”关系的规则,因此这两种定义可以任意互相转换,两种定义是等价的。
通常,在对上述与或逻辑表达式集合进行特征匹配时,采用与或逻辑表达式过滤算法和与或逻辑表达式计数算法。其中,过滤算法是针对与或逻辑表达式的特点来设计的,与或逻辑表达式匹配则其中每个字符串都匹配,所以字符串匹配是与或逻辑表达式匹配的必要条件,因此,针对每条与或逻辑表达式,只需提取出其中的一条字符串,组成新的字符串集合,同时对其余的字符串构建单字符串匹配数据结构。匹配过程中,当过滤字符串集合中的某条字符串匹配时,找到与之相关的与或逻辑表达式,将其余的字符串特征逐个进行判断,不匹配直接返回,当全部都匹配时表示与或逻辑表达式匹配。计数算法是将与或逻辑表达式特征集中包含的所有字符串都提取出来,组成字符串特征集,利用多字符串匹配算法对此特征集进行匹配判断,当发生匹配时,对相关计数器进行操作,并根据计数器结果判断与或逻辑表达式是否匹配。首先利用字符串匹配算法进行判断,匹配时报告其字符串号。当某个字符串匹配成功时,首先判断是否是此字符串特征第一次匹配,若不是则表示已经处理过此字符串,直接忽略,若是第一次则查找到包含此字符串的与或逻辑表达式,更新计数器信息,当计数器计数到此表达式包含的字符串个数时,即表示此与或逻辑表达式匹配成功。上述两种特征匹配的方法虽然可以解决一定的问题,但其性能不稳定,当匹配次数发生较多时,需要额外处理很多工作,性能下降很快。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述当匹配次数发生较多时,性能下降很快的缺陷,提供一种当匹配次数发生较多时,性能较为稳定的数据包内容检测方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种对数据包进行特征匹配的方法,包括如下步骤:
A)由多个与或逻辑表达式构成的第一特征集合中取出所有字符串组成第二特征集合,对所述字符串编号并生成所述每个字符串在所述第一特征集合中与或逻辑表达式的位置参数和所述第一特征集合中每个与或逻辑表达式的匹配参数;
B)存储所述第二特征集合、所述位置参数和所述匹配参数;
C)使用第二特征集合的各字符串作为特征集匹配数据包,输出第二特征集合中与所述数据包匹配的字符串号,并依据所述输出的字符串号更新对应与或逻辑表达式所述匹配参数。
在本发明所述的方法中,所述步骤A)进一步包括如下步骤:
A1)对所述第一特征集合中的与或逻辑表达式编号,并创建对应于所述编号的匹配参数;
A2)对由所述第一特征集合中提取出来的每个字符串编号;
A3)对应所述字符串编号,创建该字符串与与或逻辑表达式的位置参数。
在本发明所述的方法中,所述步骤C)进一步包括如下步骤:
C1)判断当前字符串是否与所述数据包匹配,如是,执行步骤C2)再执行步骤C3);如否,执行步骤C3);
C2)依据所述匹配字符串编号更新所述字符串对应的与或逻辑表达式的匹配参数;
C3)判断当前与或逻辑表达式匹配参数是否已经满足与或逻辑表达式匹配条件,如是,报告匹配的与或逻辑表达式号并返回;如不是,等待下一个匹配的字符串号,进入步骤C1)。
在本发明所述的方法中,所述步骤C2)进一步包括如下步骤:
C21)依据字符串编号和位置参数,找到其相关的与或逻辑表达式号,并根据该信息查找到所述字符串对应的与或逻辑表达式的匹配参数,更新所述与或逻辑表达式的匹配参数;
C22)保存所述与或逻辑表达式的匹配参数;同时,判断所述与或逻辑表达式是否匹配,如是,输出所述与或逻辑表达式编号并执行步骤C3);如否,执行步骤C3)。
在本发明所述的方法中,所述匹配参数包括所述与或逻辑表达式编号和该与或逻辑表达式目前已匹配的字符串数目;所述字符串位置参数包括该字符串编号、该字符串所在与或逻辑表达式编号、拥有该字符串的与或逻辑表达式数目和标志项。
在本发明所述的方法中,所述标志项包括用于描述所述与或逻辑表达式属性的属性标志和用于描述该字符串是否已匹配的匹配标志。
本发明还涉及一种实现对数据包进行特征匹配的装置,包括串行连接的字符串匹配模块和与或逻辑表达式匹配模块,所述字符串匹配模块用于判断存储在其中的第二特征集合中的字符串是否与数据包内容匹配并在其匹配时输出该字符串编号到所述与或逻辑表达式匹配模块;所述与或逻辑表达式匹配模块用于依据其接收的字符串编号判断该字符串所对应的与或逻辑表达式是否匹配于所述数据包内容,并在其匹配时输出所述与或逻辑表达式编号。
在本发明所述的装置中,所述与或逻辑表达式匹配模块包括存储单元、判断单元和更新单元,所述存储单元用于保存描述所述字符串属性的字符串位置参数和描述所述与或逻辑表达式匹配状态的与或逻辑表达式匹配参数;所述判断装置用于根据当前输入的字符串编号查找其对应的字符串位置参数和与或逻辑表达式匹配参数并判断是否更新所述与或逻辑表达式匹配参数;所述更新单元依据所述判断单元的输出更新并保存所述与或逻辑表达式匹配参数及输出所述与或逻辑表达式编号。
在本发明所述的装置中,还包括分析处理模块,所述分析处理模块分析第一特征集合,产生第二特征集合并输送到所述字符串模块;所述分析处理模块还依据所述第一特征集合产生字符串位置参数和与或逻辑表达式匹配参数,并传送到所述与或逻辑表达式匹配模块。
在本发明所述的装置中,所述匹配参数以其对应的与或逻辑表达式编号作为地址、以所述与或逻辑表达式已匹配字符串数目作为其内容存储在所述存储单元中;所述字符串位置参数以该字符串编号作为地址、以该字符串所在与或逻辑表达式编号、拥有该字符串的与或逻辑表达式数目和标志项作为内容存储在所述存储单元中。
实施本发明的数据包内容检测方法及装置,具有以下有益效果:由于将与或逻辑表达式集合拆分为字符串特征集合、字符串位置参数以及与或逻辑表达式匹配参数,在对上述字符串特征集合进行匹配的同时就可以对已经进行了特征匹配的字符串所对应的与或逻辑表达式的匹配信息进行处理,所以当匹配次数较多时,其性能较为稳定。
附图说明
图1是本发明对数据包进行特征匹配的方法及装置实施例中方法流程图;
图2是所述实施例中装置的结构示意图;
图3是所述实施例中装置的与或逻辑表达式判断装置的结构示意图;
图4是所述实施例中字符串位置参数结构示意图;
图5是所述实施例中与或逻辑表达式匹配参数结构示意图。
具体实施方式
下面将结合附图及实施例对本发明作进一步说明。
如图1所示,在本发明实施例的方法流程图中,包括如下步骤:
步骤S101分析处理模块分析第一特征集合中,提取出其中每个字符串,得到第二特征集合:在本步骤中,分析处理模块调入事先确定的第一特征集合,该第一特征集合在本实施例中是事先确定的、由多个与或逻辑表达式组成的,而且是存储在存储介质中,例如设备的存储器或外接的移动存储装置;分析处理模块将上述多个与或逻辑表达式逐个分解,取出其中的每个字符串,将得到的字符串组合在一起,就得到第二特征集。例如将得到的字符串按照其得到的顺序依次放入一个空间。
步骤S102对第一特征集合中的每个与或逻辑表达式编号,并创建对应的匹配参数:本步骤中,对上述第一特征集中的每个与或逻辑表达式编号,且创建与该编号一一对应的匹配参数;这些匹配参数的内容是一个可读写的正整数,其缺省值是0,这些参数在随后的匹配过程中会随其对应的与或逻辑表达式包含的字符串匹配成功而被刷新;此外,对每个参数还设置有一个设定值,即与或逻辑表达式包含的字符串个数,当上述匹配参数内容达到设定值时,判断为该与或逻辑表达式匹配成功。
步骤S103对所述第二特征集合中每个字符串编号,并创建对应的字符串与与或逻辑表达式对应的位置参数:对于由第一特征集合提取出来的字符串,同样要进行编号并根据该字符串编号创建与其一一对应的字符串位置参数,该参数的内容包括该字符串所在与或逻辑表达式编号、拥有该字符串的与或逻辑表达式数目和标志项,而标志项又包括用于描述该字符串所在与或逻辑表达式属性的属性标志和用于描述该字符串是否已匹配的匹配标志。
步骤S201字符串匹配模块接收并存储第二特征集合,与或逻辑表达式模块接收并存储字符串参数和匹配参数:在本步骤中,分析处理模块将上述步骤得到的第二特征集合发送给字符串匹配模块。该模块接收并保存上述第二特征集合;而将上述字符串编号及其字符串位置参数、与或逻辑表达式编号及其匹配参数发送各与或逻辑表达式匹配模块,与或逻辑表达式匹配模块以字符串编号作为存储地址存储其对应的字符串位置参数等属性信息,以与或逻辑表达式编号为存储地址存储其对应的表达式匹配参数信息。至此,完成特征匹配的准备工作或初始化,下面的步骤将开始特征匹配的具体操作。
步骤S301字符串模块使用第二特征集合中的字符串作为特征集匹配输入的数据包:在本步骤中,字符串集合的具体匹配过程,与现有技术相同,不再赘述。
步骤S302当前字符串与数据包匹配?如果当前字符串与数据包匹配,则往下执行步骤S303;否则,原步骤等待,直到输入数据处理完毕,跳转到步骤S308。
步骤S303字符串匹配模块输出该字符串编号到与或逻辑表达式匹配模块:在本步骤中,在两个模块之间传送已被判断为匹配的字符串编号。
步骤S304依据该字符串编号,找到其位置参数,并由该字符串位置参数,找到其所在与或逻辑表达式的匹配参数并更新:与或逻辑表达式匹配模块根据其接收到的字符串编号,在存储单元中找到其对应的字符串位置参数,一面取出其中的与或逻辑表达式编号并根据该与或逻辑表达式编号访问存储单元并取出其对应的与或逻辑表达式匹配参数,一面将该字符串位置参数中的其他参数取出,用于判断是否更新与或逻辑表达式匹配信息加一。
步骤S 305该与或逻辑表达式匹配?即判断当前与或逻辑表达式匹配参数中的数据内容是否等于上述预设值,如果等于,则执行步骤S306和S307;如果不等于,则直接跳回S302步骤等待下一个匹配的字符串号。
步骤S306输出该与或逻辑表达式编号:将已匹配的与或逻辑表达式的编号输出。
步骤S307清除该与或逻辑表达式匹配参数内容:仍以该与或逻辑表达式编号为地址,清除当前与或逻辑表达式匹配参数为0,跳回S302步骤等待下一个匹配的字符串号。
步骤S308结束匹配并返回:对于输入的数据包而言,特征匹配过程结束,返回。
值得一提的是,上述步骤S303到步骤S307分别由不同的硬件结构实施,例如,在本实施例中,在FPGA上实现其流程,这些硬件结构构成一个两级流水线的处理构架,实现了数据的并行处理;在后一级处理数据的同时,前级已开始处理下一个数据,所以可以极大地节省处理时间,使得在匹配次数较多时,设备的性能较为稳定。
图2是本实施例中装置的结构示意图,如图2所示,该装置包括分析处理模块1、字符串匹配模块2、与或逻辑表达式匹配模块3和缓冲存储器4,其中,分析处理模块1分析作为初始的、预设的、由多个与或逻辑表达式构成的第一特征集合,产生由第一特征集合中所有字符串构成的第二特征集合并输送到字符串模块2;分析处理模块还依据第一特征集合产生字符串位置参数和与或逻辑表达式匹配参数,并传送到与或逻辑表达式匹配模块3;字符串匹配模块2用于判断存储在其中的第二特征集合中的字符串是否与输入数据包内容匹配并在其匹配时输出该字符串编号到与或逻辑表达式匹配模块3;与或逻辑表达式匹配模块3用于依据其接收的字符串编号判断该字符串所对应的与或逻辑表达式是否匹配于输入数据包内容,并在其匹配时输出该与或逻辑表达式编号。在字符串匹配模块2和与或逻辑表达式匹配模块3之间,还连接有缓冲存储器4,以保证数据的可靠传输。在本实施例中,分析处理模块1由软件实现,而字符串匹配模块2和与或逻辑表达式匹配模块3均是由硬件实现的,例如,字符串匹配模块2和与或逻辑表达式匹配模块3分别由一个FPGA上的不同逻辑区域实现,而缓冲存储器4是FPGA片内的缓冲区。当然,在其他实施例中,缓冲存储器4也可以是外接的存储器。
图3示出了与或逻辑表达式匹配模块3的具体结构,该与或逻辑表达式匹配模块3包括存储单元33、判断单元31和更新单元32,存储单元33用于保存描述字符串属性的字符串位置参数和描述与或逻辑表达式匹配状态的匹配参数;在图3中,为方便起见,将存储单元33分为两个部分,即存储与或逻辑表达式匹配参数的存储单元和存储字符串位置参数的存储单元,实际上,在本实施例中,他们是同一个存储单元33中的不同区域;判断装置31用于根据当前输入的字符串编号查找其对应的字符串位置参数和与或逻辑表达式匹配参数并判断是否更新与或逻辑表达式匹配参数内容;更新单元32依据判断单元31的输出更新并保存与或逻辑表达式匹配参数内容及输出已匹配的与或逻辑表达式编号。在存储单元33中,匹配参数以其对应的与或逻辑表达式编号作为地址、以该与或逻辑表达式已匹配字符串位置作为其内容存储在存储单元33中;而字符串位置参数以该字符串编号作为地址、以该字符串所在与或逻辑表达式编号、拥有该字符串的与或逻辑表达式数目和标志项作为内容存储在存储单元33中。在本实施例中,上述参数的数据结构如图4、图5所示,字符串位置参数的地址是字符串编号,对应的数据区分成三部分,第一部分是此字符串所在的与或逻辑表达式号;第二部分是重复项,表示的是包含此字符串的与或逻辑表达式个数;最后一部分是标志域,标志的是此字符串对应的与或逻辑表达式属性和是否已经匹配。与或逻辑表达式匹配参数的地址是与或逻辑表达式编号,对应的数据区为计数值,表示此与或逻辑表达式已经匹配的位置,默认为0。比如针对与或逻辑表达式,当前发生了一次字符串匹配,且本次匹配需要进一步处理,则把与当前匹配字符串相关的与或逻辑表达式的匹配参数都加一,并判断其值,直到匹配个数与与或逻辑表达式包含的字符串个数相等时,表示此条与或逻辑表达式匹配成功。
上述装置的工作过程如下:由软件构成的分析处理模块1通过对与或逻辑表达式集合(第一特征集合)的分析、分割、编号,生成相关的参数信息,存入与或逻辑表达式匹配模块3的存储单元33;由硬件组成的字符串匹配模块2,输出发生匹配的字符串编号,输入到其右端的、同样是由硬件构成的与或逻辑表达式匹配模块3,其包括存放根据与或逻辑表达式集合生成的各种参数信息的存储单元33,两者之间的缓冲区4是为了保证两个模块协同工作。输入数据从字符串匹配模块2流入,经过字符串匹配模块2处理,输出匹配成功的字符串号,经过缓存区4,作为输入送到与或逻辑表达式匹配模块3中,与或逻辑表达式匹配模块3划分成二级流水线,根据输入的字符串号启动相关硬件计数器,结合字符串是否满足与或逻辑表达式匹配条件,并输出与或逻辑表达式号。
其中,分析处理模块1负责对与或逻辑表达式集合进行分析处理,并根据与或逻辑表达式集合生成字符串集合,并生成两者之间的相关关系,保存在存储单元33中。其工作流程如下:切分与或逻辑表达式,生成字符串集合,以及对应关系;根据拆分出来的字符串集合生成字符串匹配结构所需要的信息;将与或逻辑表达式和字符串统一编号,确定与或逻辑表达式包含字符串的最大个数和字符串所属与或逻辑表达式的最大个数;生成上述参数内容,下载到与或逻辑表达式匹配模块3的存储单元33。
在本实施例中,进行了的性能和存储消耗方面的测试。原型系统软件分析编译器开发平台是Microsoft Visual Studio 2005,硬件开发编译平台是Xilinx ISE 8.1,基于Xilinx系列的Virtex2和Virtex4两种型号的FPGA器件进行模拟仿真。测试结果数据见下表所示,该匹配装置每周期读入1个字节字符,性能可以达到2.1G-2.8Gbps,且性能基本稳定,与与或逻辑表达式规模、字符串规模和匹配次数等因素关系不大。
Figure G2008102421071D00111
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种对数据包进行特征匹配的方法,其特征在于,包括如下步骤:
     A)由多个与或逻辑表达式构成的第一特征集合中取出所有字符串组成第二特征集合,对所述字符串编号并生成所述每个字符串在所述第一特征集合中的位置参数和所述第一特征集合中每个与或逻辑表达式的匹配参数;
     B)存储所述第二特征集合、所述位置参数和所述匹配参数;
     C)使用第二特征集合的字符串作为特征集匹配数据包,并输出第二特征集合中与所述数据包匹配的字符串号,并依据所述输出的字符串号更新相关与或逻辑表达式对应的匹配参数。
2.根据权利要求1所述的方法,其特征在于,所述步骤A)进一步包括如下步骤:
    A1)对所述第一特征集合中的与或逻辑表达式编号,并创建对应于所述编号的匹配参数;
A2)对由所述第一特征集合中提取出来的每个字符串编号;
A3)对应所述字符串编号,创建该字符串和与或逻辑表达式对应的位置参数。
3.根据权利要求2所述的方法,其特征在于,所述步骤C)进一步包括如下步骤: 
      C1)判断是否还有字符串需要处理,如是,执行步骤C2)后再执行步骤C3);如否,结束匹配并返回;
      C2)依据所述匹配字符串编号更新所述字符串对应的与或逻辑表达式的匹配参数;
      C3)判断当前与或逻辑表达式匹配参数是否已经满足与或逻辑表达式匹配条件,如是,报告匹配的与或逻辑表达式号并返回;如不是,等待下一个匹配的字符串号,进入步骤C1)。 
4.根据权利要求3所述的方法,其特征在于,所述步骤C2)进一步包括如下步骤:
      C21)依据字符串编号和位置参数,找到其相关的与或逻辑表达式号,并根据该信息查找到所述字符串对应的与或逻辑表达式的匹配参数,更新所述与或逻辑表达式的匹配参数;
      C22)保存所述与或逻辑表达式的匹配参数;同时,判断所述与或逻辑表达式是否匹配,如是,输出所述与或逻辑表达式编号并执行步骤C3);如否,执行步骤C3)。 
5.根据权利要求4所述的方法,其特征在于,所述匹配参数包括该与或逻辑表达式目前已匹配的字符串数目;所述字符串位置参数包括该字符串编号、该字符串所在与或逻辑表达式编号、拥有该字符串的与或逻辑表达式数目和标志项。
6.根据权利要求5所述的方法,其特征在于,所述标志项包括用于描述所述与或逻辑表达式属性的属性标志和用于描述该字符串是否已匹配的匹配标志。
7.一种实现权利要求1所述的对数据包进行特征匹配方法的装置,其特征在于,包括串行连接的字符串匹配模块和与或逻辑表达式匹配模块,所述字符串匹配模块用于判断存储在其中的第二特征集合中的字符串是否与数据包内容匹配并在其匹配时输出该字符串编号到所述与或逻辑表达式匹配模块;所述与或逻辑表达式匹配模块用于依据其接收的字符串编号判断该字符串所对应的与或逻辑表达式是否匹配于所述数据包内容,并在其匹配时输出所述与或逻辑表达式编号。
8.根据权利要求7所述的装置,其特征在于,所述与或逻辑表达式匹配模块包括存储单元、判断单元和更新单元,所述存储单元用于保存描述所述字符串属性的字符串位置参数和描述所述与或逻辑表达式匹配状态的与或逻辑表达式匹配参数;所述判断装置用于根据当前输入的字符串编号查找其对应的字符串位置参数和与或逻辑表达式匹配参数并判断是否更新所述与或逻辑表达式匹配参数;所述更新单元依据所述判断单元的输出更新并保存所述与或逻辑表达式匹配参数及当所述与或逻辑表达式与所述数据包匹配时输出所述与或逻辑表达式编号。
9.根据权利要求7或8任意一项所述的装置,其特征在于,还包括分析处理模块,所述分析处理模块分析第一特征集合,产生第二特征集合并输送到所述字符串匹配模块;所述分析处理模块还依据所述第一特征集合产生字符串位置参数和与或逻辑表达式匹配参数,并传送到所述与或逻辑表达式匹配模块。
10.根据权利要求9所述的装置,其特征在于,所述匹配参数以其对应的与或逻辑表达式编号作为地址、以所述与或逻辑表达式已匹配字符串数目作为其内容存储在所述存储单元中;所述字符串位置参数以该字符串编号作为地址、以该字符串所在与或逻辑表达式编号、拥有该字符串的与或逻辑表达式数目和标志项作为内容存储在所述存储单元中。
CN 200810242107 2008-12-31 2008-12-31 一种对数据包进行特征匹配的方法及装置 Active CN101771675B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810242107 CN101771675B (zh) 2008-12-31 2008-12-31 一种对数据包进行特征匹配的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810242107 CN101771675B (zh) 2008-12-31 2008-12-31 一种对数据包进行特征匹配的方法及装置

Publications (2)

Publication Number Publication Date
CN101771675A CN101771675A (zh) 2010-07-07
CN101771675B true CN101771675B (zh) 2013-06-05

Family

ID=42504272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810242107 Active CN101771675B (zh) 2008-12-31 2008-12-31 一种对数据包进行特征匹配的方法及装置

Country Status (1)

Country Link
CN (1) CN101771675B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184198B (zh) * 2011-04-22 2016-04-27 张伟 适用于工作负载保护系统的重复数据删除方法
CN103002061B (zh) * 2011-09-16 2015-06-24 阿里巴巴集团控股有限公司 一种长域名与短域名互相转化的方法及装置
US10372579B2 (en) * 2017-03-10 2019-08-06 Artesyn Embedded Computing, Inc. FPGA mismatched packet stop for a safety system
CN107426049A (zh) * 2017-05-16 2017-12-01 国家计算机网络与信息安全管理中心 一种网络流量精确检测方法、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1652534A (zh) * 2004-02-03 2005-08-10 华为技术有限公司 保存字符串匹配规则及利用保存规则进行字串匹配的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487150B2 (en) * 2005-07-02 2009-02-03 International Business Machines Corporation Method for matching pattern-based data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1652534A (zh) * 2004-02-03 2005-08-10 华为技术有限公司 保存字符串匹配规则及利用保存规则进行字串匹配的方法

Also Published As

Publication number Publication date
CN101771675A (zh) 2010-07-07

Similar Documents

Publication Publication Date Title
CN103294652B (zh) 一种数据转换方法及系统
CN108228676A (zh) 信息抽取方法和系统
CN106062751A (zh) 对与数据类型有关的数据剖析操作的管理
CN101464797A (zh) 基于统一建模语言活动图自动生成测试用例的方法及系统
Ganguly et al. pBWT: Achieving succinct data structures for parameterized pattern matching and related problems
CN101771675B (zh) 一种对数据包进行特征匹配的方法及装置
Liu et al. Efficient mining of large maximal bicliques
CN103902269B (zh) 一种通过xml文件生成mib文件的系统及方法
CN108829884A (zh) 数据映射方法及装置
Dragomir et al. Model checking kernel P systems
CN102622444A (zh) 一种xml报文处理方法和装置
CN109992766A (zh) 提取目标词的方法和装置
CN101944080B (zh) 一种基于dxf文件格式的读取与xml转换的方法
CN102411602B (zh) 一种基于 fpga 实现的xml 并行投机解析方法
CN102521356A (zh) 基于确定有限状态自动机的正则表达式匹配设备和方法
CN103150409A (zh) 一种用户检索词推荐的方法及系统
CN113312058B (zh) 一种智能合约二进制函数的相似性分析方法
Groz et al. Deterministic regular expressions in linear time
US20100174718A1 (en) Indexing for Regular Expressions in Text-Centric Applications
CN111898351B (zh) 基于Aviator的Excel数据自动导入方法、装置、终端设备及存储介质
CN110674503B (zh) 一种基于图卷积神经网络的智能合约死循环检测方法
Zhao et al. Design pattern evolution and verification using graph transformation
AL-Msie'deen et al. Detecting commonality and variability in use-case diagram variants
CN109829056A (zh) 谓词解释模板驱动的事实溯因推理方法
Capra et al. A tool for symbolic manipulation of arc functions in symmetric net models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and device for implementing feature matching of data packet

Effective date of registration: 20150122

Granted publication date: 20130605

Pledgee: Shenzhen SME credit financing guarantee Group Co.,Ltd.

Pledgor: Zhang Wei|Shenzhen SunTang High-Tech Co.,Ltd.|Song Tian

Registration number: 2015990000057

PLDC Enforcement, change and cancellation of contracts on pledge of patent right or utility model
C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 518057 Guangdong city of Shenzhen province Nanshan District Science Park Song Ping Road No. 5 Building 4 floor building jarta

Patentee after: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Patentee after: Zhang Wei

Patentee after: Song Tian

Address before: 518057, Room 403, building A, Hua Han building, long Shan Road, Nanshan District, Guangdong, Shenzhen

Patentee before: Shenzhen SunTang High-Tech Co.,Ltd.

Patentee before: Zhang Wei

Patentee before: Song Tian

TR01 Transfer of patent right

Effective date of registration: 20161010

Address after: 518057 Guangdong city of Shenzhen province Nanshan District Science Park Song Ping Road No. 5 Building 4 floor building jarta

Patentee after: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District Science Park Song Ping Road No. 5 Building 4 floor building jarta

Patentee before: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Patentee before: Zhang Wei

Patentee before: Song Tian

PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20180508

Granted publication date: 20130605

Pledgee: Shenzhen SME credit financing guarantee Group Co.,Ltd.

Pledgor: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Registration number: 2015990000057

PC01 Cancellation of the registration of the contract for pledge of patent right
PM01 Change of the registration of the contract for pledge of patent right
PM01 Change of the registration of the contract for pledge of patent right

Change date: 20180508

Registration number: 2015990000057

Pledgor after: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Pledgor before: Shenzhen SunTang High-Tech Co.,Ltd.

Pledgor before: Zhang Wei

Pledgor before: Song Tian

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and device for implementing feature matching of data packet

Effective date of registration: 20200317

Granted publication date: 20130605

Pledgee: Shenzhen high tech investment and financing Company limited by guarantee

Pledgor: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Registration number: Y2020990000186

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20210129

Granted publication date: 20130605

Pledgee: Shenzhen high tech investment and financing Company limited by guarantee

Pledgor: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Registration number: Y2020990000186

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and device for feature matching of data packets

Effective date of registration: 20220523

Granted publication date: 20130605

Pledgee: Shenzhen small and medium sized small loan Co.,Ltd.

Pledgor: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Registration number: Y2022440020071

PE01 Entry into force of the registration of the contract for pledge of patent right
CP03 Change of name, title or address

Address after: 518000 Floor 4, North Block, Yuanxing Science and Technology Building, No. 1, Songpingshan Road, Songpingshan Community, Xili Street, Nanshan District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Guangdao Digital Technology Co.,Ltd.

Address before: 518057 4th floor, main building, Jiada R & D building, No.5, songpingshan Road, Science Park, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Guang Dao hi tech Limited by Share Ltd.

CP03 Change of name, title or address
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230815

Granted publication date: 20130605

Pledgee: Shenzhen small and medium sized small loan Co.,Ltd.

Pledgor: Shenzhen Guang Dao hi tech Limited by Share Ltd.

Registration number: Y2022440020071

PC01 Cancellation of the registration of the contract for pledge of patent right