首页龙虾技能列表 › Network Scanner — 网络扫描器

Network Scanner — 网络扫描器

v1.1.0

扫描网络以发现设备,收集 MAC 地址、供应商和主机名。包含安全检查以防止意外扫描公共网络。

0· 4,100·0 当前·0 累计
by @florianbeer·MIT-0
下载技能包
License
MIT-0
最后更新
2026/2/1
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
可疑
medium confidence
该技能基本符合其声明的目的(网络扫描),但存在一些连贯性和安全问题,特别是缺少必要的系统二进制声明和可能允许命令注入的 shell 命令构造。
评估建议
该技能似乎实现了一个局部网络扫描器,与其描述一致,但在安装或授予运行权限之前,请考虑以下几点:- 缺少二进制声明:SKILL.md 只列出了 nmap 和 dig 作为必需的,但脚本调用了 ip、grep、awk、head 并使用了 sudo — 确保这些工具存在于您的系统中并且是预期的。- 命令构造风险:脚本使用 f-strings 构建 shell 命令并使用 subprocess.run(shell=True)。如果您或代理传递了不受信任或特殊制作的网络名称/CIDR(例如通过配置文件或 CLI),这可能会被滥用来执行 shell 命令。这是一个编码级别的风险 — 如果您无法审查脚本,请审计脚本或在受限环境中运行它。- sudo:为了准确发现 MAC 地址,脚本推荐使用 sudo。仅在您信任代码并了解其影响时才运行具有提升的权限。- 法律/伦理:即使有安全检查,扫描您不拥有的网络或没有权限扫描的网络可能会违反服务条款或法律。脚本有阻止检查,但您应该亲自确认您正在扫描授权的私有网络。如果您决定继续:(1)自己审查完整的 scripts/scan.py 内容,(2)将缺失的必需二进制...
详细分析 ▾
用途与能力
名称/描述与所需工具(nmap、dig)一致,包含的 scan.py 实现了声明的功能(ARP/名称/供应商发现)。然而,SKILL 元数据和 README 只声明 nmap 和 dig 为必需的二进制文件,而脚本依赖于额外的系统实用程序(ip、grep、awk、head)—— 这个不匹配是可能导致目标系统上发生故障或意外行为的不连贯性。
指令范围
SKILL.md 指示代理运行包含的脚本并使用本地配置文件 ~/.config/network-scanner/networks.json;脚本仅读取/写入该配置并执行本地网络发现。它不尝试将扫描结果传输到远程端点。动作范围(运行 nmap、dig、读取配置)与声明的目的一致。
安装机制
无安装规格(仅指令)—— 技能本身没有下载或安装任何内容。这样可以最小化供应链风险。唯一的风险是运行时:它预期系统工具已经存在(nmap、dig、ip、grep、awk)。
凭证需求
该技能不请求环境变量或凭证,仅使用本地文件和系统二进制。这与局部网络扫描器的比例相符。
持久化与权限
always 为 false,技能不请求持久的系统范围更改。它推荐使用 sudo 进行 ARP/MAC 发现(对于 nmap 是正常的)。没有迹象表明技能修改其他技能或代理范围的配置。
安装前注意事项
  1. 自己审查完整的 scripts/scan.py 内容
  2. 将缺失的必需二进制添加到文档中
  3. 考虑加固 run_cmd 以避免 shell=True 或清理输入
  4. 在您对其行为感到舒适之前,仅在本地运行该工具(而不是使用代理自主权)
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.1.02026/2/1
● 可疑

安装命令 点击复制

官方npx clawhub@latest install network-scanner
镜像加速npx clawhub@latest install network-scanner --registry https://cn.clawhub-mirror.com

技能文档

使用 nmap 发现并识别本地或远程网络上的设备。收集 IP 地址、主机名(通过反向 DNS)、MAC 地址和厂商识别信息。

安全优先: 内置保护机制,防止意外扫描公共 IP 范围或没有正确私有路由的网络 — 防止来自托管服务商的滥用报告。

依赖要求

  • nmap - 网络扫描(apt install nmapbrew 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": "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"
    }
  ]
}

然后按名称扫描:

python3 scripts/scan.py home
python3 scripts/scan.py office --json

安全特性

扫描器包含多项安全检查以防止意外滥用:

  • 黑名单blocklist 配置数组中的网络始终被阻止
  • 公共 IP 检查 — 扫描公共(非 RFC1918)IP 范围会被阻止
  • 路由验证 — 对于临时 CIDR,验证路由使用私有网关

可信网络(在 networks.json 中配置)会跳过路由验证,因为您已明确批准它们。

# 被阻止 - 公共 IP 范围
$ python3 scripts/scan.py 8.8.8.0/24
❌ BLOCKED: Target 8.8.8.0/24 is a PUBLIC IP range

# 被阻止 - 在黑名单中 $ python3 scripts/scan.py 10.99.0.0/24 ❌ BLOCKED: 10.99.0.0/24 is blocklisted

# 允许 - 已配置的可信网络 $ python3 scripts/scan.py home ✓ Scanning 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(默认):

### Home Network
Last scan: 2026-01-28 00:10

IPNameMACVendor
192.168.1.1router.localAA:BB:CC:DD:EE:FFUbiquiti
192.168.1.100nas.local11:22:33:44:55:66Synology
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 以获得准确的 MAC 地址检测(nmap 需要权限才能进行 ARP 扫描)
  • 配置本地 DNS 服务器以获得更好的主机名解析
  • 将已配置的网络添加到可信列表,以跳过每次扫描时的路由验证
  • 将无法私有访问的网络添加到黑名单以防止意外扫描
  • 在脚本中扩展 MAC_VENDORS 以获得更好的设备识别
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务