OMRON-FINS(TCP)协议详细解析和攻击

1. FINS协议简介

欧姆龙(Omron)是来自日本的全球制造公司,产品是工业和制造业的机器。其中、小型PLC在国内市场有较高的占有率,有CJ、CM等系列。PLC可以支持Fins、Host link等协议进行通信。支持以太网的欧姆龙PLC CPU、以太网通信模块根据型号的不同,一般都会支持FINS(Factory Interface Network Service)协议,一些模块也会支持EtherNet/IP协议。

FINIS协议使用的TCP/UDP端口:9600

FINS协议使用的编码格式为:ASCII

Fins协议封装在TCP/UDP之上,FINS以太网协议基于OSI模型如下。
在这里插入图片描述

2. FINS协议解析

2.1 FINS会话流程

FINS会话流程是基于TCP/IP协议,下图表述了FINS会话开始几个数据帧的作用。FINS协议的会话有一次请求帧,请求帧中附带着发起方的节点参数。PLC端(Server端)会确认并将自己的节点参数放回给请求方。

在这里插入图片描述

2.2 FINS帧结构

FINS帧结构包含三部分组成,分别由FINS Header、FINS Command Code和FINS Command Data组成。

在这里插入图片描述

2.3 FINS Header

2.3.1 FINS/TCP Header

Magic Bytes(4 bytes):0x46494e53(Protocol ID,协议ID,FINS的16进制ASCII码)

Length(4 bytes): 数据长度,指后续跟着的字符长度

Reserved(3 bytes):保留,通常为0x000000

Command Type(1 byte):数据帧类型,值如下:

  • 0x00:connect requst 连接请求数据帧
  • 0x01:connect Response,连接请求确认数据;
  • 0x02:data,数据传输;

Error Code(4 bytes):保留,通常为0x00000000
在这里插入图片描述

2.3.2 FINS Header

0:ICF(1 byte):(Information Control Field)信息控制码:

  • 由4个子字段组成,分述如下:
  • 1… …. = Gateway bit,是否使用网关,0x01表示使用;
  • .1… …. = Data Type bit,数据类型比特位,0x01表示为响应,0x00表示命令;
  • …0. …. = Reserved bit,第一个保留比特位,默
  • 12
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
欧姆龙FINS/TCP协议是一种用于工业自动化设备之间进行通信的协议。它使用了TCP/IP网络通信协议,具有高可靠性和实时性的特点。在Qt开发中,我们可以使用Qt的网络模块来实现对FINS/TCP协议的支持。 首先,我们需要在Qt项目中包含网络模块的头文件,并且链接相关的库文件。然后,我们可以通过使用QTcpSocket类来建立与欧姆龙设备的TCP连接。QTcpSocket类提供了处理TCP套接字的方法和信号。 接下来,我们需要了解FINS/TCP协议的通信规则和数据包格式。FINS/TCP协议使用特定的命令和数据来进行设备之间的通信。在Qt中,我们可以通过QTcpSocket类的write()方法将命令和数据发送给设备。我们还可以使用QTcpSocket类的read()方法来接收设备返回的响应数据。 在开发过程中,我们还可以使用Qt的信号和槽机制来实现与设备之间的实时通信。当设备发送数据到Qt应用程序时,我们可以通过QTcpSocket类的readyRead()信号来接收并处理数据。 此外,我们还可以使用Qt的界面开发工具,如Qt Designer,来设计和创建界面。我们可以在界面中添加按钮和文本框等控件,以便用户与设备进行交互。 综上所述,通过Qt的网络模块和相关功能,我们可以方便地实现对欧姆龙FINS/TCP协议的支持。这使得开发人员能够轻松地与欧姆龙设备进行通信,并开发出功能强大的工业自动化应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值