【技术实现步骤摘要】
一种解析信号安全通信协议应用层数据的方法及系统
[0001]本专利技术属于铁路信号安全
,特别涉及一种解析信号安全通信协议应用层数据的方法及系统。
技术介绍
[0002]在铁路通信信号领域,分析安全设备之间的通信数据至关重要,在安全相关产品的软件开发、产品测试以及现场问题分析都会涉及应用层数据的分析。 Wireshark是一种广泛应用于分析铁路信号安全设备之间通信数据的解析工具,常用于安全设备之间通信数据的抓取和分析,为了能够正常解析安全设备之间的应用层数据报文,开发人员会根据安全设备之间的接口规范来编写Lua脚本,便于进行开发调试和问题分析,从而达到解析应用层数据的目的,但在现有技术方案中对Lua脚本依赖较为严重 。Wireshark同时可应用于后期的单产品测试、系统测试以及现场问题分析。然而,各个产品间的通信协议升级后,会引起解析脚本的修改,需要重新编写对应的解析脚本。
[0003]但Wireshark此种技术存在如下缺点:Lua脚本解析以比特为单位的通信协议效率较低;Lua的编程规则复杂,开发人员学习成本较高;应用层通信协议升级后,从Lua脚本编写到工程应用开发周期较长,可扩展性差;另外,还有如公开号为CN110266702A的申请中提出的基于XML的Wireshark用协议解析方法,此种方法仅限应用于传输层上的用户数据,对铁路信号安全通信协议并不适用,XML也有文件格式文件庞大、格式复杂、可维护性较差等缺点。
[0004]因此,如何快速、高效正确的解析Wireshark抓取的铁路信号安全 ...
【技术保护点】
【技术特征摘要】
1.一种解析信号安全通信协议应用层数据的方法,其特征在于,所述方法包括以下步骤:确定应用层数据所属的通信协议类型,并在对应的JSON文件中配置应用层数据包;加载JSON解析引擎读取各类型JSON文件中的应用层数据包,生成端口号与通信协议类型的映射关系以及各类型通信协议解析树;导入实体设备信息表,生成设备编号和实体设备名称之间的映射关系;按照各类型协议解析树以及设备编号和实体设备名称之间的映射关系对所述应用层数据包进行解析。2.根据权利要求1所述的解析信号安全通信协议应用层数据的方法,其特征在于,所述确定应用层数据所属的协议类型之前还包括以下步骤:根据通信实体间的通信协议编制应用层协议描述;采用JSON树形结构分层说明应用层数据的内容,并形成通信协议的JSON文件;加载JSON解析引擎,读取端口配置数据,根据端口配置识别属于哪种应用类型的数据。3.根据权利要求1所述的解析信号安全通信协议应用层数据的方法,其特征在于,所述通信协议类型包括RSSP
‑
I、RSSP
‑
II以及Subset
‑
037。4.根据权利要求1所述的解析信号安全通信协议应用层数据的方法,其特征在于,所述方法还包括当确定所述通信协议为Subset
‑
037协议时,调用Lua52.dll动态库实现数据由字节转换为比特;其中,所述Lua52.dll动态库采用C语言编写。5.根据权利要求1所述的解析信号安全通信协议应用层数据的方法,其特征在于,在对应的JSON文件中配置应用层数据包包括:在JSON文件中添加或修改应用层数据包。6.根据权利要求1所述的解析信号安全通信协议应用层数据的方法,其特征在于,加载JSON解析引擎读取各类型JSON文件中的应用层数据包具体为:采用深度遍历的方式,从根节点开始遍历各个节点,分别生成不同类型通信协议的树形结构数据并进行保存。7.根据权利要求1所述的解析信号安全通信协议应用层数据的方法,其特征在于,导入实体设备信息表,生成设备编号和实体设备名称之间的映射关系具体包括:导入地面设备信息表,生成CTCSID与通信实体名称之间的映射关系,对相应应用层数据包中的CTCSID进行显示设备名称;导入应答器位置表,生成应答器编号与应答器组名称之间的映射关系,实现根据应答器编号显示应答器组名称。8.根据权利要求1所述的解析信号安全通信协议应用层数据的方法,其特征在于,所述JSON文件中的标签具体设计如下:Struct为定义的一种结构体,所述结构体表示协议类型、通信层级协议头或应用协议;Field为所定义结构体中的属性,所述属性为根节点包含的通信协议包的包头或应用层包,或者是应用包节点包含的具体信息包,或者是信息包包含的字段;Value为所述结构体中的属性的值域,所述值域是结构体中包含属性的具体示意,所述值域为定义域的可选子元素。
9.根据权利要求1所述的解析信号安全通信协议应用层数据的方法,其特征在于,所述应用层数据JSON文件属性描述为:identity:表示节点的唯一标识;value:表示属性对应的取值;hint:表示界面显示的提示信息;pos:表示该属性处于定义域的位置,从1开始;bits:表示该定义域所占的二进制位数;isRef:表示该定义域是否引用其他的定义域结构体;dependBy:表示该定义域的存在依赖于其他定义域,该值与所引用的定义域的identity相同;dependIdValList:表示该定义域所引用的其他定义域时,所引用定义域的取值,取值元素个数...
【专利技术属性】
技术研发人员:赵伟,陈志强,焦万立,陈琛,王耀侦,程嘉翊,孟子聪,马程程,任爱峰,
申请(专利权)人:北京全路通信信号研究设计院集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。