微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > Power-One通信电源监控系统通信协议破解

Power-One通信电源监控系统通信协议破解

时间:12-07 来源:互联网 点击:

摘要 根据数据链路层通信协议的一般格式,对串口监听工具截取的Power-One通信电源监控系统中的通信信息进行了逻辑推理和分析,破解了其通信协议的格式和各种通信命令。实验表明,破解结果正确无误。对于通信电源分布式监控系统通信协议的设计和实现,具有一定的借鉴意义。
关键词 通信电源;监控系统;通信协议;解析;Power-One;PowCom

通信电源通常被称为通信系统的心脏,其工作不正常,将造成通信系统故障,甚至导致整个系统瘫痪。因此,为保证整个通信系统的畅通,节约人力成本和能源损耗,通信电源监控系统应运而生。通信电源监控系统对分布的通信电源设备和空调机房进行遥测、遥信和遥控,能实时监视和显示其运行参数,并自动监测和处理系统内各种设备的故障。
鉴于国外发达国家通信电源监控系统的研发工作较早且产品成熟,我国相关研究工作通常是先借鉴国外的经验,然后研发具有自主知识产权的系统。其中,最关键的问题就是通信协议的破解。一般的破解思路是通过不断试探,截获通信信息,分析其规律性,进而推测得到通信协议,然后按此协议发送指令进行验证。这种方法具有一定的盲目性,工作量较大,而且具有一定的局限性。
文中在破解美国Power-One通信电源监控系统时,以数据链路层通信协议的一般格式为指导,结合监控系统生成的各种文件,通过合理的逻辑推理和分析,破解通信规约和通信命令,并利用破解的通信命令直接对电源系统实施监控,实际验证其正确性。这种方法,准确性高、通用性强,而且节省时间和精力。

1 通信协议解析
1.1 解析思路
通信协议(Communication Protoco1)是两个实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。以下对Power-One通信电源监控系统所采用的通信协议进行破解。
PowCom是一个基于Windows的通信软件,用于实现对Power-One的AC/DC电源变换系统的监控。破解时,运行上位机软件PowCom,并利用串口监听工具,截获Power-One通信电源监控系统上位机(PC)与下位机(即电源控制模块PCU)之间的通信信息,即捕获下行(PC→PCU)和上行(PCU→PC)数据帧。对于截获的上下行数据帧,首先根据高级数据链路控制规程HDLC帧结构如图1所示,推理出对通信协议的格式和各种功能命令;然后根据菜单界面和监控系统生成的各种文件,如配置文件(.pcg)、参数文件(.prm)、测试文件(.tst)和告警历史文件等,推理出各种功能命令中数据字段的格式。

1.2 协议破解
基于上述思路,就可以进行具体的解析。
首先,将Power-One通信电源监控系统上位机(PC)通过串口Com1与PCU相连,运行上位机软件PowCom,选择通信(Communication)菜单下的菜单项端口设置(Port Setup),选择COM1口,波特率9 600 bit·s-1,如图2所示,然后选择该菜单下的菜单项Direct直接通信(Communicat ion)实现与PCU连接如图3所示。注意,通信采用10 bit异步方式:起始位1 bit,数据位8 bit,停止位1bil,无校验,波特率9 600 bit·s-1,必须与PCU设置相同。

依次选择PowCom各个菜单下的各种监控功能,包括通信(Communication),如图3所示;监控(Supervision),如图4所示;使用工具(Uti lities),如图5所示,菜单下的各种监控功能。参照图1的一般格式,分析用SUDT SerialTrace Monitor截获的上下行数据帧,推断通信协议的格式如下:每个数据帧的第一个Byte均为FFH,由此推断为标志字段。最后一个Byte可能是校验和字段,经过计算,它是帧中其他字段的校验和。第2个Byte很显然是帧长字段。第3和第4个Byte在上下行数据帧中数值总是颠倒,初步推断为发送地址字段和接收地址字段,选择对不同整流模块进行监控操作,证明了上述推断,其中,上位机的地址始终为00H,下行接收地址为整流模块的地址。第5个Byte在下行数据帧时为01H,而在上行数据帧时为00H,推断为应答字段,即00H表示无须应答;01H表示必须应答。第6个Byte始终为01H,可能是结构控制字段。第7个Byte对每个监控功能而言都是惟一的,而在每对上下行数据帧中相同,故此推断为功能码或命令字字段。最后,第7个Byte与最后一个Byte之间的部分显然为数据字段,其长度为(帧长-8)。
综合以上的分析推理结果,得到Power-One通信电源上下位机间通信协议的格式,如表1所示。

显然,数据字段为密码数字的ASCII码,因为十进制0~9对应的ASCII码30H~39H。注意应答字段为01H,表示PCU必须回复。
此时,截获到PCU回复如下的密码设置完成上行数据帧,表示密码设置成功。注意应答字段为00H,表示PC无须回复。
FF 08 00 01 00 01 08 11
1.3.3 验证密码、密码确认
当通过上位机PowCom菜单命令输入错误密码5678时,截获如下的验证密码下行数据帧

注意应答字段为01H,表示PCU必须回复。此时截获到PCU回复如下的密码确认上行数据帧

通过串口测试工具截获的PCU回复如下的日期/时间设置完成(date/time set)数据帧
FF 08 00 01 00 01 07 10
表明设置日期/时间(set date/time)下行数据帧格式正确,PCU能正确识别,并成功设置日期/时间。

3 结束语
基于数链层通信协议一般格式的破解方法,对于各种数链层通信协议的破解具有通用性。但是,文中的破解结果具有一定的局限性,原因是Power-One通信协议的格式和通信命令并不是开放的和通用的。尽管如此,对于通信电源的监控管理人员以及通信电源监控系统的设计人员仍具有一定的理论指导意义。破解是手段而不是目的,下一步的工作是在此基础上设计适合中国国情,而且适应通信电源发展的监控系统和通信协议。通信电源地理上的分散化,必然要求监控的分布式,而分布式电源监控系统必然要求通信协议的规范化和统一化。因此,研究工作的重点是我国通信电源分布式监控软件的设计和实现。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top