基于Wireshark的民用飞机A664数据总线系统解析

2016-05-30 10:48王焕宇
科技创新导报 2016年16期
关键词:插件

王焕宇

摘 要:Arinc664数据总线协议是某大型客机上应用的航电系统数据主干网,飞机各系统通过该网络进行数据交互,其上传输了海量的机载数据参数,对这些参数的实时解析,从而得到系统的输入输出参数响应,是系统综合试验测试与试飞测试的一项重要而基本的要求。目前试验室大多部署了工控机,配置订制的数据采集和ICD(接口控制文件)解析软件,能够实现对数据的读取和分析,但是设备专用性较强,且不便于外场测试。Wireshark是一款开源的以太网数据监听软件,可以运行于个人笔记本上,该文通过wireshark的插件机制提出了一种机载Arinc 664数据的数据实时解析方案,为系统集成试验与排故试验解决了Arinc664数据便携解析问题。

关键词:Arinc664 Wireshark 插件 协议解析 lua

中图分类号:TP391 文献标识码:A 文章编号:1674-098X(2016)06(a)-0004-02

Abstract:Arinc664 bus is applied to one of civil aircraft for Avionics Network. Other systems transfer and route data through this network. There is a requirement to analyze these data for engineer to get the output of the system. Industrial computer and specific software are dedicated to capture and analyze the parameters, without any flexibility. The paper suggest using dissector of Wireshark, one of the most popular Ethernet analyze tool, to analyze the data stream from airborne equipment and help the integration and trouble shooting in the Lab.

Key Words:Arinc664; Wireshark; Dissector; Protocol analyze; Lua

Arinc664数据总线是新一代的航空数据总线,在现代大型飞机上得到了较广泛应用,该总线具有以下优点[1]:(1)基于IEEE 802.3以太网与ARINC664,Part7的通用技术,实现了机载电子设备间的数据高速传输;(2)通过虚拟链路与固定带宽,实现了数据确定性传输;(3)通过冗余机制与错误检测,提高了数据传输的可靠性与服务质量。在某大型客机航电系统集成试验中,需要对如此高速的数据总线进行采集并根据ICD进行解析,从而得到各系统参数值。试验过程中采集的Arinc664数据,如果没有数据解析,就是一串二进制源码。通过分析Arinc664数据总线的协议,利用Wireshark对以太网各种协议解析的扩展能力,完成型号用的Arinc664数据总线数据解析插件的开发,达到Arinc664数据便携测试的目的。

1 Arinc664数据总线协议分析

Arinc664数据网络一般包括端系统(End System)及交换机,如图1所示。端系统负责将机载设备数据转换成Arinc664接口进行传输,交换机负责将数据帧路由至预先配置好的目的端,而数据的路由由虚拟链路(Virtual Link)号进行标示和配置[2]。

虚拟链路号复用在IP头和MAC帧头的目的地址中,从而实现一发多收的机制,如图2所示。

在Arinc664的消息载荷规范中,规定了消息存放的规则,在系统型号网络互操作性规范里强制要求各系统共同遵守。而具体消息的数据结构定义,包括消息数据类型、大小、偏移量等,均在ICD里具体约定。某型民用飞机网络采用XML格式定义了这些ICD信息,该文通过这些XML文件对采集到的Arinc664进行解析,将二进制数据解析成直观的工程值,供试验与设计人员进一步分析使用。

2 基于Wireshark的Arinc664数据解析方案

Wireshark是世界上使用最广泛的网络分析软件之一,可以捕捉网络中的数据,并为用户提供上层协议的各种消息,支持超过1 000种通用协议。Wireshark软件内嵌lua语言的执行机制,提供通过lua编写Wireshark解析器插件的接口,自定义解析器(dissector),从而实现自定义协议解析的目的。而Arinc664又是一种基于以太网的机载总线协议,Wireshark对Arinc664的解析。

第一步,制作转换电缆,将机载物理接口转换成试验用RJ45接口,以便将接入Wireshark环境中,电缆原理图如图3所示。

第二步,按照网络互操作性规范与ICD文件定义解析插件的消息结构。

(1)利用Wireshark提供的proto.new声明一个新的协议。

(2)使用proto.dissector声明一个解析器函数。

(3)在ProtoField协议字段中结合ICD定义消息的数据结构。

(4)将生成的Dissector解析器添加到Wireshark的UDP port的解析器列表中。

(5)将lua写成的插件文件添加到Wireshark的启动初始程序init.lua中。

启动Wireshark后,即可看到捕获的数据不再是显示成了枯燥的0和1,而是根据数据结构的定义解析成立False和True。在某型飞机系统集成试验中,该解析器顺利获取了各项工程值。

3 结语

该文提出了一种基于Wireshark的Arinc664解析插件的设计,实现了机载Arinc664数据的工程值解析,便携、方便地呈现工程值,应用性较强。基于该文提出的思路,后续可通过程序自动将ICD的XML文件批量生成全机的解析器,可以实现海量数据的解析。

参考文献

[1] 贾世伟,白杨,何向栋.AFDX实时捕获板块设计与实现[C]//全国抗恶劣环境计算机第二十三届学术年会.2013.

[2] 钟杰,何民.AFDX架构及协议分析[J].电讯技术,2010(1):65-71.

猜你喜欢
插件
自编插件完善App Inventor与乐高机器人通信
基于OSGi的军用指挥软件插件机制研究
插件技术在计算机软件技术中的运用
MapWindowGIS插件机制及应用
基于框架-插件架构的军事仿真系统设计方法研究
基于Revit MEP的插件制作探讨
插件虚拟机的设计与实现*
插件技术在计算机软件中的应用分析
插件体系结构软件的原理和实现