发明名称 一种网络数据包协议识别方法及系统
摘要 本发明公开了一种网络数据包协议识别方法,包括协议配置步骤和数据包协议识别步骤,协议配置步骤包括:存储协议的协议特征信息;建立协议树;建立特征值表和判断逻辑;所述数据包协议识别步骤包括:获取待识别的数据包;选取识别数据包协议的协议树;将从数据包中读取到的关键字的数值与特征值表和判断逻辑进行比对,识别出数据包协议。本发明还提供了一种网络数据包协议识别系统。本发明方法及系统,根据所有协议特征信息建立特征值表和判断逻辑,通过一次查表即可以快速的找出数据包所使用的协议,识别效率高,且增加新协议时只需要添加新协议的协议识别信息,扩展性强。
申请公布号 CN103023909B 申请公布日期 2016.05.04
申请号 CN201210567370.4 申请日期 2012.12.24
申请人 成都科来软件有限公司 发明人 罗鹰;伍宏宁
分类号 H04L29/06(2006.01)I;H04L12/70(2013.01)I 主分类号 H04L29/06(2006.01)I
代理机构 四川力久律师事务所 51221 代理人 熊晓果;林辉轮
主权项 一种网络数据包协议识别方法,包括协议配置步骤和数据包协议识别步骤,其特征在于,其中,所述协议配置步骤包括:A.输入协议的协议特征信息,并存储, 所述协议特征信息包括:所述协议的名称、所述协议的下级协议名称、所述协议的关键字、特征值、关键字定义和比较方式,所述比较方式包括大于、等于、小于;B.根据协议特征信息建立协议树,所述建立协议树的方法是:根据协议特征信息,将一个协议作为一个协议节点,所有具有相同下级协议的协议组成一个节点层,再按照协议的上、下级关系,连接所有协议节点组成协议树,组成同一个节点层的协议节点位于协议树的同一个节点层,所述协议树的入口为物理介质;C.根据协议特征信息建立特征值表和判断逻辑,所述建立特征值表的方法是:遍历存储的所有协议的协议特征信息,选取所有比较方式为等于的协议,一个关键字建立一张特征值表,特征值表中记录该关键字的所有特征值及各特征值对应的协议名称;所述判断逻辑由所有比较方式为大于或小于的协议的名称及该协议的判断条件构成;所述数据包协议识别步骤包括:a.获取待识别的数据包;b.根据获取数据包的物理介质,选取用于识别数据包协议的协议树;c.从数据包中读取用于识别数据包协议的关键字的数值,并将读取到的关键字的数值与特征值表和判断逻辑进行比对,识别出数据包协议,具体包括步骤:c1.进入协议树的根节点;c2.从数据包中读取当前节点层中所有的协议节点的关键字在数据包中的数值;c3.查询当前节点层中所有的协议节点的关键字的特征值表,如果从数据包中读取到的关键字的数值与特征值表中的某个特征值相同,则得出当前协议节点的协议为特征值表中该特征值对应的协议,并进入步骤c5,如果与特征值表中的所有特征值均不同则进入步骤c4;c4.执行判断逻辑,如果读取的关键字的数值满足判断逻辑中的某判断条件,则得出当前节点协议为该判断条件对应的协议,并进入步骤c5,如果不满足判断逻辑中的任何判断条件,则输出识别结果;c5. 进入协议树中当前节点层的下一个节点层,循环步骤c2~c4。
地址 610000 四川省成都市高新区天府大道中段801号天府软件园B6-7楼