Repository navigation
plctap v0.4.0
主动诊断旗舰: 协议自动识别 / 透明代理 / 故障注入
detect_device —— 冷启动协议识别
- 并发扫标准端口 → 四协议 probe 指纹 → deep 最小读验证, 给出可执行的
plc_read建议 - 全程只读 (握手帧 + 最小读帧), "识别 ≠ 可访问" (如 S7 PUT/GET 关闭时识别成功但读仍失败)
_PROFILES注册表: 新协议接入 = adapter register + 注册表加一条, 识别逻辑零改动- 44818 端口撞号 (MELSEC SLMP 与 EtherNet/IP): 端口先验只影响同级排序不参与置信度, 按响应指纹消歧
主动诊断设施
- 透明代理
start_proxy/stop_proxy/get_proxy_frames: 上位机→代理→真 PLC 透传 + 双向录帧, 在线联调免 Wireshark - 监听 inject_errors 故障注入档: 确定性故障轮转 (exception / bad_length / truncate / end_code / garbage), 兼评测语料生成器
- modbus probe 带请求上下文回显甄别 (tid/unit/fc/byte_count 四重交叉校验), 防回显服务器误判
写链路全量实测
四协议写链路各经权威第三方客户端独立读回验证一致。
质量与收录
- 452 项测试全绿; 评测六档 39/39 (新增 detect 档 4/4)
- 官方 MCP Registry 收录 (v0.4.0 status=active); glama.ai 自动收录公开
安装
uvx plctap # 或: pip install plctap==0.4.0PyPI: https://pypi.org/project/plctap/0.4.0/
Full Changelog: v0.3.0...v0.4.0