← ClaudeAtlas

profinet-anomaly-detectionlisted

Build and run Layer 2 PROFINET detection with a Zeek policy covering DCP Set commands, duplicate device names, ARP spoofing, cycle time disruption, and missing RT frames. Use when monitoring PROFINET controller and IO device traffic.
comradezephyr/ot-ics-agent-skills · ★ 0 · AI & Automation · score 76
Install: claude install-skill comradezephyr/ot-ics-agent-skills
## When to Use - Monitoring a PROFINET segment for device rename or IP reassignment attacks. - Hunting for duplicate device names or rogue IO devices on Layer 2. - Investigating cycle time disruption or missing RT frames reported as network glitches. - Detecting ARP spoofing between controllers and IO devices. ## Prerequisites - Zeek 5.x. Verify with `zeek --version`. - SPAN of the PROFINET VLAN. PROFINET RT and DCP are Layer 2. The span must carry full Ethernet frames, not just IP. - Device name and MAC inventory from `profinet-device-inventory`. - Packet capture of at least one full production cycle window for baseline statistics. - tshark 4.x for capture analysis. - Credentials: none. Layer 2 detection reads frames. - Authorization: network owner sign-off for policy deployment. - Upstream skills: `profinet-device-inventory` for the device name and MAC baseline. ### Safety This skill is passive by default. Active steps are gated in the Workflow section. - Passive. Deploys a Zeek policy and analyzes captures. Safe to run during normal operations. ## Workflow 1. Capture the baseline on the PROFINET VLAN: `sudo tshark -i <iface> -Y "pn_rt or pn_dcp" -w pn-baseline.pcapng -b filesize:1048576 -a duration:1800` 2. Extract the device name announcements and MACs: `tshark -r pn-baseline.pcapng -Y "pn_dcp && pn_dcp.service_id == 5" -T fields -e eth.src -e pn_dcp.device_name | sort -u > dcp-names.txt` DCP service ID 5 is Identify. Every legitimate device announces her