首页/网络/工控与物联网速查/S7协议在ISO-on-TCP上的通信过程
工业协议80 条

S7协议在ISO-on-TCP上的通信过程

S7 通信在以太网上通过 ISO-on-TCP 承载:先建连接层连接,再在连接上往返 S7 作业与确认;抓包看连接请求里的两个连接端点标识,就能判断卡在哪一层。

工控与物联网速查网络更新于 2026-10-17
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌‌​​‌‌​​‌‌​‌‌‌​​‌​‌‌​‌​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌​‌‌‌‌​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌‌​​​​​​‌​‌‌​‌​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​‌‌​‌​‌‌‌​‌​‌​‌‌​‌‌‌​​‌‌​‌​​‌​‌‌​​​‌‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

通信过程

在以太网上访问 S7 PLC 时,报文按三层嵌套:最外层是传输层封装,负责长度与版本标识;中间是连接层,负责建立与释放连接;最内层才是 S7 报文,承载读写的具体语义。客户端先发出连接请求,请求中携带双方连接端点标识,服务器确认后连接建立,随后 S7 作业在此连接上往返。连接端点标识里编码了连接类型与 CPU 的位置信息,填错就建不起连接;而连接建立成功却读写报错,则说明问题出在区域或地址上。

基本信息

承载方式ISO-on-TCP,习惯使用 102 端口
外层封装版本标识与报文长度
连接层连接请求、连接确认、断开请求、数据传输
连接端点标识编码连接类型与 CPU 位置信息
S7 报文报文头 + 参数段 + 数据段
报文类型作业、确认、确认数据、用户数据
建连前提端口可达、端点标识匹配、CPU 允许该连接类型

典型使用场景

  • 抓包定位连不上:看是否有连接确认,判断卡在网络还是参数
  • 核对端点标识与机架槽号是否一一对应
  • 区分连接失败与变量访问失败:前者没有作业报文,后者有明确错误响应
  • 验证防火墙策略:确认双向都放行,而不仅是客户端到服务器方向
  • 判断驱动兼容性:老库不支持新机型的连接方式,建连阶段即失败
  • 评估报文长度上限:决定一次能读多少个变量

常用数据区编码

数据区含义常见误用
输入区现场信号映像当成可写区导致写入无效
输出区输出映像误写入直接改变现场动作
位存储器中间标志与其他程序共用导致相互覆盖
数据块用户数据容器偏移与数据类型混淆
定时器系统定时器资源新机型已改为数据块承载
计数器系统计数器资源同上,需按机型确认

抓包时关注什么

抓包时关注什么
# 过滤条件:只保留目标端口 102 的流量
# 关键帧顺序:连接请求(含两端点标识)→ 连接确认 → 作业 → 确认数据
# 只有连接请求没有确认:端口不通、端点标识不匹配或被访问控制拦截
# 有连接确认但作业返回错误:数据区、地址或数据类型写错
# 连接频繁重建:客户端超时设置过短或 CPU 连接资源紧张
同一端口号也可能被其他工业协议占用,现场排查前先确认端口归属,避免把不同协议的流量混在一起分析。
这套 连接层 与 S7 报文结构可用于合法诊断,也可被用于构造非法读写;生产网络中应限制可达来源,而不是依赖报文隐蔽性。

易错点

  • 把连接确认当成数据回应,误判读写已经成功
  • 端点标识两端填反或顺序错位,表现为建连阶段无响应
  • 只放行单向流量,握手阶段的回包被防火墙丢弃
  • 同一连接上并发发送多个请求而不按引用号匹配响应,结果串行错配

数据来源与参考

  • 西门子工业通信产品手册中关于 ISO-on-TCP 与连接参数的章节
  • RFC 1006:ISO 传输服务在 TCP 上的映射
  • ISO 8073:连接模式传输协议

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/ics/s7-iso-tcp-communication.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌‌​​‌‌​​‌‌​‌‌‌​​‌​‌‌​‌​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌​‌‌‌‌​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌‌​​​​​​‌​‌‌​‌​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​‌‌​‌​‌‌‌​‌​‌​‌‌​‌‌‌​​‌‌​‌​​‌​‌‌​​​‌‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​