[发明专利]一种网络数据包解析方法有效

专利信息
申请号: 201210570198.8 申请日: 2012-12-25
公开(公告)号: CN103001971A 公开(公告)日: 2013-03-27
发明(设计)人: 罗鹰;彭晶 申请(专利权)人: 成都科来软件有限公司
主分类号: H04L29/06 分类号: H04L29/06
代理公司: 四川力久律师事务所 51221 代理人: 熊晓果;林辉轮
地址: 610000 四川省成都市高新*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 网络 数据包 解析 方法
【说明书】:

技术领域

发明涉及网络技术领域,特别涉及一种网络数据包解析方法。

背景技术

为了实现网络数据正常交换而建立的规则、约定或标准称为网络协议。需要传输的数据按照一定的协议格式打包封装成数据包后才能在网络中正确传输。对网络中传输的数据包进行解析是维护网络正常通信、保障网络安全的重要手段之一。通过解析数据包,可以清楚地了解到相互通信的设备之间的通信目的;可以确定网络是否受到攻击入侵;可以诊断网络应用程序可能出现问题的原因,以及了解整个网络在各个时段内的网络负载情况等。

传统的数据包解析方法,为每种协议配置一个解码模块,即,使用专业的编程语言(例如C语言等)针对每种协议特定的协议结构,将解析数据包的具体流程编写成解码模块,将各种协议解码模块通过编译加入到数据包解析系统中,待解析的数据包传入数据包解析系统后,从系统中调取相应的解码模块对数据包进行解析,获取数据包中各字段解码。

随着网络技术的不断发展,网络用户的迅速增加,各种新的网络协议不断涌现。为了更准确的分析网络中传输的数据包,传统的数据包解析方法需要针对新的协议不断地编写相应的解码模块。由于解码模块使用专业的编程语言而配置,数据包解析系统更新只能一直由专业的程序员进行,不便于数据包解析系统中新协议的添加,即数据包解析系统的扩展性较差。另一方面,数据包解析系统更新必须由专业程序员进行,使得数据包解析系统更新成本较高。

发明内容

本发明的目的在于克服现有技术中所存在的数据包解析系统扩展性较差的不足,提供一种可提高扩展性的网络数据包解析方法。

为了实现上述发明目的,本发明提供了以下技术方案:

一种网络数据包解析方法,包括如下步骤:

1)、根据协议的协议结构,生成所述协议的协议脚本,并存储;

2)、根据协议脚本生成语句表和逻辑树;

3)、载入待解析的数据包,获取待解析的数据包的协议名称,根据协议名称查找相应的协议脚本,并获取相应的语句表和逻辑树,对待解析的数据包进行解析,输出解析结果。

根据本发明实施例,所述步骤1)中生成协议脚本的方法是:按照协议结构中各字段的顺序,将各字段的属性载入协议脚本中。

进一步的,所述协议脚本中的每条语句由语句类型关键字和语句属性组成,所述语句类型关键字表明语句的类型,语句属性为各字段的属性,所述语句的类型包括字段描述语句、判断语句和循环语句,所述判断语句包括if、elseif、else和endif语句,所述循环语句包括do和while语句。

根据本发明实施例,所述步骤2)中生成语句表的方法是:

2-11):根据协议脚本中语句的语句类型关键字确定语句的类型;

2-12):取得语句中的各个属性,并存储在对应的语句类中,然后将该语句类记录到语句表中,并对语句类进行编号。一个语句类对应协议脚本中的一行语句,即一个语句类存储一条语句中所有的属性,语句表由多个语句类组成,一个语句类占语句表的一行。

根据本发明实施例,所述步骤2)中生成逻辑树的方法是:从语句表头至语句表尾,顺序扫描语句表,对语句表中的判断语句和循环语句进行分析,确定判断语句的执行顺序和对应的执行条件,确定循环语句的循环体和循环条件,建立所述逻辑树。

进一步的,生成逻辑树包括步骤:

2-21):扫描整个语句表,按照单一语句块、判断语句块和循环语句块三种语句块类型,将整个语句表分解为若干个语句块B1,B2,…,Bn,n为自然数;

2-22):将若干个语句块B1,B2,…,Bn中的每一个语句块存储到逻辑树的根节点下。

2-23):将若干个语句块B1,B2,…,Bn中的判断语句块和循环语句块分解成单一类型的语句块,然后将每一个单一类型的语句块存储到逻辑树相应的子节点下,完成逻辑树建立;

其中,若一段连续的语句不包括if、elseif、else和endif语句,也不包括do和while语句,则称这个语句块为单一语句块;判断语句块为:if语句和对应的endif语句,以及之间包含的一段连续的语句,称为判断语句块;do语句和对应的while语句,以及之间包含的一段连续语句,称为循环语句块。

进一步的,所述步骤2-23)将若干个语句块B1,B2,…,Bn中的判断语句块和循环语句块分解成单一类型的语句块,然后将每一个单一类型的语句块存储到逻辑树相应的子节点下,方法是:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都科来软件有限公司,未经成都科来软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210570198.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top