[发明专利]协议解析方法及装置有效
申请号: | 201180000837.0 | 申请日: | 2011-06-13 |
公开(公告)号: | CN102217281B | 公开(公告)日: | 2016-11-30 |
发明(设计)人: | 苏德现 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 协议 解析 方法 装置 | ||
1.一种协议解析方法,其特征在于,包括:
对接收到的报文进行流表匹配,以对报文的协议进行识别;
当识别出所述报文的协议类型且判断所述报文的协议类型为基于文本的协议类型时,根据与所述报文协议类型对应的关键字库中的关键字匹配规则,对所述报文进行关键字匹配,提取所述报文中需要解析的关键字的内容;其中,所述关键字库中的所述关键字匹配规则包括用正则表达式表示的需要解析的关键字以及关键字内容。
2.如权利要求1所述的方法,其特征在于,还包括:
当识别出所述报文的协议类型且判断所述报文的协议类型不为基于文本的协议类型时,对所述报文进行协议识别,并将协议识别后的结果送到应用软件进行处理。
3.如权利要求1所述的方法,其特征在于,还包括:
当通过流表匹配未识别出所述报文的协议类型时,通过特征识别对所述报文的协议类型进行识别,以识别所述报文的协议类型是否是基于文本的协议类型,如果是,对所述报文进行关键字匹配;如果不是,对所述报文进行协议识别,以对所述报文的协议类型进行识别。
4.如权利要求1-3所述的方法,其特征在于,所述根据与所述报文协议类型对应的关键字库中的关键字匹配规则,对所述报文进行关键字匹配,提取所述报文中需要解析的关键字的内容包括:
读取所述报文协议类型对应的协议编号;
读取与所述协议编号对应的关键字库;
根据所述关键字库对报文进行关键字匹配,获得与匹配到的关键字对应的匹配规则ID,以及匹配到的关键字的起始偏移位置和结束偏移位置。
5.如权利要求4所述的方法,其特征在于,还包括:
当与所述协议编号对应的关键字库不存在时,对关键字库进行更新,建立与所述协议编号对应的协议类型对应的关键字库。
6.如权利要求4所述的方法,其特征在于,还包括:
当所述报文出现跨包状态时,对所述报文进行存储。
7.如权利要求4所述的方法,其特征在于,所述建立与所述协议编号对应的协议类型对应的关键字库包括:
将所述协议的关键字段和关键字段值作为匹配特征,建立关键字库。
8.如权利要求4所述的方法,其特征在于,所述关键字库是基于每个协议建立的,每个协议对应一个独立的关键字库。
9.如权利要求4所述的方法,其特征在于,还包括:
在完成所述关键字匹配后,将关键字匹配结果进行封装上报。
10.如权利要求1所述的方法,其特征在于,还包括:
对关键字匹配的结果进行结果处理,将与匹配到的关键字对应的匹配规则ID,以及匹配到的关键字的起始偏移位置和结束偏移位置封装到特定的数据结构,使得应用软件根据所述特定的数据结构进行数据处理。
11.一种协议解析装置,其特征在于,包括:
流表匹配模块,用于对接收到的报文进行流表匹配,以对报文的协议进行识别;
关键字匹配模块,用于当识别出所述报文的协议类型且判断所述报文的协议类型为基于文本的协议类型时,根据与所述报文协议类型对应的关键字库中的关键字匹配规则,对所述报文进行关键字匹配,提取所述报文中需要解析的关键字的内容;其中,所述关键字库中的所述关键字匹配规则包括用正则表达式表示的需要解析的关键字以及关键字内容。
12.如权利要求11所述的装置,其特征在于,还包括:
协议识别模块,用于当识别出所述报文的协议类型且判断所述报文的协议类型不为基于文本的协议类型时,对所述报文进行协议识别,并将协议识别后的结果送到应用软件进行处理。
13.如权利要求11所述的装置,其特征在于,还包括:
特征识别模块,用于当通过流表匹配未识别出所述报文的协议类型时,通过特征识别对所述报文的协议类型进行识别,以识别所述报文的协议类型是否是基于文本的协议类型,如果是,对所述报文进行关键字匹配;如果不是,对所述报文进行协议识别,以对所述报文的协议类型进行识别。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180000837.0/1.html,转载请声明来源钻瓜专利网。