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

文档序号:7929653阅读:104来源:国知局
专利名称:一种对数据包进行特征匹配的方法及装置的制作方法
技术领域
本发明涉及网络安全领域,更具体地说,涉及一种对数据包进行特征匹配的方法
及装置。
背景技术
深包检测技术是网络安全领域的一次重要技术变革,是网络内容安全的核心技 术。深包检测技术的核心环节是用特征匹配技术检测网包负载(packetpayload)中是否出 现预定义的特征(Pattern)。特征匹配是(PatternMatching)是指查找"特征"(Pattern) 在"文本串"(Text)中的一个或全部出现位置的操作,"文本串"的长度大于等于"特征"长 度。按照特征构成的不同,特征匹配技术可以分为字符串特征匹配和正则表达式匹配。一 方面,正则表达式特征具备更加灵活强大的描述能力,然而过于复杂的形式导致匹配性能 急剧下降同时限制了它的应用,正则表达式匹配算法的空间复杂度很高,无法满足实际应 用的需要。另一方面,字符串特征最简单,应用范围也最广,但随着一些新应用的产生,单纯 的字符串匹配已经不能满足新应用的需求,在许多情况下,需要将多个字符串特征结合起 来获得匹配结果,利用多个字符串特征之间的位置信息来进行特殊处理。从某种意义上来 讲,这种多字符串结合起来的方式已经是一种特殊的正则表达式,为区别起见,称为与或逻 辑表达式。 基于与或逻辑表达式的特征串匹配算法跟单字符串、多字符串匹配都不同,它需
要根据表达式的与或逻辑关系,当其中特定的几个字符串都匹配时,并满足与或逻辑表达
式的逻辑要求,才表示此条与或逻辑表达式发生了匹配。
这类表达式形式上描述如下 〈Expression> = 〈String>and〈Expression> 〈Expression> = 〈String>or〈Expression> 〈Expression> = 〈String> 在这里,字符串(String)指的是固定的 一个字符序列,比如"abcd3"、"xyz5" 等;每一条与或逻辑表达式(E邓ression)都是由多个字符串(String)组成,几个字符串 (String)之间是"与"或"或"的逻辑关系。 因为与或逻辑表达式中的字符串之间存在与、或两种逻辑关系,处理起来很麻烦, 本系统设计时做了一些修改,将其定义为如下形式
〈Expression> = 〈String>and〈Expression>
〈Expression> = 〈String> 本系统只针对上述定义的"与或逻辑表达式"进行研究,虽然上述定义少了一条定 义"〈Expression〉 = 〈String〉or〈Expression〉",但这两种形式是完全等价的,根据与或关 系表达式转换, 〈Expression_A> = 〈String_B>or〈Expression_C>
等价于
4
〈Expression_A> = 〈String_B> 〈Expression_temp> = 〈Expression_C> 从上面公式可以看出,将规则中的"或"关系去掉,等价于拆成两条只包含"与"关 系的规则,因此这两种定义可以任意互相转换,两种定义是等价的。 通常,在对上述与或逻辑表达式集合进行特征匹配时,采用与或逻辑表达式过滤 算法和与或逻辑表达式计数算法。其中,过滤算法是针对与或逻辑表达式的特点来设计的, 与或逻辑表达式匹配则其中每个字符串都匹配,所以字符串匹配是与或逻辑表达式匹配的 必要条件,因此,针对每条与或逻辑表达式,只需提取出其中的一条字符串,组成新的字符 串集合,同时对其余的字符串构建单字符串匹配数据结构。匹配过程中,当过滤字符串集合 中的某条字符串匹配时,找到与之相关的与或逻辑表达式,将其余的字符串特征逐个进行 判断,不匹配直接返回,当全部都匹配时表示与或逻辑表达式匹配。计数算法是将与或逻辑 表达式特征集中包含的所有字符串都提取出来,组成字符串特征集,利用多字符串匹配算 法对此特征集进行匹配判断,当发生匹配时,对相关计数器进行操作,并根据计数器结果判 断与或逻辑表达式是否匹配。首先利用字符串匹配算法进行判断,匹配时报告其字符串号。 当某个字符串匹配成功时,首先判断是否是此字符串特征第一次匹配,若不是则表示已经 处理过此字符串,直接忽略,若是第一次则查找到包含此字符串的与或逻辑表达式,更新计 数器信息,当计数器计数到此表达式包含的字符串个数时,即表示此与或逻辑表达式匹配 成功。上述两种特征匹配的方法虽然可以解决一定的问题,但其性能不稳定,当匹配次数发 生较多时,需要额外处理很多工作,性能下降很快。

发明内容
本发明要解决的技术问题在于,针对现有技术的上述当匹配次数发生较多时,性 能下降很快的缺陷,提供一种当匹配次数发生较多时,性能较为稳定的数据包内容检测方 法及装置。 本发明解决其技术问题所采用的技术方案是构造一种对数据包进行特征匹配的 方法,包括如下步骤 A)由多个与或逻辑表达式构成的第一特征集合中取出所有字符串组成第二特征 集合,对所述字符串编号并生成所述每个字符串在所述第一特征集合中与或逻辑表达式的 位置参数和所述第一特征集合中每个与或逻辑表达式的匹配参数;
B)存储所述第二特征集合、所述位置参数和所述匹配参数; C)使用第二特征集合的各字符串作为特征集匹配数据包,输出第二特征集合中与 所述数据包匹配的字符串号,并依据所述输出的字符串号更新对应与或逻辑表达式所述匹 配参数。
在本发明所述的方法中,所述步骤A)进一步包括如下步骤 Al)对所述第一特征集合中的与或逻辑表达式编号,并创建对应于所述编号的匹 配参数; A2)对由所述第一特征集合中提取出来的每个字符串编号; A3)对应所述字符串编号,创建该字符串与与或逻辑表达式的位置参数。
在本发明所述的方法中,所述步骤C)进一步包括如下步骤
CI)判断当前字符串是否与所述数据包匹配,如是,执行步骤C2)再执行步骤C3); 如否,执行步骤C3); C2)依据所述匹配字符串编号更新所述字符串对应的与或逻辑表达式的匹配参 数; C3)判断当前与或逻辑表达式匹配参数是否已经满足与或逻辑表达式匹配条件, 如是,报告匹配的与或逻辑表达式号并返回;如不是,等待下一个匹配的字符串号,进入步 骤Cl)。 在本发明所述的方法中,所述步骤C2)进一步包括如下步骤 C21)依据字符串编号和位置参数,找到其相关的与或逻辑表达式号,并根据该信 息查找到所述字符串对应的与或逻辑表达式的匹配参数,更新所述与或逻辑表达式的匹配 参数; C22)保存所述与或逻辑表达式的匹配参数;同时,判断所述与或逻辑表达式是否
匹配,如是,输出所述与或逻辑表达式编号并执行步骤C3);如否,执行步骤C3)。 在本发明所述的方法中,所述匹配参数包括所述与或逻辑表达式编号和该与或逻
辑表达式目前已匹配的字符串数目;所述字符串位置参数包括该字符串编号、该字符串所
在与或逻辑表达式编号、拥有该字符串的与或逻辑表达式数目和标志项。 在本发明所述的方法中,所述标志项包括用于描述所述与或逻辑表达式属性的属
性标志和用于描述该字符串是否已匹配的匹配标志。 本发明还涉及一种实现对数据包进行特征匹配的装置,包括串行连接的字符串匹 配模块和与或逻辑表达式匹配模块,所述字符串匹配模块用于判断存储在其中的第二特征 集合中的字符串是否与数据包内容匹配并在其匹配时输出该字符串编号到所述与或逻辑 表达式匹配模块;所述与或逻辑表达式匹配模块用于依据其接收的字符串编号判断该字符 串所对应的与或逻辑表达式是否匹配于所述数据包内容,并在其匹配时输出所述与或逻辑 表达式编号。 在本发明所述的装置中,所述与或逻辑表达式匹配模块包括存储单元、判断单元 和更新单元,所述存储单元用于保存描述所述字符串属性的字符串位置参数和描述所述与 或逻辑表达式匹配状态的与或逻辑表达式匹配参数;所述判断装置用于根据当前输入的字 符串编号查找其对应的字符串位置参数和与或逻辑表达式匹配参数并判断是否更新所述 与或逻辑表达式匹配参数;所述更新单元依据所述判断单元的输出更新并保存所述与或逻 辑表达式匹配参数及输出所述与或逻辑表达式编号。 在本发明所述的装置中,还包括分析处理模块,所述分析处理模块分析第一特征 集合,产生第二特征集合并输送到所述字符串模块;所述分析处理模块还依据所述第一特 征集合产生字符串位置参数和与或逻辑表达式匹配参数,并传送到所述与或逻辑表达式匹 配模块。 在本发明所述的装置中,所述匹配参数以其对应的与或逻辑表达式编号作为地 址、以所述与或逻辑表达式已匹配字符串数目作为其内容存储在所述存储单元中;所述字 符串位置参数以该字符串编号作为地址、以该字符串所在与或逻辑表达式编号、拥有该字 符串的与或逻辑表达式数目和标志项作为内容存储在所述存储单元中。 实施本发明的数据包内容检测方法及装置,具有以下有益效果由于将与或逻辑表达式集合拆分为字符串特征集合、字符串位置参数以及与或逻辑表达式匹配参数,在对 上述字符串特征集合进行匹配的同时就可以对已经进行了特征匹配的字符串所对应的与 或逻辑表达式的匹配信息进行处理,所以当匹配次数较多时,其性能较为稳定。


图1是本发明对数据包进行特征匹配的方法及装置实施例中方法流程图;
图2是所述实施例中装置的结构示意图; 图3是所述实施例中装置的与或逻辑表达式判断装置的结构示意图; 图4是所述实施例中字符串位置参数结构示意图; 图5是所述实施例中与或逻辑表达式匹配参数结构示意图。
具体实施例方式
下面将结合附图及实施例对本发明作进一步说明。 如图1所示,在本发明实施例的方法流程图中,包括如下步骤 步骤S101分析处理模块分析第一特征集合中,提取出其中每个字符串,得到第二 特征集合在本步骤中,分析处理模块调入事先确定的第一特征集合,该第一特征集合在本 实施例中是事先确定的、由多个与或逻辑表达式组成的,而且是存储在存储介质中,例如设 备的存储器或外接的移动存储装置;分析处理模块将上述多个与或逻辑表达式逐个分解, 取出其中的每个字符串,将得到的字符串组合在一起,就得到第二特征集。例如将得到的字 符串按照其得到的顺序依次放入一个空间。 步骤S102对第一特征集合中的每个与或逻辑表达式编号,并创建对应的匹配参 数本步骤中,对上述第一特征集中的每个与或逻辑表达式编号,且创建与该编号一一对应 的匹配参数;这些匹配参数的内容是一个可读写的正整数,其缺省值是O,这些参数在随后 的匹配过程中会随其对应的与或逻辑表达式包含的字符串匹配成功而被刷新;此外,对每 个参数还设置有一个设定值,即与或逻辑表达式包含的字符串个数,当上述匹配参数内容 达到设定值时,判断为该与或逻辑表达式匹配成功。 步骤S103对所述第二特征集合中每个字符串编号,并创建对应的字符串与与或 逻辑表达式对应的位置参数对于由第一特征集合提取出来的字符串,同样要进行编号并 根据该字符串编号创建与其一一对应的字符串位置参数,该参数的内容包括该字符串所在 与或逻辑表达式编号、拥有该字符串的与或逻辑表达式数目和标志项,而标志项又包括用 于描述该字符串所在与或逻辑表达式属性的属性标志和用于描述该字符串是否已匹配的 匹配标志。 步骤S201字符串匹配模块接收并存储第二特征集合,与或逻辑表达式模块接收 并存储字符串参数和匹配参数在本步骤中,分析处理模块将上述步骤得到的第二特征集 合发送给字符串匹配模块。该模块接收并保存上述第二特征集合;而将上述字符串编号及 其字符串位置参数、与或逻辑表达式编号及其匹配参数发送各与或逻辑表达式匹配模块, 与或逻辑表达式匹配模块以字符串编号作为存储地址存储其对应的字符串位置参数等属 性信息,以与或逻辑表达式编号为存储地址存储其对应的表达式匹配参数信息。至此,完成 特征匹配的准备工作或初始化,下面的步骤将开始特征匹配的具体操作。
步骤S301字符串模块使用第二特征集合中的字符串作为特征集匹配输入的数据
包在本步骤中,字符串集合的具体匹配过程,与现有技术相同,不再赘述。 步骤S302当前字符串与数据包匹配?如果当前字符串与数据包匹配,则往下执
行步骤S303 ;否则,原步骤等待,直到输入数据处理完毕,跳转到步骤S308。 步骤S303字符串匹配模块输出该字符串编号到与或逻辑表达式匹配模块在本
步骤中,在两个模块之间传送已被判断为匹配的字符串编号。 步骤S304依据该字符串编号,找到其位置参数,并由该字符串位置参数,找到其 所在与或逻辑表达式的匹配参数并更新与或逻辑表达式匹配模块根据其接收到的字符串 编号,在存储单元中找到其对应的字符串位置参数,一面取出其中的与或逻辑表达式编号 并根据该与或逻辑表达式编号访问存储单元并取出其对应的与或逻辑表达式匹配参数,一 面将该字符串位置参数中的其他参数取出,用于判断是否更新与或逻辑表达式匹配信息加 步骤S305该与或逻辑表达式匹配?即判断当前与或逻辑表达式匹配参数中的数 据内容是否等于上述预设值,如果等于,则执行步骤S306和S307 ;如果不等于,则直接跳回 S302步骤等待下一个匹配的字符串号。 步骤S306输出该与或逻辑表达式编号将已匹配的与或逻辑表达式的编号输出。
步骤S307清除该与或逻辑表达式匹配参数内容仍以该与或逻辑表达式编号为 地址,清除当前与或逻辑表达式匹配参数为O,跳回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. l,基于 Xilinx系列的Virtex2和Virtex4两种型号的FPGA器件进行模拟仿真。测试结果数据见 下表所示,该匹配装置每周期读入1个字节字符,性能可以达到2. 1G-2. 8Gbps,且性能基本
稳定,与与或逻辑表达式规模、字符串规模和匹配次数等因素关系不大。
与或逻辑表 达式数目字符串平均个 数比例存储消耗 KbitsV2 频率 MHzV4 频率 MHz
ClamAV3890135982~1015285281300
随机l1005002~58.8305324
随机25002K2~5438305322
随机31K3K2~560298318
随机45K跳2~5235286310
随机510K10K2~51270280299 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并 不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员 来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保 护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
一种对数据包进行特征匹配的方法,其特征在于,包括如下步骤A)由多个与或逻辑表达式构成的第一特征集合中取出所有字符串组成第二特征集合,对所述字符串编号并生成所述每个字符串在所述第一特征集合中的位置参数和所述第一特征集合中每个与或逻辑表达式的匹配参数;B)存储所述第二特征集合、所述位置参数和所述匹配参数;C)使用第二特征集合的字符串作为特征集匹配数据包,并输出第二特征集合中与所述数据包匹配的字符串号,并依据所述输出的字符串号更新相关与或逻辑表达式对应的匹配参数。
2. 根据权利要求1所述的方法,其特征在于,所述步骤A)进一步包括如下步骤Al)对所述第一特征集合中的与或逻辑表达式编号,并创建对应于所述编号的匹配参数;A2)对由所述第一特征集合中提取出来的每个字符串编号;A3)对应所述字符串编号,创建该字符串与或逻辑表达式对应的位置参数。
3. 根据权利要求2所述的方法,其特征在于,所述步骤C)进一步包括如下步骤CI)判断当前匹配的字符串是否需要处理,如是,执行步骤C2)后再执行步骤C3);如 否,直接返回;C2)依据所述匹配字符串编号更新所述字符串对应的与或逻辑表达式的匹配参数; C3)判断当前与或逻辑表达式匹配参数是否已经满足与或逻辑表达式匹配条件,如是,报告匹配的与或逻辑表达式号并返回;如不是,等待下一个匹配的字符串号,进入步骤Cl)。
4. 根据权利要求3所述的方法,其特征在于,所述步骤C2)进一步包括如下步骤 C21)依据字符串编号和位置参数,找到其相关的与或逻辑表达式号,并根据该信息查找到所述字符串对应的与或逻辑表达式的匹配参数,更新所述与或逻辑表达式的匹配参 数;C22)保存所述与或逻辑表达式的匹配参数;同时,判断所述与或逻辑表达式是否匹 配,如是,输出所述与或逻辑表达式编号并执行步骤C3);如否,执行步骤C3)。
5. 根据权利要求4所述的方法,其特征在于,所述匹配参数包括该与或逻辑表达式目 前已匹配的字符串数目;所述字符串位置参数包括该字符串编号、该字符串所在与或逻辑 表达式编号、拥有该字符串的与或逻辑表达式数目和标志项。
6. 根据权利要求5所述的方法,其特征在于,所述标志项包括用于描述所述与或逻辑 表达式属性的属性标志和用于描述该字符串是否已匹配的匹配标志。
7. —种实现权利要求1所述的数据包内容检测方法的装置,其特征在于,包括串行连 接的字符串匹配模块和与或逻辑表达式匹配模块,所述字符串匹配模块用于判断存储在其 中的第二特征集合中的字符串是否与数据包内容匹配并在其匹配时输出该字符串编号到 所述与或逻辑表达式匹配模块;所述与或逻辑表达式匹配模块用于依据其接收的字符串编 号判断该字符串所对应的与或逻辑表达式是否匹配于所述数据包内容,并在其匹配时输出 所述与或逻辑表达式编号。
8. 根据权利要求7所述的装置,其特征在于,所述与或逻辑表达式匹配模块包括存储 单元、判断单元和更新单元,所述存储单元用于保存描述所述字符串属性的字符串位置参数和描述所述与或逻辑表达式匹配状态的与或逻辑表达式匹配参数;所述判断装置用于根 据当前输入的字符串编号查找其对应的字符串位置参数和与或逻辑表达式匹配参数并判 断是否更新所述与或逻辑表达式匹配参数;所述更新单元依据所述判断单元的输出更新并 保存所述与或逻辑表达式匹配参数及当与或逻辑表达式匹配时输出所述与或逻辑表达式 编号。
9. 根据权利要求7或8任意一项所述的装置,其特征在于,还包括分析处理模块,所述 分析处理模块分析第一特征集合,产生第二特征集合并输送到所述字符串模块;所述分析 处理模块还依据所述第一特征集合产生字符串位置参数和与或逻辑表达式匹配参数,并传 送到所述与或逻辑表达式匹配模块。
10. 根据权利要求9所述的装置,其特征在于,所述匹配参数以其对应的与或逻辑表达 式编号作为地址、以所述与或逻辑表达式已匹配字符串数目作为其内容存储在所述存储单 元中;所述字符串位置参数以该字符串编号作为地址、以该字符串所在与或逻辑表达式编 号、拥有该字符串的与或逻辑表达式数目和标志项作为内容存储在所述存储单元中。
全文摘要
本发明涉及一种对数据包进行特征匹配的方法,包括如下步骤由多个与或逻辑表达式构成的第一特征集合中取出所有字符串组成第二特征集合,对所述字符串编号并生成所述每个字符串在所述第一特征集合中与或逻辑表达式的位置参数和所述第一特征集合中每个与或逻辑表达式的匹配参数;存储所述第二特征集合、所述位置参数和所述匹配参数;使用第二特征集合的字符串集合匹配数据包,输出第二特征集合中与所述数据包匹配的字符串号并依据所述输出的字符串号更新所述相关与或逻辑表达式的匹配参数。实施本发明的数据包内容检测方法及装置,具有以下有益效果当匹配次数较多时,其性能较为稳定。
文档编号H04L29/06GK101771675SQ20081024210
公开日2010年7月7日 申请日期2008年12月31日 优先权日2008年12月31日
发明者嵩天, 张伟 申请人:深圳市广道高新技术有限公司;张伟;嵩天
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1