Skip to content
Skillpedia
Security35k · #5927

implementing-ot-network-traffic-analysis-with-nozomi

Makes your agent monitor industrial networks to detect abnormal behaviors and threats without interrupting operations.

What it does

This tool helps monitor industrial networks (like those in factories) without disrupting their operations. It identifies equipment, detects unusual behaviors, and shows which communication protocols are being used.

When to use it

  • ✓When deploying an industrial network monitoring system.
  • ✓When configuring sensors to observe network traffic.
  • ✓When building a system to detect real-time threats in industrial environments.

Example of what to ask your AI

“What devices are connected to the industrial network and what security alerts have been generated?”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-ot-network-traffic-analysis-with-nozomi/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-ot-network-traffic-analysis-with-nozomi/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool connects to Nozomi Guardian sensors that 'listen' to network traffic. It collects information about devices, communications, and security alerts to provide an overview of the network.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-ot-network-traffic-analysis-with-nozomi

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-ot-network-traffic-analysis-with-nozomi/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Implementing OT Network Traffic Analysis with Nozomi

When to Use

  • When deploying passive OT network monitoring using Nozomi Networks Guardian sensors
  • When requiring asset visibility without active scanning in sensitive ICS environments
  • When building a Nozomi-based OT SOC with centralized management via Vantage or CMC
  • When integrating OT network monitoring with Fortinet, Splunk, or ServiceNow ecosystems
  • When monitoring compliance with IEC 62443 network segmentation policies

Do not use for active vulnerability scanning of OT devices (see performing-ot-vulnerability-scanning-safely), for environments standardized on Dragos (see implementing-dragos-platform-for-ot-monitoring), or for IT-only network monitoring.

Prerequisites

  • Nozomi Networks Guardian sensor (hardware, VM, or container)
  • Network TAP or SPAN port configured on monitored OT network segments
  • Nozomi Vantage (cloud) or Central Management Console for multi-sensor management
  • Nozomi Threat Intelligence subscription for updated detection signatures
  • Network architecture documentation for sensor placement planning

Workflow

Step 1: Deploy Guardian Sensors for Passive Monitoring

#!/usr/bin/env python3
"""Nozomi Guardian Deployment Manager and Alert Analyzer.

Manages Nozomi Guardian sensor deployment validation, asset inventory
extraction, and threat alert analysis for OT environments.
"""

import json
import sys
from collections import defaultdict
from datetime import datetime
from typing import Dict, List, Optional

try:
    import requests
except ImportError:
    print("Install requests: pip install requests")
    sys.exit(1)


class NozomiGuardianManager:
    """Manages Nozomi Networks Guardian for OT monitoring."""

    def __init__(self, guardian_url: str, api_token: str, verify_ssl: bool = False):
        self.guardian_url = guardian_url.rstrip("/")
        self.session = requests.Session()
        self.session.headers.update({
            "Authorization": f"Bearer {api_token}",
            "Content-Type": "application/json",
        })
        self.session.verify = verify_ssl

    def get_nodes(self, node_type: Optional[str] = None) -> List[Dict]:
        """Retrieve discovered network nodes (assets)."""
        params = {}
        if node_type:
            params["type"] = node_type
        resp = self.session.get(f"{self.guardian_url}/api/v1/nodes", params=params)
        resp.raise_for_status()
        return resp.json().get("result", [])

    def get_alerts(self, severity: str = "high", limit: int = 100) -> List[Dict]:
        """Retrieve security alerts."""
        params = {"severity": severity, "limit": limit, "status": "open"}
        resp = self.session.get(f"{self.guardian_url}/api/v1/alerts", params=params)
        resp.raise_for_status()
        return resp.json().get("result", [])

    def get_links(self) -> List[Dict]:
        """Retrieve communication links between nodes."""
        resp = self.session.get(f"{self.guardian_url}/api/v1/links")
        resp.raise_for_status()
        return resp.json().get("result", [])

    def get_vulnerabilities(self) -> List[Dict]:
        """Retrieve detected vulnerabilities."""
        resp = self.session.get(f"{self.guardian_url}/api/v1/vulnerabilities")
        resp.raise_for_status()
        return resp.json().get("result", [])

    def validate_deployment(self):
        """Validate Guardian sensor deployment and coverage."""
        print(f"\n{'='*65}")
        print("NOZOMI GUARDIAN DEPLOYMENT VALIDATION")
        print(f"{'='*65}")
        print(f"Guardian URL: {self.guardian_url}")
        print(f"Validation Time: {datetime.now().isoformat()}")

        # Check system status
        try:
            resp = self.session.get(f"{self.guardian_url}/api/v1/system/status")
            if resp.status_code == 200:
                status = resp.json()
                print(f"\n--- SYSTEM STATUS ---")
                print(f"  Version: {status.get('version', 'N/A')}")
                print(f"  Uptime: {status.get('uptime', 'N/A')}")
                print(f"  Packets Processed: {status.get('packets_processed', 'N/A')}")
                print(f"  Threat Intelligence: {status.get('threat_intelligence_version', 'N/A')}")
        except requests.RequestException as e:
            print(f"  [!] System status unavailable: {e}")

        # Asset discovery summary
        nodes = self.get_nodes()
        print(f"\n--- ASSET DISCOVERY ---")

…
FAQ

What is 'OT'?

OT stands for 'Operational Technology', which refers to the hardware and software systems that control or monitor industrial processes, such as manufacturing, energy, and water.

What are 'Guardian sensors'?

These are devices from Nozomi Networks that passively monitor industrial network traffic to gather information and detect threats without interfering with operations.

What does 'passive monitoring' mean?

It means the system only observes existing network traffic without sending packets or querying devices. This is important in sensitive industrial networks to avoid disruptions.

Details

Original description by the author

Deploy Nozomi Networks Guardian sensors for passive OT network traffic analysis, providing asset visibility, behavioral anomaly detection, protocol-aware monitoring, and vulnerability assessment across industrial control systems without disrupting operations. Use when deploying OT/ICS network monitoring, configuring Guardian sensors, or building real-time threat detection for SCADA and industrial

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#5927
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills