一种协议分析方法及协议分析器技术

技术编号:35987781 阅读:22 留言:0更新日期:2022-12-17 23:02
本发明专利技术公开了一种协议分析方法及协议分析器,为了简化通讯工程师的协议翻译工作量,大幅度提高工程师的工作效率的技术问题,所述的分析方法是将所有原始协议命令录入协议分析器中,然后通过输入待分析协议命令后,分析器来输出待分析协议命令所代表的含义,所述的协议分析器包括cpu、临时存储单元以及协议专用存储单元。通过录入海量的原始协议命令,组装成了一个涵盖全部协议命令的协议分析器,当工程师需要查找翻译某一协议命令时,只需要输入待分析的协议命令,人工即可简单的进行索引,从而找到与之对应的协议含义,大大缩短了人工拆字节并翻译的工作量。人工拆字节并翻译的工作量。

【技术实现步骤摘要】
一种协议分析方法及协议分析器


[0001]本专利技术属于通讯协议数据分析
,涉及到一种协议分析方法及协议分析器,用于通用的通讯协议的自动分析。

技术介绍

[0002]在通讯
的工作中,工程师要考虑一个终端设备需与多个其他设备进行通讯连接,或者与平台通讯,要遇上各种各样的协议。比如LED屏协议,CAN协议等,查问题的时候,工程师需要将一串协议命令拆成一个个字节,然后对着文档一点一点查找与翻译,非常麻烦。有些协议虽然有很专业的分析工具,但是这种专业的分析工具并不通用。如A协议的工具不能用来分析B协议,这就导致大量的协议其实是没有分析工具的,就得需要人工去翻书或翻文档来找其解释。

技术实现思路

[0003]本专利技术的目的是为了简化通讯工程师的协议翻译工作量,大幅度提高工程师的工作效率的技术问题,设计了一种协议分析方法及协议分析器,解决了市面上一些专用协议翻译工具比较单一化的弊端。
[0004]本专利技术采用的技术方案是,一种协议分析方法,所述的分析方法是将所有原始协议命令录入协议分析器中,然后通过输入待分析协议命令后,分析器来输出待分析协议命令所代表的含义,所述的协议分析器包括cpu、临时存储单元以及协议专用存储单元,在此基础上,所述的协议分析方法为:
[0005]a、将所有原始协议命令存储在协议分析器中的专用存储单元,其中原始协议命令包括该协议类型的名称、该协议下所有的字段、以及每个字段中包含的字节与类型;
[0006]b、将待分析协议命令输入协议分析器的临时存储单元
[0007]c、人工根据待分析协议命令,在专用存储单元进行索引查找到与临时存储单元中的协议数据一致的协议命令,协议分析器输出待分析协议命令所代表的含义。
[0008]所述的原始协议命令包括简单协议命令、结构体协议命令、或循环结构体协议命令。
[0009]本专利技术还涉及一种协议分析器,用于上述的协议分析方法,所述的协议分析器包括cpu、临时存储单元以及协议专用存储单元,临时存储单元用于临时存储待分析协议命令,协议专用存储单元用于存储所有原始协议命令,cpu用于控制以及管理临时存储单元以及协议专用存储单元中的数据。
[0010]本专利技术的有益效果是,通过录入海量的原始协议命令,组装成了一个涵盖全部协议命令的协议分析器,当工程师需要查找翻译某一协议命令时,只需要输入待分析的协议命令,人工即可简单的进行索引,从而找到与之对应的协议含义,大大缩短了人工拆字节并翻译的工作量。
具体实施方式
[0011]下面结合具体实施例举例说明本专利技术的方案以及技术效果。
[0012]录入原始协议命令是本专利技术的方法最基础的工作,将全部原始协议命令均录入协议分析器的专用协议存储单元,
[0013]先拿简单协议命令举例,在专用协议存储单元中已经录入过一条下列简单协议命令,见表1:
[0014]表1举例说明简单协议的录入内容
[0015][0016]假设此时设备的串口发来一串协议00 E3 29 62 56 00 02,人工会根据这串协议去协议存储单元中进行搜索,得到00 E3 29 62 56 00 02所对应的含义为:高度(偏移0),00 E3(10进制=227);时间(偏移2),29 62 56 00(2022

01

01 00:00:00);时间来源(偏移6),02(网络校时)。
[0017]这样一来,工程师就不用再把协议命令00 E3 29 62 56 00 02先拆开,然后一个一个的去文档中查找,输入协议命令串,自动生成了协议命令串所代表的含义。
[0018]如果设备接口接收到的协议是结构体,当然,在协议专用存储单元中也是开始就已经录入好了结构体类型的原始协议命令。
[0019]先录入协议头,如下表2:
[0020]表2举例说明协议头的录入内容
[0021][0022]再录入A命令协议体,如下表3:
[0023]表3举例说明A命令协议体的录入内容
[0024][0025]最后录入B命令协议体,如下表4:
[0026]表4举例说明B命令协议体的录入内容
[0027][0028]以上就把整个结构体协议命令录入好了。
[0029]假设有一条A命令协议体,数据如下AA 01 00 06 00 A0 00 00 50 51,以及有一条B命令协议体,数据如下AA 01 00 0B 41 42 43 44 45 46 47 48 07 00 B5。在分析时,其实结构体包含了协议头和多个不同命令的协议体,道理与上述简单协议是一样的,人工可以根据多个命令的协议体中字段的字节以及类型在协议专用存储单元中查找。
[0030]最后得出的A命令协议体代表的内容是头标志(偏移0):AA;命令码(偏移1):01(代表A命令);协议体长度(偏移2):00 06(10进制=6);字段A(偏移4):00 A0(10进制=160);字段B(偏移6):00 00 50 51(10进制=20561)。
[0031]B命令协议体代表的内容是头标志(偏移0):AA;命令码(偏移1):01(代表A命令);协议体长度(偏移2):00 0B(10进制=11);字段C(偏移4):41 42 43 44 45 46 47 48(ABCDEFGH);字段D(偏移12):07(10进制=7);字段E(偏移13):00 B5(10进制=181)。
[0032]针对循环结构体,有些协议的内容是一个数组,每个数组单元由多个变量组成,相当于一个数组单元就是一个结构体,例如表5:
[0033]表5
[0034][0035]录入过程与结构体和简单协议一样,在此不进行赘述。
[0036]假如接到一串数据AA 01 00 0A 03 01 01 00 02 01 02 03 01 03,那么分析后得出的结果为:头标志(偏移0):AA;命令码(偏移1):01(这是A命令);协议体长度(偏移2):00 0A(10进制=10);数组个数(偏移4):03(10进制=3);ID(偏移5):01(10进制=1);数值(偏移6):01 00(10进制=256);ID(偏移8):02(10进制=2);数值(偏移9):01 02(10进制=258);ID(偏移11):03(10进制=3);数值(偏移12):01 03(10进制=259)。
[0037]无论上述哪种格式的协议数据,只要在协议分析器中先录入好,当在工作中遇到问题需要分析时,只要输入协议数据,分析器就可以输出协议所代表的含义,不用人工再一
个一个的拆数据并查找文档,省去了大量的工作量。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种协议分析方法,其特征在于:所述的分析方法是将所有原始协议命令录入协议分析器中,然后通过输入待分析协议命令后,分析器来输出待分析协议命令所代表的含义,所述的协议分析器包括cpu、临时存储单元以及协议专用存储单元,在此基础上,所述的协议分析方法为:a、将所有原始协议命令存储在协议分析器中的专用存储单元,其中原始协议命令包括该协议类型的名称、该协议下所有的字段、以及每个字段中包含的字节与类型;b、将待分析协议命令输入协议分析器的临时存储单元;c、人工根据待分析协议命令,在专用存储单元进行索引查找到...

【专利技术属性】
技术研发人员:郭卫毅
申请(专利权)人:深圳市有为信息技术发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1