Detect Device
detect_deviceIdentify a host's PLC protocol and device type by scanning candidate ports and analyzing probe fingerprints, read-only.
Instructions
设备自动识别: 给定 host 自动扫端口并判定协议 (v0.4, 全程只读)。
流程: 并发扫描候选端口 (缺省 102/502/2000/44818/5007/6000/9600/9601, 单端口连接预算 0.5s) -> 开放端口并发跑四协议 probe 指纹 (单协议 预算 timeout_ms/1000, 缺省 0.8s) -> high 候选按协议做一次最小读 验证 (deep=True 缺省; 成功升级 verified, 失败留痕保持 high; deep=False 跳过验证读)。 只读保证: 全程只发握手帧 + 最小读帧, 不写任何数据; 且识别 ≠ 可访问 —— 例如 S7 PUT/GET 被关闭时识别照样成功, 读 DB 仍可能失败。 返回 DetectResult: candidates 按置信度降序 (同级先验匹配端口优先, next_step 可直接作为 plc_read 调用), unknown_services 为开放但 四协议都不认识的端口 (可用 start_listener 钓帧分析)。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| deep | No | ||
| host | Yes | ||
| ports | No | ||
| timeout_ms | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | ||
| candidates | Yes | ||
| elapsed_ms | Yes | ||
| open_ports | Yes | ||
| closed_count | Yes | ||
| scanned_ports | Yes | ||
| unknown_services | Yes | ||
| network_assessment | Yes |