码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • S7COMM协议分析


    具体参考这篇文章:[ffffffff0x] 工控协议:S7COMM协议分析(上) - 腾讯云开发者社区-腾讯云

    S7协议是西门子特有的一种协议,用于PLC编程,在PLC之间传输数据

    它分三个部分,分别是header、parameter、data

    header标记该s7包的类型、参数长度、数据长度等

     

    他的构成部分:( ROSCTR,它决定了后续参数的结构 )

    • 协议ID,一般是0x32

    • ROSCTR,PDU type,PDU 的类型,一般有以下值:

      • JOB 作业请求。由主设备发送的请求

      • ACK 确认响应,没有数据的简单确认

      • ACK_DATA 确认数据响应,这个一般都是响应JOB的请求;

      • USERDATA:原始协议的扩展,参数字段包含请求/响应 ID(用于编程/调试,读取 SZL,安全功能,时间设置,循环读取…)。

    • Reserved 冗余数据,通常为 0×0000;

    • ...

    • Parameter length 参数总长度

    • Data length,数据长度。如果读取 PLC 内部数据,此处为 0×0000;对于其他功能,则为 Data 部分的数据长度;

    在响应数据包中,还有可能存在错误信息,其错误信息结构为:

    • Error class,错误类型:

    • Error code,错误代码;流量包分析

    S7Comm 中 Job(作业请求) 和 Ack_Data(确认数据响应) 中的 Parameter 项的第一个字段是 function(功能码),其类型为 Unsigned integer,大小为 1 byte,决定了其余字段的结构、消息的目的。

     

    • 建立通信(Setup communication 0xF0)

      建立通信在每个会话开始时被发送,然后可以交换任何其他消息。它用于协商 ACK 队列的大小和最大 PDU 长度,双方声明它们的支持值。

    • 读取值(Read Var 0x04)

    • 写入值(Write Var 0x05)

      Write Var 中 Parameter 的结构跟读取值(Read Var0x04)一样,但是 Write Var 还需写入值,所以 Write Var 比 Read Var 多了一个 Data 项。

      Data 的结构为:

      • Return code,返回代码

      • Transport size,确定变量的类型和长度:

      • Length,写入值的数据长度;

      • Data,写入的值;

     

  • 相关阅读:
    安防监控/视频汇聚/云存储/AI智能视频分析平台EasyCVR显示CPU过载,该如何解决?
    C 学生管理系统 显示链表信息、删除链表
    信息学奥赛一本通:2034:【例5.1】反序输出
    Apache Hive安装部署详细图文教程
    BIM+物联网应用,可以解决生活中的诸多问题?
    用于准确量化颅面对称性和面部生长的 3D 头影测量方案(Matlab代码实现)
    Redis 面试题
    会话技术——cookie
    数据库2-mysql环境搭建
    “数聚瑞安·创新未来”中国·瑞安第四届创新创业大赛圆满举办!
  • 原文地址:https://blog.csdn.net/qq_61778128/article/details/126808473
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号