基于Wireshark的互联互通车地通信协议解析脚本

2021年4期
科技创新与应用
Technology Innovation and Application
研究视界
基于Wireshark 的互联互通车地通信协议解析脚本
彭博文,陈
昕,施
(湖南中车时代通信信号有限公司,北京100070)
引言边坡滑模施工
用于网络数据包分析的工具中,Wireshark 由于开源,便于用户二次开发,对于当下的主流协议Wires
hark 都有自带解析插件,如IP 、ARP 、TCP 、UDP 、HTTP 、DHCP 等大受欢迎。但在实际应用中,这些协议通常只是传输数据过程的载体,有不少软件之间的通信协议都是私有的,如车载设备(VOBC )和区域控制器(ZC )之间的交互协议,Wireshark 无法具体解析出各种字段之间的含义,只能显示接收的二进制数据,给协议的分析和问题的排查带来了一定的困难,尤其是协议内容比较复杂时。
轨道交通CBTC 系统互联互通主要指两种方式的运营,分别为共线和跨线。共线指同一条线路上装备不同信号厂商的车载设备列车可以在装备不同信号厂家轨旁设备正常运营;跨线指不同信号厂商的车载设备可以无缝切换到另外一条线路正常行驶。一般来说,实现跨线前需以实现共线为前提。它们对于实现轨道交通网络化运营,降低轨道交通线网建设成本和提高运营的资源利用率有巨大的促进和影响。
1互联互通车地通信协议
互联互通车地通信协议是以统一的数据格式的方式用于ZC 和VOBC 之间数据通信,协议约定了使用的安全
通信协议和应用协议,可粗略的分为两大部分:
1.1互联互通车地安全通信协议
车载设备与区域控制器之间可采用RSSP-II 或RSSP-I 安全通信协议通信。RSSP-II 安全通信协议的具体
要求参见运基信号【2010】267号文件
《RSSP-II 铁路信号安全通信协议》;RSSP-I 安全通信协议的具体要求参见运基信号【2010】267号文件
《RSSP-I 铁路信号安全通信协议》。1.2互联互通车地应用协议
1.2.1通用信息包格式互联互通车地连续通信规范的通用包中约定了车地双方通信的接口信息类型、发送方标识信息、接收方标识信息、数据版本校验信息、本方消息序列号、通信周期、对方消息序列号、收到上一条消息时本方序列号、协议版本号和应用层数据长度,用于对车地双方通信信息做进一步的校验。
1.2.2应用层信息包格式
互联互通车地连续通信规范的应用层信息包括报文长度、报文类型、预留字段、报文内容。
根据信息包发送方向摘要:互联互通已成为城市轨道交通行业发展的必然方向,为实现不同厂商间的
互联互通,使用统一的接口协议已成为必要的前提条件。因此,中国城市轨道交通协会制定了不同系统间统一的通信协议规范。在理解的通信协议基础上,结合具体调试过程中遇到的不便,提出并实现借助Wireshark 软件二次开发对数据包进行分析,方便软件功能调试、提高故障定位效率和便利工程运用。文章主要以车地通信协议为例进行分析,后续可扩展至区域控制器(ZC )间接口协议等其他互联互通版本的接口协议。
关键词:互联互通车地通信协议;数据解析;Wireshark ;Lua 中图分类号:U239
文献标志码:A
高分子布鞋文章编号:2095-2945(2021)04-0084-03
Abstract :Interconnection has become the inevitable direction of the development of urban rail transit industry.In order to
realize the interconnection between different manufacturers,the use of a unified interface protocol has become a necessary prerequisite.Therefore,China Urban Rail Transit Association has formulated unified communication protocols between different
systems.Based on the communication protocol and the inconvenience encountered in the specific de
bugging process,this paper proposes and realizes an analysis of data packets with the help of the secondary development of Wireshark software to facilitate software function debugging,improve fault location efficiency and facilitate engineering application.This paper mainly takes the vehicle-ground communication protocol as an example,which can be extended to other interconnection and interworking version
interface protocols such as Zone Controller (ZC)interface protocol.
Keywords :interconnection and interworking vehicle-to-ground communication protocol;data parsing;Wireshark;Lua
作者简介:彭博文(1993-),男,本科,软件工程师,
研究方向:城市轨道交通CBTC 系统ZC 研发。84--
2021年4期科技创新与应用
Technology Innovation and Application研究视界
可分为二类,VOBC至ZC共4种信息包,分别为列车位置信息包、应用层注册/注销请求、VOBC城市自定义帧、
VOBC厂商自定义帧;ZC至VOBC共6种信息包,分别为列车控制信息、应用层注册/注销响应、ZC主动注销请求、特殊控制报文、ZC城市自定义帧、ZC厂商自定义帧。不同类型数据包可同时存在在一个数据包当中,并且对于发起方VOBC发送某种特定类型的数据包,应答方ZC需响应符合要求的对应的数据包。
(1)列车位置信息包。列车位置信息包主要用于车载设备自身在线路上定位成功后,完成与之对应的区域控制器注册成功后,周期性向区域控制器发送信息,其包含运行方向、激活端、列车包络线(列车最大安全前端、列车最小安全前端、列车最大安全后端、列车最小安全后端)、列车运行控制级别、列车驾驶模式、车辆状态(停车保证、折返状态、列车完整性、无人折返灯、紧急制动状态)、列车速度/距离信息(列车速度、速度方向、退行距离、停准停稳信息、保护区段允许解锁)、受控ZC编号。
(2)应用层注册/注销请求。应用层注册/注销请求包主要用车载设备通过应答器获取初始定位位置后,逻辑判断需要与ZC开始注册或者需要断开通信链接时发送,其包含注册/注销请求标识、注销原因、预留。
(3)VOBC城市自定义帧。VOBC城市自定义信息包用于实现各城市特有的互联互通相关,具体内容在工程中根据实际需求约定,各厂商均应适配实现相应功能。
(4)VOBC厂商自定义帧。VOBC厂商自定义信息包用于实现各厂商特有功能,由各厂商分别定制。VOBC判断通信的ZC与自身属于同一厂商时,方可发送厂商自定义帧。
(5)列车控制信息。列车控制信息包主要用ZC判断满足发送条件后,向列车周期性发送,其包含下一个ZC的编号、MA信息(MA信息长度、MA方向、停车保证、MA起点、安全防护点位置、障碍点位置、保护区段有效性)、路径信息(包含的道岔编号及位置)、屏蔽门状态、紧急停车按钮状态、无人折返按钮状态、临时限速信息(临时限速数量、临时限速范围、临时限速限速值)、ZC-ZC通信延迟、紧急制动命令、运行目的地属性信息、信号机状态。
(6)应用层注册/注销响应。应用层注册/注销响应包是ZC对于车载设备发送的注册/注销请求包的响应数据包,其包含注册/注销响应标识,注册失败原因、预留。
(7)ZC主动注销请求。ZC主动注销请求包是ZC在某种特定的场景下,判断注销条件成立后,向VOBC发送,其包含注销命令、注销原因、预留。
(8)特殊控制报文。特殊控制报文是主要用于ZC判断在不满足发送列车控制信息报文,但需要维持通信链路时或者判断需要列车紧急制动时发送,其包含紧急制动命令和特殊控制原因。
(9)ZC城市自定义帧。ZC城市自定义包用于实现各城市特有的互联互通相关功能。具体内容在工程中根据实际需求约定,各厂商均应实现相应功能。
(10)ZC厂商自定义帧。ZC厂商自定义包用于实现各厂商特有功能,各厂商分别定制。ZC判断通信的VOBC与自身属于同一厂商时,方可发送厂商自定义帧。
1.2.3应用层信息包共存性
不管VOBC发送给ZC的数据包,还是ZC发送给VOBC的数据包,在不同场景下其信息包组合均有相应的规则,如表1所示:
Wireshark软件作为实验室和工程调试过程中广泛使用传输数据的抓取和分析软件。Wireshark软件本身拥有强大的过滤器引擎,同时支持抓取UDP、TCP、IP、FTP、ICMP、HTTP等协议数据包,也支持使用Lua脚本语言进行二次开发,非常方便与灵活,可用于互联互通车地应用协议。
互联互通车地协议解析的实现:
互联互通车地协议数据解析脚本由vobcToZc.lua文件组成,用于互联互通车地应用协议的解析,本文以车地通信采用TCP方式的RSSP-II安全协议举例。
2.1脚本编写
编写vobcToZc.lua的解析器脚本,分为三个过程,创建解析器对象、解析器函数、注册至解析表中,其具体内容如
表2ZC→VOBC各信息包共存表
85--
2021年4期运行网
科技创新与应用
鸡眼镜Technology Innovation and Application
研究视界
下:
(1)创建解析器字段。创建解析器需要解析的字段,其具体实现如图1所示:
便携式行李车
图1解析器字段
(2)解析器函数。解析器函数需要将数据包当获取中的指定的具体位置字段取值后赋值,其具体实现如图2所示:
图2解析器函数
(3)注册至解析表。解析器函数实现后,需要将解析器注册到Wireshark 的解析表当中,具体实现如图3所示:
图3注册解析器
2.2脚本使用
Lua 语言为弱语言,无需编译,可直接使用。直接将该
脚本文件vobcToZc.lua 放在Wireshark 安装目录中,若安装路径在C 盘,则将脚本放入路径C :\Program Files (x86)
\Wireshark\plugins\版本号,即可。
2.3结果展示
用Wireshark 打开之前的抓包数据,加载脚本插件后可以看出原来的传输数据已经被解析成自定义协议VOBCTOZC ,如图4所示。
打开树状图,发现定义的解析字段已经赋上对应的
值,如图5所示。
3实际应用情况
目前已用于无锡4号线室内系统调试的通用辅助工
具,据使用人员反映测试过程使用,该脚本提供了较为直观、快捷的解析数据方式,同时希望扩展和补充互联互通区域控制器(ZC )通信协议脚本和互联互通联锁(CI )通信协议脚本等。相比原有抓包再通过解析软件进行解包分析的方式,基于Wireshark 下脚本语言插件的解析方式具有以下优点:
(1)实现性。在Wireshark 实时抓包时,通过脚本语言插件的解析方式就可以直接看到相关对应字段的取值。
(2)便捷性。分析问题时候,可以直接设置过滤条件,到对应的数据包,如查某一具体周期的数据、字段取值为特定值的数据包等。
4结束语
本文利用Wireshark 软件易于二次开发的特性,采用
Lua 脚本语言进行解析脚本的编写,将互联互通车地通信
应用协议关键字段进行解析,从而能够通过Wireshark 软件可以直观地显示传输数据的内容、筛选符合特定条件的数据包。
蓄电池隔板已在无锡4号线室内测试中逐步使用。本文构建的协议数据分析插件为调试、故障排查、测试带来的便利,减少
将数据拷贝到特定解析软件解析的过程,提高了调试效率。随着新基建、城市轨道交通行业的发展,本文构建的协议数据分析模式及其实现方式将会在自身及互通厂商室内软件调试、实际工程项目运用中有广阔的应用前景。参考文献院
[1]中华人民共和国国家铁路局.铁路信号安全通信协议第2部分:II 型协议.TB/T 3528.2-2018[S].北京:中国铁道出版社,2018.[2]中国城市轨道交通协会.城市轨道交通基于通信的列车运行控制系统(CBTC )互联互通接口规范第2部分:CBTC 系统车地连续通信协议规范[S].北京:中国城市轨道交通协会,2018.[3]唐辉.基于Wireshark 二次开发的地铁信号系统应用协议解析插件[J].交通与运输,2016(7):84-88.
[4]陈昕,谭力天,李澎东,等.基于脚本语言的互联互通通信数据解析插件[J].铁路通信信号工程技术,2020(2):
94-98.
图5树状信息显示
图4UI 信息显示
86--

本文发布于:2024-09-21 19:43:00,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/299425.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信息   解析   协议
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议