Network Scanner
Scan networks to discover devices, gather MAC addresses, vendors, and hostnames. Includes safety checks to prevent accidental scanning of public networks.
Scan networks to discover devices, gather MAC addresses, vendors, and hostnames. Includes safety checks to prevent accidental scanning of public networks.
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Discover and identify devices on local or remote networks using nmap. Gathers IP addresses, hostnames (via reverse DNS), MAC addresses, and vendor identification.
Safety First: Includes built-in protection against accidentally scanning public IP ranges or networks without proper private routing — preventing abuse reports from hosting providers.
nmap - Network scanning (apt install nmap or brew install nmap)dig - DNS lookups (usually pre-installed)sudo access recommended for MAC address discovery# Auto-detect and scan current network python3 scripts/scan.pyScan 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
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" } }, "blocklist": [ { "cidr": "10.99.0.0/24", "reason": "No private route from this host" } ] }
Then scan by name:
python3 scripts/scan.py home python3 scripts/scan.py office --json
The scanner includes multiple safety checks to prevent accidental abuse:
blocklist config array are always blockedTrusted networks (configured in
networks.json) skip route verification since you've explicitly approved them.
# Blocked - public IP range $ python3 scripts/scan.py 8.8.8.0/24 ❌ BLOCKED: Target 8.8.8.0/24 is a PUBLIC IP rangeBlocked - in blocklist
$ python3 scripts/scan.py 10.99.0.0/24 ❌ BLOCKED: 10.99.0.0/24 is blocklisted
Allowed - configured trusted network
$ python3 scripts/scan.py home ✓ Scanning 192.168.1.0/24...
# Create example config python3 scripts/scan.py --init-configList configured networks
python3 scripts/scan.py --list
Scan without sudo (may miss MAC addresses)
python3 scripts/scan.py home --no-sudo
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 }
sudo for accurate MAC address detection (nmap needs privileges for ARP)MAC_VENDORS in the script for better device identificationNo automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.