network-scanner

v2026.09.24

Scan networks to discover devices, gather MAC addresses, vendors, and hostnames. Supports known networks (from config) or custom CIDRs.

GitHub
Install command
npx skhub add sundial-org/network-scanner
Markdown
SKILL.md

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

  • nmap - Network scanning (apt install nmap or brew install nmap)
  • dig - DNS lookups (usually pre-installed)
  • sudo access recommended for MAC address discovery

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 sudo for accurate MAC address detection (nmap needs privileges for ARP)
  • Configure your local DNS server for better hostname resolution
  • Add to cron or heartbeat for daily inventory updates
  • Extend MAC_VENDORS in the script for better device identification
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

Not specified

Source path

skills/network-scanner

Default branch

main

Latest commit

b80cde2

Tree SHA

fc3a971