网易首页 > 网易号 > 正文 申请入驻

浅析UMAS协议

0
分享至

作者:Nonattack

1、概述

UMAS (Unified Messaging Application Services) 统一消息传递应用程序服务,它是用于交换应用程序数据的平台独立协议,通信数据使用标准的Modbus协议。Modbus是Modicon公司在1979年开发的基于消息结构的协议,最早是为Modicon公司的PLC中使用,后为施耐德电气公司所有。Modbus协议是现今使用的最早和应用最广泛的工业控制系统协议之一,主要是用于和现场控制器通信的应用层协议,共有三种工作模式:Modbus/ASCII,Modbus/RTU,和Modbus/TCP。

Modbus协议标准是公开的,其众多功能码早已广为人知,在此不做赘述。但其标准文档中也提到了一些未公开、且为占用状态的功能码,90功能码(0x5A)即为其中一个,UMAS协议即为90功能码的Modbus。

UMAS协议为施耐德电气私有的、用于对其PLC产品进行配置和监控等操作,通过查阅,发现未有相关详细描述文档,因此,本文的主要目的即是对UMAS进行基本研究和归纳,不当之处望指正。UMAS协议的基本结构如下图所示:

2、UMAS协议功能码

UMAS协议即为0x5A功能码的Modbus协议,其通信数据在Wireshark中的识别情况如下图:

功能码全部显示为Unity(Schneider)(90),那么,UMAS有功能码吗?进一步观察Data部分,在Wireshark中其隶属于Modbus部分且未能被详细解析,而恰好此部分即为UMAS所特有的,本节内容所讨论的UMAS功能码并非Modbus协议中的功能码,而是指UMAS特有部分中的功能码,其与PLC的各种配置,包括:PLC读、写、运行/停止、数据上传/下载等操作密切相关。

UMAS协议功能码的梳理与总结,源于对相关DLL文件的分析和对与PLC通信数据分析总结而来,测试中使用了Schneider M340 PLC,在没有PLC的情况下,可使用上位机软件Unity Pro XL(后来软件更名为EcoStruxure Control Expert)自带的仿真器代替PLC进行通信。

安装Unity Pro软件后,通过对特定DLL文件进行分析,可以发现逆向源码中即对协议的名称描述即为UMAS,相关的对PLC特定操作亦可以快速定位到:

结合代码分析和通信数据,UMAS相关功能码和基本含义总结如下:

UMAS功能码

序号

功能码

含义

1

0x01

INIT_COMM

建立UMAS通信

2

0x02

READ_ID

请求PLC ID

3

0x03

READ_PROJECT_INFO

读取PLC中工程信息

4

0x04

READ_PLC_INFO

读取PLC内部信息

5

0x06

READ_CARD_INFO

读取PLC SD卡信息

6

0x0A

REPEAT

回传发送给PLC的数据

7

0x10

TAKE_PLC_RESERVATION

独占PLC

8

0x11

RELEASE_PLC_RESERVATION

释放PLC

9

0x12

KEEP_ALIVE

保持连接

10

0x20

READ_MEMORY_BLOCK

准备读取PLC内存块

11

0x22

READ_VARIABLES

以bit/word方式读系统变量

12

0x23

WRITE_VARIABLES

以bit/word方式写系统变量

13

0x24

READ_COILS_REGISTERS

读PLC的线圈/寄存器值

14

0x25

WRITE_COILS_REGISTERS

写PLC的线圈/寄存器值

15

0x26

ENABLE/DISABLE DATA DICTIONARY

启用/关闭数据字典功能

16

0x30

INITIALIZE_UPLOAD

初始化数据上传(From PLC)

17

0x31

UPLOAD_BLOCK

上传PLC数据

18

0x32

END_STRATEGY_UPLOAD

完成数据上传

19

0x33

INITIALIZE_DOWNLOAD

初始化数据下装(To PLC)

20

0x34

DOWNLOAD_BLOCK

下载数据到PLC

21

0x35

END_DOWNLOAD

完成数据下载

22

0x36

CREATE/RESTORE/REMOVE BACKUP

创建/恢复/删除内存卡中的数据备份

23

0x39

READ_ETH_MASTER_DATA

Read Ethernet Master Data

24

0x40

START_PLC

运行PLC

25

0x41

STOP_PLC

停止PLC

26

0x50

MONITOR_PLC

监视PLC变量

27

0x58

CHECK_PLC

检查PLC连接状态

28

0x70

READ_IO_OBJECT

读IO目标

29

0x71

WRITE_IO_OBJECT

写IO目标

30

0x73

GET_STATUS_MODULE

获取状态模块

3、UMAS协议数据分析

使用Unity Pro连接M340 PLC进行一些列操作,抓取通信过程数据,可对功能码进行对照分析。对于UMAS协议,有一点需要明确的是它是一种应/答式的通信协议:包含某种功能码的数据发送到PLC,PLC对请求解析后按照固定格式回应数据。UMAS的请求与响应数据基本格式如下所示:

请求:

[ TCP Packet ] – [ Modbus Header ] – [5A] – [ UMAS CODE (16 bit) ] [ UMAS PAYLOAD (Variable) ]

响应:

[ TCP Packet ] – [ Modbus Header ] – [5A] – [ RETURN CODE (16 bit) ] [ UMAS PAYLOAD (Variable) ]

[RETURN CODE]即为状态码部分,存在两种可能性:0x01 0xFE–意味着OK;

0x01 0xFD–意味着Error。

功能码0x01:建立通信,抓取的实际建立通信的数据将为:

响应数据包为:

功能码0x03:读取PLC中工程信息,抓取的实际建立通信的数据将为:

响应数据包为:

响应数据包的基本格式为:

[ TCP Packet ] – [ Modbus Header ] – [5A] – [ Response Code (16) ] – [ Unknown (9 bytes) ] – [ Unknown 2 (9 bytes) ] –

[ Modification date (8 bytes) ] – [ Modification date Rep (8 bytes) ] – [ Project Version (16) ] – [ Unknown (16) ] –

[ Project Name length (8) – [ Project name (variable) ]

状态码之后连续两个9字节数据意义不明确,df 07按照小端数据换算过来即为2015,即工程修改时间为2015年;工程版本为0.0.01

功能码0x40/0x41:启动/停止PLC

启动PLC的请求数据为:

UMAS CODE部分为00 40,不同情况下使用01 40亦可以启动PLC运行(与PLC固件版本相关)。

相应的停止PLC的UMAS CODE部分为00 41或01 41均可。尝试对Schneider M340 PLC发送启/停数据包,验证数据格式及功能的可行性,如下所示:PLC被停止后,其run灯变为闪烁状态(并非熄灭):

结合对UMAS功能码的理解,尝试编写数据解析插件并对数据包解析,可得到如下效果:

请求数据包:

回复数据包:

4、总结

本文基于对施耐德组态软件Unity Pro的关键DLL分析和对上位机与PLC通信数据分析,梳理总结了UMAS协议基本功能码,同时尝试编写Wireshark解析插件以方便数据包分析,验证了插件的可用性和数据的正确性。

参考资料:

[1] https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf

[2] https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/vulnerabilities-in-schneider-electric-somachine-and-m221-plc/

[3] https://www.lshack.cn/827/

[4] https://www.cnblogs.com/zzqcn/p/4840589.html

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
六神新包装撞脸人民币!网友不淡定了

六神新包装撞脸人民币!网友不淡定了

李东阳朋友圈
2026-06-02 18:16:17
哀嚎一片!6月开房率仅14%,海口酒店店家哭诉“一夜无新客上门”

哀嚎一片!6月开房率仅14%,海口酒店店家哭诉“一夜无新客上门”

火山詩话
2026-06-03 10:11:59
昨天面试了一个前台,37岁,是个宝妈。她工资要的很低,说2500就可以,但有个条件,9点来上班,正常是8点。没想到老板拒绝了

昨天面试了一个前台,37岁,是个宝妈。她工资要的很低,说2500就可以,但有个条件,9点来上班,正常是8点。没想到老板拒绝了

背包旅行
2026-06-03 17:26:49
同济大学董一庆博士去世,年仅31岁,原因让人惋惜,研究室发讣告

同济大学董一庆博士去世,年仅31岁,原因让人惋惜,研究室发讣告

社会日日鲜
2026-06-03 21:26:02
问界回应M9起火事件:前车掉落金属部件拖行引燃,非车辆自身原因

问界回应M9起火事件:前车掉落金属部件拖行引燃,非车辆自身原因

热点科技
2026-06-03 14:01:20
抢回亚洲第一!中国男篮有望归化布朗,这可是全联盟最强得分机器

抢回亚洲第一!中国男篮有望归化布朗,这可是全联盟最强得分机器

绯雨儿
2026-06-03 15:10:21
“崩老头”专盯80、90后:记者卧底500人群聊,如此魔幻

“崩老头”专盯80、90后:记者卧底500人群聊,如此魔幻

半耳聆
2026-06-03 18:15:39
4998 元!iPhone 新机突然上架,价格把有点香啊

4998 元!iPhone 新机突然上架,价格把有点香啊

科技堡垒
2026-06-03 09:58:19
退休国企干部、公职人员起诉离婚,庭审互揭老底牵出巨额财产线索;法院:涉嫌犯罪,移送公安、纪检监察

退休国企干部、公职人员起诉离婚,庭审互揭老底牵出巨额财产线索;法院:涉嫌犯罪,移送公安、纪检监察

大风新闻
2026-06-03 19:48:17
彻底打脸!FIFA官方实锤,央视世界杯版权并非捡漏,反创历史天价

彻底打脸!FIFA官方实锤,央视世界杯版权并非捡漏,反创历史天价

田先生篮球
2026-06-03 22:07:33
【油价调整】“明晚24点,油价暴跌520元/吨!92号汽油一夜跌回8元时代,千万别今天加油”

【油价调整】“明晚24点,油价暴跌520元/吨!92号汽油一夜跌回8元时代,千万别今天加油”

新浪财经
2026-06-03 19:07:56
美国打死都没想到!曾经把中国1000多名外逃贪官当“宝贝“护着

美国打死都没想到!曾经把中国1000多名外逃贪官当“宝贝“护着

果妈聊娱乐
2026-06-03 15:15:51
A股再登上《新闻联播》

A股再登上《新闻联播》

第一财经资讯
2026-06-03 20:57:01
中美俄英法都在名单里,印媒公开喊话环球时报:凭啥就没有印度?

中美俄英法都在名单里,印媒公开喊话环球时报:凭啥就没有印度?

福建睿平
2026-06-03 08:03:32
北京上海失业保险领取人数激增!当务之急之重先稳就业

北京上海失业保险领取人数激增!当务之急之重先稳就业

风向观察
2026-06-03 18:58:55
许俊超任句容市代理市长

许俊超任句容市代理市长

句容日报
2026-06-03 20:08:11
夏天,遇见这肉再贵也要吃,比牛羊肉补,一周吃2次,健脾强免疫

夏天,遇见这肉再贵也要吃,比牛羊肉补,一周吃2次,健脾强免疫

阿龙美食记
2026-06-03 14:09:28
陕西一公司半夜通知“全员放假”,一夜搬空,领导失联,200多名员工数百万工资被拖欠,员工:连维权都不知怎么办

陕西一公司半夜通知“全员放假”,一夜搬空,领导失联,200多名员工数百万工资被拖欠,员工:连维权都不知怎么办

大象新闻
2026-06-03 16:47:13
郑丽文抵美不到24小时,鲁比奥突然承认现实,一句表态信息量很大

郑丽文抵美不到24小时,鲁比奥突然承认现实,一句表态信息量很大

邱震海
2026-06-03 21:05:03
苹果5款新品官宣,6月9日,正式发布

苹果5款新品官宣,6月9日,正式发布

科技堡垒
2026-06-03 09:40:13
2026-06-04 02:12:49
安全客 incentive-icons
安全客
有思想的安全新媒体
1360文章数 4754关注度
往期回顾 全部

科技要闻

传DeepSeek融资意向500亿:腾讯投100亿

头条要闻

男子不想上班辞职后上武当山当道士 8个月后选择下山

头条要闻

男子不想上班辞职后上武当山当道士 8个月后选择下山

体育要闻

选择中国品牌的库里,和他们的巨大野心

娱乐要闻

官方痛批乱象 刘涛郑恺等艺人遭点名

财经要闻

AI,开始偷懒了?

汽车要闻

专访蒋平:安全不做高低配 长安要让安全技术普惠

态度原创

手机
教育
数码
家居
军事航空

手机要闻

华为Mate90系列重磅爆料:全新Deco设计登场,三大梯队排名曝光!

教育要闻

重磅教育部官宣2026年高考报名人数!清华北大扩招不用留学了?

数码要闻

影石Luna Ultra官宣首创头追模块:耳挂形态,号称“看哪拍哪”

家居要闻

江畔轻奢 观云大宅

军事要闻

媒体:美伊和谈以方却从中作梗 内塔尼亚胡有私人算计

无障碍浏览 进入关怀版