TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 559 subscribers
Post #1161 4
手工构建 EtherNet/IP 数据包揭示抽象层真相

作者使用原始套接字、Linux 回环接口和 cpppo 模拟器从头搭建 EtherNet/IP 和 CIP 沙箱,抛弃 Scapy 等高层库。起初基本读写测试通过,但在分段传输(0x52/0x53)中遭遇静默失败:客户端日志显示正常,实际数据包却无任何变化。

协议被多层封装包裹:EtherNet/IP 头部(24 字节)、Common Packet Format(CPF)、CIP 应用层。单字节错误即导致完整丢弃。借助实时抓包工具 enip_monitor.py 触发无效 tag 查询,PLC 返回状态码 0x05(路径未知),才确认客户端与实际线路状态存在误差。

修复分段偏移后负载正确提交。核心教训:抽象层不保证理解,反而隐藏架构。EtherNet/IP 和 CIP 默认信任格式正确的数据包,对象结构可外部观察,错误状态泄露内部路由信息,且许多遗留配置无需认证。防御必须工作在数据包级别:开发检测规则、监控封装和 CIP 服务、严格网络分段。


项目代码与 13 份技术笔记已公开。

GitHub

#开发者 #工具 #ICS #EtherNetIP #CIP #工控安全 #网络安全 #协议分析
📢 频道:@DevToolboxHub
More from @devtoolboxhub
  1. Oct 2, 2026AWS AIF-C01 偏差与方差考点梳理 备考 AWS Certified AI Practitioner 时,偏差与方差是高频易错点。核心判断逻辑只有一条:训练集与未见数据的表…
  2. Oct 2, 2026功能开关正在变成没人清理的技术债 功能开关(Feature Flag)是现代软件交付里最有效的工具之一:支持灰度发布、A/B 实验、未发布功能门控,以及生产环境的即时熔断开关。但这…
  3. Oct 2, 2026containerd 检查点恢复路径默认关闭 Kubernetes 里策略变成进程状态只有一处,就是创建。检查点恢复是通往运行进程的第二条路,而这条路上没有任何环节决定:当保存的状…
  4. Oct 1, 2026给 AI 代理建一份「自欺清单」 维也纳邮政与邮件服务商 Postservice.at 创始人 Stephan Holzbach 不是开发者,但今年公司大部分工作跑在 Claude…
  5. Oct 1, 2026代码评审评论为何比本意更刺耳 一条评审评论大约四十秒写完,通常夹在两件事之间,写的人清楚自己的语气。读的人刚在这份代码上花了三天,正想收尾,而且听不到你的声音,于是自己补上一种语气…
  6. Oct 1, 2026用 Hindsight 给客服 Agent 加上持久记忆 大多数客服 Agent 只擅长回答眼前这条消息。真正难的是同一个客户一周后再来,Agent 完全不知道之前发生过什么。作者…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →