名称: network-scanner
描述: 扫描网络以发现设备、收集MAC地址、厂商信息和主机名。包含安全检查,防止意外扫描公共网络。
主页: https://clawhub.com/skills/network-scanner
元数据:
openclaw:
emoji: "🔍"
requires:
bins: ["nmap", "dig"]
tags:
- network
- discovery
- devices
- nmap
- security
使用 nmap 发现和识别本地或远程网络上的设备。收集 IP 地址、主机名(通过反向 DNS 查询)、MAC 地址和厂商信息。
安全第一: 内置保护机制,防止意外扫描公共 IP 地址段或没有私有路由的网络,避免因误操作导致主机服务商发出滥用报告。
nmap - 网络扫描工具 (apt install nmap 或 brew install nmap)dig - DNS 查询工具(通常已预装)sudo 权限以获取 MAC 地址# 自动检测并扫描当前网络
python3 scripts/scan.py
# 扫描指定的 CIDR 地址段
python3 scripts/scan.py 192.168.1.0/24
# 使用自定义 DNS 服务器进行反向查询
python3 scripts/scan.py 192.168.1.0/24 --dns 192.168.1.1
# 以 JSON 格式输出结果
python3 scripts/scan.py --json
在 ~/.config/network-scanner/networks.json 中配置命名网络:
{
"networks": {
"home": {
"cidr": "192.168.1.0/24",
"dns": "192.168.1.1",
"description": "家庭网络"
},
"office": {
"cidr": "10.0.0.0/24",
"dns": "10.0.0.1",
"description": "办公网络"
}
},
"blocklist": [
{
"cidr": "10.99.0.0/24",
"reason": "此主机无私有路由可达"
}
]
}
然后通过名称进行扫描:
python3 scripts/scan.py home
python3 scripts/scan.py office --json
扫描器包含多重安全检查,防止意外滥用:
blocklist 数组中的网络始终被阻止扫描受信任网络(在 networks.json 中配置)会跳过路由验证,因为你已明确批准它们。
# 被阻止 - 公共 IP 地址段
$ python3 scripts/scan.py 8.8.8.0/24
❌ 已阻止:目标 8.8.8.0/24 是公共 IP 地址段
# 被阻止 - 在阻止列表中
$ python3 scripts/scan.py 10.99.0.0/24
❌ 已阻止:10.99.0.0/24 在阻止列表中
# 允许 - 已配置的受信任网络
$ python3 scripts/scan.py home
✓ 正在扫描 192.168.1.0/24...
# 创建示例配置文件
python3 scripts/scan.py --init-config
# 列出已配置的网络
python3 scripts/scan.py --list
# 不使用 sudo 进行扫描(可能无法获取 MAC 地址)
python3 scripts/scan.py home --no-sudo
Markdown(默认):
### 家庭网络
*最近扫描时间:2026-01-28 00:10*
| IP | 主机名 | MAC | 厂商 |
|----|------|-----|--------|
| 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 台设备*
JSON (--json):
{
"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 以获取准确的 MAC 地址(nmap 需要权限进行 ARP 查询)MAC_VENDORS 字典以提升设备识别准确度