Awesome-openclaw-skills network-scanner
Scan networks to discover devices, gather MAC addresses, vendors, and hostnames. Supports known networks (from config) or custom CIDRs.
install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/network-scanner" ~/.claude/skills/sundial-org-awesome-openclaw-skills-network-scanner && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/network-scanner" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-network-scanner && rm -rf "$T"
manifest:
skills/network-scanner/SKILL.mdsource content
Network Scanner
Discover and identify devices on local or remote networks using nmap. Gathers IP addresses, hostnames (via reverse DNS), MAC addresses, and vendor identification.
Requirements
- Network scanning (nmap
orapt install nmap
)brew install nmap
- DNS lookups (usually pre-installed)dig
access recommended for MAC address discoverysudo
Quick Start
# Auto-detect and scan current network python3 scripts/scan.py # Scan a specific CIDR python3 scripts/scan.py 192.168.1.0/24 # Scan with custom DNS server for reverse lookups python3 scripts/scan.py 192.168.1.0/24 --dns 192.168.1.1 # Output as JSON python3 scripts/scan.py --json
Configuration
Configure named networks in
~/.config/network-scanner/networks.json:
{ "networks": { "home": { "cidr": "192.168.1.0/24", "dns": "192.168.1.1", "description": "Home Network" }, "office": { "cidr": "10.0.0.0/24", "dns": "10.0.0.1", "description": "Office Network" } } }
Then scan by name:
python3 scripts/scan.py home python3 scripts/scan.py office --json
Commands
# Create example config python3 scripts/scan.py --init-config # List configured networks python3 scripts/scan.py --list # Scan without sudo (may miss MAC addresses) python3 scripts/scan.py home --no-sudo
Output Formats
Markdown (default):
### Home Network *Last scan: 2026-01-28 00:10* | IP | Name | MAC | Vendor | |----|------|-----|--------| | 192.168.1.1 | router.local | AA:BB:CC:DD:EE:FF | Ubiquiti | | 192.168.1.100 | nas.local | 11:22:33:44:55:66 | Synology | *2 devices found*
JSON (--json):
{ "network": "Home Network", "cidr": "192.168.1.0/24", "devices": [ { "ip": "192.168.1.1", "hostname": "router.local", "mac": "AA:BB:CC:DD:EE:FF", "vendor": "Ubiquiti" } ], "scanned_at": "2026-01-28T00:10:00", "device_count": 2 }
Use Cases
- Device inventory: Keep track of all devices on your network
- Security audits: Identify unknown devices
- Documentation: Generate network maps for documentation
- Automation: Integrate with home automation to detect device presence
Tips
- Use
for accurate MAC address detection (nmap needs privileges for ARP)sudo - Configure your local DNS server for better hostname resolution
- Add to cron or heartbeat for daily inventory updates
- Extend
in the script for better device identificationMAC_VENDORS