CN116233282A - 一种解析信号安全通信协议应用层数据的方法及系统 - Google Patents

一种解析信号安全通信协议应用层数据的方法及系统 Download PDF

Info

Publication number
CN116233282A
CN116233282A CN202310491215.7A CN202310491215A CN116233282A CN 116233282 A CN116233282 A CN 116233282A CN 202310491215 A CN202310491215 A CN 202310491215A CN 116233282 A CN116233282 A CN 116233282A
Authority
CN
China
Prior art keywords
application layer
layer data
communication protocol
protocol
data packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310491215.7A
Other languages
English (en)
Other versions
CN116233282B (zh
Inventor
赵伟
陈志强
焦万立
陈琛
王耀侦
程嘉翊
孟子聪
马程程
任爱峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CRSC Research and Design Institute Group Co Ltd
Original Assignee
CRSC Research and Design Institute Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CRSC Research and Design Institute Group Co Ltd filed Critical CRSC Research and Design Institute Group Co Ltd
Priority to CN202310491215.7A priority Critical patent/CN116233282B/zh
Publication of CN116233282A publication Critical patent/CN116233282A/zh
Application granted granted Critical
Publication of CN116233282B publication Critical patent/CN116233282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本发明属于铁路信号安全技术领域,特别涉及一种解析信号安全通信协议应用层数据的方法及系统,在铁路信号安全通信协议应用层协议采用JSON定义,可扩展性强,易于用户升级维护;通过让用户在JSON配置中填写对应的应用层数据类型及字段后,软件就能解析对应的字段含义,从而降低用户学习Lua语法规则的成本,缩短用户编写解析脚本所用的时间;并采用C语言二次开发Lua52.dll,提高解析以比特为单位的通信协议的效率;并增加了应用层数据包长度校验,避免因数据包长度错误造成抓包数据无法正常打开;且本发明支持导入地面设备信息表和应答器位置表,用户更易于理解应用层数据的含义。

Description

一种解析信号安全通信协议应用层数据的方法及系统
技术领域
本发明属于铁路信号安全技术领域,特别涉及一种解析信号安全通信协议应用层数据的方法及系统。
背景技术
在铁路通信信号领域,分析安全设备之间的通信数据至关重要,在安全相关产品的软件开发、产品测试以及现场问题分析都会涉及应用层数据的分析。 Wireshark是一种广泛应用于分析铁路信号安全设备之间通信数据的解析工具,常用于安全设备之间通信数据的抓取和分析,为了能够正常解析安全设备之间的应用层数据报文,开发人员会根据安全设备之间的接口规范来编写Lua脚本,便于进行开发调试和问题分析,从而达到解析应用层数据的目的,但在现有技术方案中对Lua脚本依赖较为严重 。Wireshark同时可应用于后期的单产品测试、系统测试以及现场问题分析。然而,各个产品间的通信协议升级后,会引起解析脚本的修改,需要重新编写对应的解析脚本。
但Wireshark此种技术存在如下缺点:
Lua脚本解析以比特为单位的通信协议效率较低;
Lua的编程规则复杂,开发人员学习成本较高;
应用层通信协议升级后,从Lua脚本编写到工程应用开发周期较长,可扩展性差;
另外,还有如公开号为CN110266702A的申请中提出的基于XML的Wireshark用协议解析方法,此种方法仅限应用于传输层上的用户数据,对铁路信号安全通信协议并不适用,XML也有文件格式文件庞大、格式复杂、可维护性较差等缺点。
因此,如何快速、高效正确的解析Wireshark抓取的铁路信号安全通信协议应用层数据,提高研发、测试以及现场问题分析的效率是值得研究的方向。
发明内容
针对上述问题,第一方面,本发明提出了一种解析信号安全通信协议应用层数据的方法,所述方法包括以下步骤:
确定应用层数据所属的通信协议类型,并在对应的JSON文件中配置应用层数据包;
加载JSON解析引擎读取各类型JSON文件中的应用层数据包,生成端口号与通信协议类型的映射关系以及各类型通信协议解析树;
导入实体设备信息表,生成设备编号和实体设备名称之间的映射关系;
按照各类型协议解析树以及设备编号和实体设备名称之间的映射关系对所述应用层数据包进行解析。
进一步地,所述确定应用层数据所属的协议类型之前还包括以下步骤:
根据通信实体间的通信协议编制应用层协议描述;
采用JSON树形结构分层说明应用层数据的内容,并形成通信协议的JSON文件;
加载JSON解析引擎,读取端口配置数据,根据端口配置识别属于哪种应用类型的数据。
进一步地,所述通信协议类型包括RSSP-I、RSSP-II以及Subset-037。
进一步地,所述方法还包括当确定所述通信协议为Subset-037协议时,调用Lua52.dll动态库实现数据由字节转换为比特;
其中,所述Lua52.dll动态库采用C语言编写。
进一步地,在对应的JSON文件中配置应用层数据包包括:在JSON文件中添加或修改应用层数据包。
进一步地,加载JSON解析引擎读取各类型JSON文件中的应用层数据包具体为:
采用深度遍历的方式,从根节点开始遍历各个节点,分别生成不同类型通信协议的树形结构数据并进行保存。
进一步地,导入实体设备信息表,生成设备编号和实体设备名称之间的映射关系具体包括:
导入地面设备信息表,生成CTCSID与通信实体名称之间的映射关系,对相应应用层数据包中的CTCSID进行显示设备名称;
导入应答器位置表,生成应答器编号与应答器组名称之间的映射关系,实现根据应答器编号显示应答器组名称。
进一步地,所述JSON文件中的标签具体设计如下:
Struct为定义的一种结构体,所述结构体表示协议类型、通信层级协议头或应用协议;
Field为所定义结构体中的属性,所述属性为根节点包含的通信协议包的包头或应用层包,或者是应用包节点包含的具体信息包,或者是信息包包含的字段;
Value为所述结构体中的属性的值域,所述值域是结构体中包含属性的具体示意,所述值域为定义域的可选子元素。
进一步地,所述应用层数据JSON文件属性描述为:
identity:表示节点的唯一标识;
value:表示属性对应的取值;
hint:表示界面显示的提示信息;
pos:表示该属性处于定义域的位置,从1开始;
bits:表示该定义域所占的二进制位数;
isRef:表示该定义域是否引用其他的定义域结构体;
dependBy:表示该定义域的存在依赖于其他定义域,该值与所引用的定义域的identity相同;
dependIdValList:表示该定义域所引用的其他定义域时,所引用定义域的取值,取值元素个数至少为1个;
defautlVal:表示该定义域的默认值;
structType:表示的定义的结构体类型,可以为根节点、结构体或者数据包;
filedType:表示结构体中定义域的类型;
portNo:表示配置的端口号;
enityName:表示通信实体的名称。
进一步地,按照各类型协议解析树对所述应用层数据包进行解析包括:
若应用层属于RSSP-I协议,则遵从RSSP-I解析流程,从UDP层开始解析RSSP-I应用层数据包;
若应用层属于RSSP-II协议,则遵从RSSP-II解析流程,从TCP层开始依次解析ALE层、MASL层、SAI层以及GAL层应用层数据包;
若应用层属于Subset-037协议,遵从Subset-037解析流程,从TCP层开始依次解析ALE层以及MASL层的应用层数据包。
进一步地,按照各类型协议解析树以及设备编号和实体设备名称之间的映射关系对所述应用层数据包进行解析还包括以下步骤:
校验应用层数据包的长度,判断所述应用层数据包长度是否通过校验;
若所述应用层数据包通过校验,则判断所述应用层数据包中CTCSID是否已经解析;
若是,则显示CTCSID对应的通信实体名称,并判断所述应用层数据包中应答器编号是否已经解析;
若是,则显示应答器编号对应的应答器组名称。
进一步地,若所述应用层数据长度未通过校验,则提示应用层数据包长度异常的原因
若所述应用层数据包中CTCSID还未解析或者解析异常,则显示解析结果;
若所述应用层数据包中应答器编号还未解析或者解析异常,则显示解析结果。
第二方面,本发明提出了一种解析信号安全通信协议应用层数据的系统,所述系统包括:
数据配置单元,用于确定应用层数据所属的通信协议类型,并在对应的JSON文件中配置应用层数据包;
第一生成单元,用于加载JSON解析引擎读取各类型JSON文件中的应用层数据包,生成端口号与通信协议类型的映射关系以及各类型通信协议解析树;
第二生成单元,用于导入实体设备信息表,生成设备编号和实体设备名称之间的映射关系;
解析单元,用于按照各类型协议解析树以及设备编号和实体设备名称之间的映射关系对所述应用层数据包进行解析。
进一步地,所述系统还包括动态库调用单元,用于在确定所述通信协议为Subset-037协议时,调用Lua52.dll动态库实现数据由字节转换为比特;
其中,所述Lua52.dll动态库采用C语言编写。
第三方面,本发明提出了一种解析信号安全通信协议应用层数据的电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现所述的解析信号安全通信协议应用层数据的方法。
第四方面,本发明提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的解析信号安全通信协议应用层数据的方法。
本发明的有益效果:
本发明在铁路信号安全通信协议应用层协议采用JSON定义,可扩展性强,易于用户升级维护;通过让用户在JSON配置中填写对应的应用层数据类型及字段后,软件就能解析对应的字段含义,从而降低用户学习Lua语法规则的成本,缩短用户编写解析脚本所用的时间;
本发明采用C语言二次开发Lua52.dll,提高解析以比特为单位的通信协议的效率;并增加了应用层数据包长度校验,避免因数据包长度错误造成抓包数据无法正常打开;且本发明支持导入地面设备信息表和应答器位置表,用户更易于理解应用层数据的含义。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明提出的一种解析信号安全通信协议应用层数据的方法流程图;
图2示出了本发明实施例中的Wireshark软件的主要结构示意图;
图3示出了本发明实施例中Wireshark软件的具体解析流程图;
图4示出了本发明提出的一种解析信号安全通信协议应用层数据的系统的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对上述问题,本发明实施例以铁路信号的安全通信为例,提出一种可配置的解析铁路信号安全通信协议应用层数据的方法及系统。通过编写动态库Lua52.dll,提高解析以比特为单位的通信协议的效率。同时,让用户通过在JSON配置中填写对应的应用层数据类型及字段后,软件就能解析对应的字段含义,从而降低用户学习Lua的时间成本,缩短脚本开发至工程应用的周期,快速方便地实现对Wireshark所抓取的铁路信号安全通信协议应用层数据包的解析。
如图1所示,本发明提出的一种解析信号安全通信协议应用层数据的方法,主要包括以下几个流程:
S1:确定应用层数据所属的通信协议类型,并在对应的JSON文件中配置应用层数据包;包括:在JSON文件中添加或修改应用层数据包。
在此之前,还需要根据通信实体间的通信协议,编制应用协议描述,并采用JSON树形结构分层说明应用层数据的内容,并形成通信协议的JSON文件。
具体地,本技术方案能够识别的通信协议类型分别为:RSSP-I(一代铁路安全通信协议)、RSSP-II(二代铁路安全通信协议)以及Subset-037(欧洲无线系统功能规范接口)。其中,RSSP-Ⅰ所需要的通信功能不依赖底层物理链路的连接方式,安全层 (安全相关编/解码过程) 和通信驱动 (非安全编/解码过程) 是完全分开的;底层数据传输方式可以是串口 ( RS-422、RS-232 等) ,也可以是网络 ( TCP /UDP 等) 。RSSP-Ⅱ则是按分层设计安全功能模块( SFM) ,采用下层约束上层、上层依赖下层的方式,对安全功能模块进行清晰的分层,从而实现安全数据的传输。RSSP-Ⅱ架构上有 3 层: 适配及冗余管理层(ALE)、消息鉴定安全层(MASL)、安全应用中间子层(SAI)。Subset-037适用于使用开放式网络为安全相关应用程序提供通信服务的无线通信系统,其协议规定了与安全相关应用过程有关的车载设备与沿线地面设备之间信息交换用无线通信系统的互操作性。主要分成了无线通信系统的安全功能模块(SFM)和通信功能模块(CFM),SFM提供安全相关传输系统的功能,CFM提供基于GSM-R网络的电路交换承载业务的通信系统功能。
S2:加载JSON解析引擎读取各类型JSON文件中的应用层数据包,生成端口号与通信协议类型的映射关系以及各类型通信协议解析树;
具体地,加载JSON解析引擎读取各类型JSON文件中的应用层数据包通过深度遍历的方式,从根节点开始遍历各个节点,分别生成不同类型通信协议的树形结构数据,并保存。
S3:导入实体设备信息表,生成设备编号和实体设备名称之间的映射关系;
在本发明的一个实施例中,实体设备信息表包括地面设备信息表和应答器位置表。导入地面设备信息表,即可生成CTCSID与通信实体名称的映射关系,对相应应用层数据包中的CTCSID进行显示设备名称;导入应答器位置表,则生成应答器编号与应答器组名称的映射关系,实现根据应答器编号显示应答器组名称。
S4:按照各类型协议解析树以及设备编号和实体设备名称之间的映射关系对所述应用层数据包进行解析。
具体地,若所配置的端口号使用RSSP-I协议,则遵从RSSP-I解析流程,从UDP层开始解析RSSP-I应用层数据包;
若所配置的端口号使用RSSP-II协议,则遵从RSSP-II解析流程,从TCP层开始依次解析ALE层、MASL层、SAI层以及GAL层应用层数据包;
若所配置的端口号使用Subset-037协议,遵从Subset-037解析流程,从TCP层开始依次解析ALE层以及MASL层的应用层数据包。
在本发明的一个实施例中,采用的是Subset-037协议,因此采用C语言编写Lua52.dll作为Lua52.dll动态库替换项,实现将数据由字节转换为比特,以满足Subset-037协议数据交互需求,提高解析效率。
在本发明的一个实施例中,对于铁路信号安全通信协议解析的JSON文件中的标签设计如下:
Struct:定义的一种结构体,结构体可表示协议类型、通信层级协议头或应用协议;
Field:所定义结构体中的定义域,即结构体中的属性,属性可以是根节点包含的通信协议包的包头或者应用层包,也可以是应用包节点包含的具体信息包,也可以是信息包包含的字段。
Value:结构体中属性的值域,即结构体中属性的取值范围,值域是结构体中包含属性的具体示意。值域为定义域的可选子元素。
关于应用层数据JSON文件属性的设计如下:
identity:表示节点的唯一标识;
value:表示属性对应的取值;
hint:表示界面显示的提示信息;
pos:表示该属性处于定义域的位置,从1开始;
bits:表示该定义域所占的二进制位数;
isRef:表示该定义域是否引用其他的定义域结构体;
dependBy:表示该定义域的存在依赖于其他定义域,该值与所引用的定义域的identity相同;
dependIdValList:表示该定义域所引用的其他定义域时,所引用定义域的取值,取值元素个数至少为1个;
defautlVal:表示该定义域的默认值;
structType:表示的定义的结构体类型,可以为根节点、结构体或者数据包;
filedType:表示结构体中定义域的类型;
portNo:表示配置的端口号;
enityName:表示通信实体的名称。
在本发明的一个实施例中采用Wireshark软件解析信号安全通信协议应用层数据,Wireshark主程序的流程如图2所示:主要包括Lua52.dll动态库、Lua模块和JSON配置模块三个部分,
其中,
Lua52.dll动态库用于存储C语言编写的Lua52.dll;
Lua模块从Lua52.dll动态库中调用数据,将Lua模块中对应的数据由字节转换为比特;
JSON配置模块用于加载JSON解析引擎,读取不同类型的JSON文件,具体包括RSSP_PORT.JSON、PROTOCOL _RSSPI.JSON、PROTOCOL _RSSPII.JSON、PROTOCOL _Subset-037.JSON文件,生成端口号与协议类型的映射关系以及RSSP-I、RSSP-II和Subset-037协议解析树。
Wireshark软件具体的解析流程如图3所示:
用户根据通信实体间的接口规范确定协议类型,在对应的JSON文件中添加或修改应用层数据包;
加载动态库Lua52.dll;
加载JSON解析引擎,分别读取RSSP_PORT.JSON、PROTOCOL _RSSPI.JSON、PROTOCOL_RSSPII.JSON、PROTOCOL _Subset-037.JSON文件,生成端口号与协议类型的映射关系以及RSSP-I、RSSP-II和Subset-037协议解析树;
软件导入《地面设备信息表》和《应答器位置表》,分别生成CTCSID与通信实体名称、应答器编号与应答器名称的映射关系;
根据应用层所属的协议类型进行对应的解析;若应用层属于RSSP-I协议,根据RSSP-I解析树解析应用层数据包;若应用层属于RSSP-II协议,根据RSSP-II解析树解析应用层数据包;若应用层属于Subset-037协议,根据Subset-037解析树解析应用层数据包;
校验应用层数据包长度并判断应用层数据包长度是否通过校验;
若应用层数据包长度未通过校验,则提示应用层数据包长度异常的原因;若应用层数据包长度通过校验,则进一步判断是否解析CTCSID;
若解析CTCSID不成功,则直接显示解析原始的应用层数据;若解析CTCSID成功,则显示CTCSID对应的通信实体名称并进一步判断是否解析应答器编号;
若已经解析应答器编号,则显示应答器编号对应的应答器组名称;若未解析应答器编号,则直接显示解析原始的应用层数据。
上述解析过程当出现应用层数据包长度异常时,则结束解析流程,并给出数据包长度异常的提示信息,避免因应用层数据包长度错误陷入死循环,导致后续数据包无法解析。应用层数据包括应用层信息包长度和应用层信息包内容两个方面,应用层数据包长度异常是指应用层数据包长度和应用层信息包内容的长度不一致。
基于本发明的同一构思,本发明提出了解析信号安全通信协议应用层数据的系统,如图4所示,所述系统包括数据配置单元、第一生成单元、第二生成单元和解析单元;其中,
数据配置单元,用于确定应用层数据所属的通信协议类型,并在对应的JSON文件中配置应用层数据包;
第一生成单元,用于加载JSON解析引擎读取各类型JSON文件中的应用层数据包,生成端口号与通信协议类型的映射关系以及各类型通信协议解析树;
第二生成单元,用于导入实体设备信息表,生成设备编号和实体设备名称之间的映射关系;
解析单元,用于按照各类型协议解析树以及信息表和实体设备之间的映射关系对所述应用层数据包进行解析。
在一个实施例中,所述系统还包括动态库调用单元,用于在确定所述通信协议为Subset-037协议时,调用Lua52.dll动态库实现数据由字节转换为比特;其中,所述Lua52.dll动态库采用C语言编写。
上述各单元的具体处理及其带来的技术效果可分别参考对应方法实施例中的相关说明,在此不再赘述。
本发明的另一示例性实施例提供了解析信号安全通信协议应用层数据的电子设备和计算机可读存储介质,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现所述的解析信号安全通信协议应用层数据的方法。
所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的解析信号安全通信协议应用层数据的方法。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (16)

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:表示该定义域所引用的其他定义域时,所引用定义域的取值,取值元素个数至少为1个;
defautlVal:表示该定义域的默认值;
structType:表示的定义的结构体类型,可以为根节点、结构体或者数据包;
filedType:表示结构体中定义域的类型;
portNo:表示配置的端口号;
enityName:表示通信实体的名称。
10.根据权利要求1所述的解析信号安全通信协议应用层数据的方法,其特征在于,
按照各类型协议解析树对所述应用层数据包进行解析包括:
若应用层属于RSSP-I协议,则遵从RSSP-I解析流程,从UDP层开始解析RSSP-I应用层数据包;
若应用层属于RSSP-II协议,则遵从RSSP-II解析流程,从TCP层开始依次解析ALE层、MASL层、SAI层以及GAL层应用层数据包;
若应用层属于Subset-037协议,遵从Subset-037解析流程,从TCP层开始依次解析ALE层以及MASL层的应用层数据包。
11.根据权利要求1所述的解析信号安全通信协议应用层数据的方法,其特征在于,
按照各类型协议解析树以及设备编号和实体设备名称之间的映射关系对所述应用层数据包进行解析还包括以下步骤:
校验应用层数据包的长度,判断所述应用层数据包长度是否通过校验;
若所述应用层数据包通过校验,则判断所述应用层数据包中CTCSID是否已经解析;
若是,则显示CTCSID对应的通信实体名称,并判断所述应用层数据包中应答器编号是否已经解析;
若是,则显示应答器编号对应的应答器组名称。
12.根据权利要求10所述的解析信号安全通信协议应用层数据的方法,其特征在于,
若所述应用层数据长度未通过校验,则提示应用层数据包长度异常的原因
若所述应用层数据包中CTCSID还未解析或者解析异常,则显示解析结果;
若所述应用层数据包中应答器编号还未解析或者解析异常,则显示解析结果。
13.一种解析信号安全通信协议应用层数据的系统,其特征在于,所述系统包括:
数据配置单元,用于确定应用层数据所属的通信协议类型,并在对应的JSON文件中配置应用层数据包;
第一生成单元,用于加载JSON解析引擎读取各类型JSON文件中的应用层数据包,生成端口号与通信协议类型的映射关系以及各类型通信协议解析树;
第二生成单元,用于导入实体设备信息表,生成设备编号和实体设备名称之间的映射关系;
解析单元,用于按照各类型协议解析树以及设备编号和实体设备名称之间的映射关系对所述应用层数据包进行解析。
14.根据权利要求13所述的解析信号安全通信协议应用层数据的系统,其特征在于,
所述系统还包括动态库调用单元,用于在确定所述通信协议为Subset-037协议时,调用Lua52.dll动态库实现数据由字节转换为比特;
其中,所述Lua52.dll动态库采用C语言编写。
15.一种解析信号安全通信协议应用层数据的电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-12中任一项所述的解析信号安全通信协议应用层数据的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-12中任一项所述的解析信号安全通信协议应用层数据的方法。
CN202310491215.7A 2023-05-05 2023-05-05 一种解析信号安全通信协议应用层数据的方法及系统 Active CN116233282B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310491215.7A CN116233282B (zh) 2023-05-05 2023-05-05 一种解析信号安全通信协议应用层数据的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310491215.7A CN116233282B (zh) 2023-05-05 2023-05-05 一种解析信号安全通信协议应用层数据的方法及系统

Publications (2)

Publication Number Publication Date
CN116233282A true CN116233282A (zh) 2023-06-06
CN116233282B CN116233282B (zh) 2023-09-19

Family

ID=86573469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310491215.7A Active CN116233282B (zh) 2023-05-05 2023-05-05 一种解析信号安全通信协议应用层数据的方法及系统

Country Status (1)

Country Link
CN (1) CN116233282B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957173A (zh) * 2014-05-16 2014-07-30 北京信诺瑞得软件系统有限公司 语义交换机
CN112104670A (zh) * 2020-11-11 2020-12-18 北京城市轨道交通咨询有限公司 一种基于链路映射解析轨道交通数据的方法及装置
CN112235272A (zh) * 2020-09-30 2021-01-15 通号城市轨道交通技术有限公司 通信方法、装置及可读存储介质
CN113434437A (zh) * 2021-08-26 2021-09-24 北京全路通信信号研究设计院集团有限公司 一种接口协议数据解析方法及系统
CN113726762A (zh) * 2021-08-27 2021-11-30 四川长虹网络科技有限责任公司 基于配置文件的物联网设备协议解析方法
US20220206473A1 (en) * 2020-12-31 2022-06-30 Tianjin University Method for identifying and parsing industrial control protocol based on industrial gateway
CN114765633A (zh) * 2021-01-04 2022-07-19 株洲中车时代电气股份有限公司 基于列车实时以太网协议的网络报文解析方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957173A (zh) * 2014-05-16 2014-07-30 北京信诺瑞得软件系统有限公司 语义交换机
CN112235272A (zh) * 2020-09-30 2021-01-15 通号城市轨道交通技术有限公司 通信方法、装置及可读存储介质
CN112104670A (zh) * 2020-11-11 2020-12-18 北京城市轨道交通咨询有限公司 一种基于链路映射解析轨道交通数据的方法及装置
US20220206473A1 (en) * 2020-12-31 2022-06-30 Tianjin University Method for identifying and parsing industrial control protocol based on industrial gateway
CN114765633A (zh) * 2021-01-04 2022-07-19 株洲中车时代电气股份有限公司 基于列车实时以太网协议的网络报文解析方法及装置
CN113434437A (zh) * 2021-08-26 2021-09-24 北京全路通信信号研究设计院集团有限公司 一种接口协议数据解析方法及系统
CN113726762A (zh) * 2021-08-27 2021-11-30 四川长虹网络科技有限责任公司 基于配置文件的物联网设备协议解析方法

Also Published As

Publication number Publication date
CN116233282B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
US7779036B2 (en) Integration functionality for a test tool for application programming interfaces
US7506311B2 (en) Test tool for application programming interfaces
US7512954B2 (en) Method and mechanism for debugging a series of related events within a computer system
CN114500690B (zh) 接口数据处理方法、装置、电子设备及存储介质
US20070240168A1 (en) Apparatus and method for modifying an initial event queue for extending an XML processor's feature set
CN112765032A (zh) 程序调试方法、装置、设备及存储介质
JP4587976B2 (ja) アプリケーションの脆弱性検査方法および装置
CN111752820B (zh) gRPC接口的压力测试方法、计算机设备和存储介质
CN114328274A (zh) 测试模板生成方法、装置、计算机设备和存储介质
CN116233282B (zh) 一种解析信号安全通信协议应用层数据的方法及系统
CN112363939A (zh) 快速生成模糊测试网络协议模板的方法及系统、设备
CN115470152B (zh) 测试代码生成方法、测试代码生成装置以及存储介质
WO2023125755A1 (zh) 基于大规模集群的服务请求处理方法、装置、设备及介质
EP3005087A1 (en) Declarative configuration elements
CN116521552A (zh) 一种测试缺陷的获取方法、装置、设备及可读存储介质
CN101098257A (zh) 改善被管理网络中的错误管理的方法和网络单元
CN115269228A (zh) 一种数据适配传输方法、装置、设备和介质
US20040153871A1 (en) Automatic analysis of the properties of a system based on runtime logs
CN109086200B (zh) 一种基于安卓虚拟机修改的有效测试框架
CN109308256B (zh) 一种java程序动态分析方法、设备和存储介质
Wang et al. Application of model-based testing on a quorum-based distributed storage
CN113051174B (zh) 基于xddl生成仿真协议消息的方法
CN117493162B (zh) 一种接口测试的数据校验方法、系统、设备及存储介质
Habibi et al. Sharif-TaaWS: a tool to automate unit testing of web services
CN112199082B (zh) 一种http响应处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant