版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工业控制系统协议安全实验——Modbus协议详解及案例分析ICSSecurity&Protection01Modbus协议概述02Modbus通信模式03Modbus协议帧结构04Modbus常用功能码05Modbus协议数据包分析目录CONTENTS01Modbus协议概述ICSSecurity&ProtectionModbus协议由Modicon公司开发,用于PLC通信,现为国家标准GB/T19582-2008,涵盖应用协议、串行链路和TCP/IP实现指南。Modbus协议在中国成为国家标准,为工业自动化通信提供规范,其国标编号为GB/T19582-2008,包含Modbus应用协议、串行链路实现指南以及TCP/IP实现指南三部分内容。0102Modbus协议简介使用Wireshark抓取Modbus协议数据包,步骤包括下载安装Wireshark、选择接口、输入过滤条件“Modbus”、执行任务二操作并捕获数据包,最后保存为文件。01通过Wireshark抓取Modbus协议数据包,首先下载并安装Wireshark软件,打开后选择“127.0.0.1”接口,执行任务二操作后停止捕获,将数据包保存为modbus.pcapng文件。02Wireshark抓包步骤使用Wireshark抓取Modbus协议数据包,步骤包括下载安装Wireshark、选择接口、输入过滤条件“Modbus”、执行任务二操作并捕获数据包,最后保存为文件。01窗口1是数据包列表窗口窗口2是数据包详情窗口窗口3是数据包字节窗口02Wireshark界面结构02Modbus通信模式ICSSecurity&Protection在任务二脚本中,主站模拟器读取保持寄存器值,修改前两个寄存器值为3和4,再次读取寄存器值,Wireshark抓包显示主从通信过程,包括读取请求、响应、写入请求、响应和再次读取请求、响应。Modbus采用主从通信模式,主站设备发起请求,从站设备响应请求,通过Wireshark抓包可清晰看到主从通信过程。Modbus通信模式Modbus通信模式编号448的数据包就是主站发起ReadHoldingRegisters请求,450就是从站相应该请求。452是主站发起WriteMultipleRegisters请求,454是从站相应该请求。456是数据修改后主站发起ReadHoldingRegisters请求,458是从站相应该请求。这种主站发起请求从站响应请求的模式就是Modbus的通信模式,对照Wireshark抓的数据包我们可以清楚地看到其交互过程是怎么样的,既简洁又明了。03Modbus协议帧结构ICSSecurity&ProtectionModbusRTU用于串口通信,帧结构包含从站地址、功能码、数据域和差错校验,适用于工业现场设备的近距离通信。0103ModbusTCP用于以太网通信,帧结构包含MBAP报文头、功能码和数据域,借助TCP协议实现可靠通信。02ModbusASCII同样用于串口通信,帧结构在RTU基础上增加了开始和结束标识,便于在不稳定的通信环境中传输。ModbusRTUModbusASCIIModbusTCP协议版本协议版本从站地址1字节,标识通信中的从站设备,确保数据包能准确送达目标设备。功能码1字节,标识操作类型,如读取寄存器、写入数据等。差错校验2字节,采用CRC校验,验证数据完整性。数据域n字节,存储请求或响应数据,长度由功能码决定。ModbusRTU帧组成从站地址SlaveAddress功能码FunctionCode数据域Data差错检验CRC1字节1字节n字节2字节数据域数据以ASCII字符表示,长度由功能码决定。开始标识以冒号“:”开始,标识帧的起始。地址与功能码同RTU,但以ASCII字符表示,便于文本传输。差错校验采用LRC校验,验证数据完整性。结束标识以回车换行符“\r\n”结束,标识帧的结束。ModbusASCII帧组成开始Start地址Address功能码Function数据域Data差错检验LRC结束End1字符2字符2字符n字符2字符2字符7字节,包含事务处理标识、协议标识、长度和单元标识符。MBAP报文头1字节,标识操作类型,与RTU和ASCII相同。功能码n字节,存储请求或响应数据,长度由功能码决定。数据域ModbusTCP帧组成MBAP报文头MBAPHeader功能码FunctionCode数据域Data7字节1字节n字节协议标识2字节,固定为0,标识ModbusTCP协议。长度2字节,表示后续数据长度,单位为字节。单元标识符1字节,标识设备地址,用于多设备通信场景。事务处理标识2字节,标识事务序列号,主从通信中用于匹配请求和响应。PART01PART02PART03PART04MBAP报文头组成事务处理标识TransactionIdentifier协议标识ProtocolIdentifier长度Length单元标识符UnitIdentifier2字节2字节2字节1字节04Modbus常用功能码ICSSecurity&ProtectionModbus常用寄存器功能码顾名思义就是实现某些功能的代码,在Modbus中功能码主要是指对寄存器操作的类型。Modbus主要有4种寄存器。线圈寄存器(Coil),用于存储开关量信息,可读可写,例如设备的开关。大小为1bit。离散输入寄存器(Input),用于存储设备的离散输入信号,只读不可写,例如开关状态。大小为1bit。保持寄存器(HoldingRegister),用于存储需要长时间保持的数据,可读可写,例如温度、压力等测量值。大小为16bit。输入寄存器(InputRegister),用于存储设备的输入数据,只读不可写,例如传感器读数。大小为16bit。Modbus常用功能码功能码寄存器描述位/字操作01H线圈寄存器读单个或多个线圈寄存器位操作02H离散输入寄存器读单个或多个离散输入寄存器位操作03H保持寄存器读单个或多个保持寄存器字操作04H输入寄存器读单个或多个输入寄存器字操作05H线圈寄存器写单个线圈寄存器位操作06H保持寄存器写单个保持寄存器字操作0FH线圈寄存器写多个线圈寄存器位操作10H保持寄存器写多个保持寄存器字操作05Modbus协议数据包分析ICSSecurity&ProtectionModbus协议数据包分析结合Wireshark抓到的数据包来分析ModbusTCP协议帧的具体内容。分析第一次读取保持寄存器请求(Query)和读取保持寄存器响应(Response)时候的数据包。在Wireshark中分别为编号448和450的记录。读取保持寄存器请求数据包应用数据单元(ADU):00
0100000006010300000008读取保持寄存器请求帧结构MBAP报文头MBAPHeader功能码FunctionCode数据域Data事务处理标识TransactionIdentifier协议标识ProtocolIdentifier长度Length单元标识符UnitIdentifier000100000006010300000008事务处理标识(TransactionIdentifier)是0001,表示第一个事务,这个标识其实就是事务编号。协议标识(ProtocolIdentifier)是0000,表示协议是ModbusTCP。长度(Length)是0006,表示单元标识符+功能码+数据域的长度是6。单元标识符(UnitIdentifier)是01,表示设备号是1。功能码(FunctionCode)是03,表示读保持寄存器。0000表示从保持寄存器首地址开始读。0008表示要读取的寄存器个数。读取保持寄存器响应数据包应用数据单元(ADU):00010000001301031000020000000000000000000000000000读取保持寄存器响应数据包。事务处理标识(TransactionIdentifier)是0001,表示第一个事务,这个标识其实就是事务编号。协议标识(ProtocolIdentifier)是0000,表示协议是ModbusTCP。长度(Length)是0013,表示单元标识符+功能码+数据域的长度是19。单元标识符(UnitIdentifier)是01,表示设备号是1。功能码(FunctionCode)是03,表示读保持寄存器。数据域(Data)中10表示返回的数据长度,这个是十六进制表示,表示返回了16个字节。0200为第一个保持寄存器的值,后面7个寄存器的值均为0000。MBAP报文头MBAPHeader功能码F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级英语上册Unit 6 I'm going to study puter science. 单元整体教学设计
- 初中八年级科学(生物学)光合作用探究教案
- 八年级浮力大单元项目式复习导学案
- 八年级英语暑假衔接语法深度学习方案:冠词与特殊疑问句的精准应用
- 初三化学:基于证据推理与模型认知的钠及其化合物单元复习教学设计
- 初三英语介词及固定搭配深度解析与能力建构教学设计
- 变量相依·模型初成
- 初中八年级历史(统编版)下册第五单元知识清单
- 八年级下册Unit 8 江西中考语境词汇分层复习教学设计
- 初中八年级道德与法治(鲁教版)《搭建心灵的桥梁-交往讲艺术》教学设计
- 腮腺沃辛瘤的护理
- 2026年台州市永宁产业投资集团有限公司公开招聘国企编制工作人员的备考题库完整答案详解
- 2026年高考全国卷语文题库试题附答案完整版
- 2026年安徽军转考试试题
- 2026年高级会计实务考试大纲解析与备考指南
- 网络意识形态培训课件
- 日本货币课件
- 带状疱疹常见症状及护理要点讲解
- 软件自动化测试培训
- 电梯安装监理合同范本
- 《运输机场专业工程竣工验收管理办法验收检查单》
评论
0/150
提交评论