
wsdiscovery
WS-Discovery protocol scanner for discovering and enumerating ONVIF cameras and IoT devices on the network. Use when you need to discover ONVIF devices, cameras, or WS-Discovery enabled equipment on a network.
- Installs
- 45
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/brownfinesecurity/iothackbot --skill wsdiscovery- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads wsdiscovery automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Wsdiscovery - WS-Discovery Protocol Scanner
You are helping the user discover and enumerate devices using the WS-Discovery protocol (commonly used by ONVIF cameras and IoT devices) using the wsdiscovery tool.
Tool Overview
Wsdiscovery implements the WS-Discovery protocol to discover network devices that support this standard. It's particularly useful for finding ONVIF cameras, network video recorders (NVRs), and other IoT devices that advertise themselves via WS-Discovery.
Instructions
When the user asks to discover ONVIF devices, find network cameras, or scan for WS-Discovery devices:
-
Understand the target:
- Ask for the target hostname or IP address
- Determine if they want verbose output (full XML responses)
- Decide on output format
-
Execute the scan:
- Use the wsdiscovery command from the iothackbot bin directory
- Basic usage:
wsdiscovery <hostname_or_ip> - For verbose output:
wsdiscovery <hostname_or_ip> -v - For JSON output:
wsdiscovery <hostname_or_ip> --format json
-
Output formats:
--format text(default): Human-readable colored output with device details--format json: Machine-readable JSON--format quiet: Minimal output
What It Discovers
The tool extracts and displays:
- IP addresses and ports
- Endpoint references (device UUIDs)
- Device types
- Manufacturer information
- Device names and models
- Hardware versions
- Serial numbers
- Firmware versions
- Location information
- Service endpoints (XAddrs) - URLs for device management
- Metadata versions
Examples
Discover devices on a specific host:
wsdiscovery 192.168.1.100
Discover with full XML responses:
wsdiscovery 192.168.1.100 -v
Output device information as JSON:
wsdiscovery 192.168.1.100 --format json
Scan network broadcast address to find all devices:
wsdiscovery 239.255.255.250
Important Notes
- WS-Discovery uses multicast/broadcast discovery
- Devices must support the WS-Discovery protocol to be found
- Common with ONVIF cameras, printers, and network media devices
- Service endpoints (XAddrs) can be used with onvifscan for further testing
- The tool parses ONVIF-specific scope information when available
FAQ
What does the wsdiscovery skill do?
WS-Discovery protocol scanner for discovering and enumerating ONVIF cameras and IoT devices on the network. Use when you need to discover ONVIF devices, cameras, or WS-Discovery enabled equipment on a network.
How do I install wsdiscovery?
Run npx skills add https://github.com/brownfinesecurity/iothackbot --skill wsdiscovery in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/wsdiscovery/ (personal) or .claude/skills/wsdiscovery/ (project).
Which AI agents can use wsdiscovery?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is wsdiscovery safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains wsdiscovery?
It is published by brownfinesecurity in brownfinesecurity/iothackbot. It has 45 recorded installs.
More from brownfinesecurity/iothackbot
apktool
brownfinesecurity/iothackbot
Android APK unpacking and resource extraction tool for reverse engineering. Use when you need to decode APK files, extract resources, examine AndroidManifest.xml, analyze smali code, or repackage modified APKs.
jadx
brownfinesecurity/iothackbot
Android APK decompiler that converts DEX bytecode to readable Java source code. Use when you need to decompile APK files, analyze app logic, search for vulnerabilities, find hardcoded credentials, or understand app behavior through readable source code.
telnetshell
brownfinesecurity/iothackbot
Use telnet to interact with IoT device shells for pentesting operations including device enumeration, vulnerability discovery, credential testing, and post-exploitation. Use when the user needs to interact with network-accessible shells, IoT devices, or telnet services.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.