📦 Netmap — 本地网络扫描映射
v1.0.2扫描并映射本地网络上的所有设备。发现 IP、主机名、供应商和设备类型。追踪设备首次出现和最后在线时间。支持使用友好名称标记设备,支持按 IP、主机名、MAC 或类型搜索。适用于用户询问网络上有哪些设备、查找设备 IP、查看新设备或未知设备、诊断连接问题等场景。
运行时依赖
版本
维护版本,无面向用户的变更。未更新文档或功能集。
安装命令
点击复制技能文档
扫描本地网络并在 ~/.config/netmap/devices.json 维护持久的设备数据库。
依赖
- 必须安装
nmap:brew install nmap - 脚本:
scripts/netmap.py
命令
# 发现网络上的所有设备(快速,约 30-60 秒)
python3 scripts/netmap.py scan# 深度扫描——还对每个设备进行端口扫描以识别类型(较慢,约 2-3 分钟)
python3 scripts/netmap.py scan --deep
# 覆盖子网(默认自动检测)
python3 scripts/netmap.py scan --subnet 10.0.0.0/24
# 列出所有已知设备
python3 scripts/netmap.py list
python3 scripts/netmap.py list --times # 包含首次/最后在线时间
# 按 IP、主机名、MAC、供应商或设备类型查找设备
python3 scripts/netmap.py find printer
python3 scripts/netmap.py find 192.168.1.12
python3 scripts/netmap.py find Canon
# 使用友好名称标记设备
python3 scripts/netmap.py label 192.168.1.12 "Canon Printer"
python3 scripts/netmap.py label AA:BB:CC:DD:EE:FF "Kevin's iPhone"
# 显示最近 N 分钟内首次出现的设备
python3 scripts/netmap.py new --minutes 30
# 导出设备数据库为 JSON
python3 scripts/netmap.py export
# 持续监视模式(默认每 2 分钟扫描一次)
python3 scripts/netmap.py watch
python3 scripts/netmap.py watch --interval 60
注意事项
- MAC 地址和供应商信息需要使用
sudo运行(否则显示为空) - 深度扫描添加基于端口的设备指纹识别:识别打印机、NAS、SSH 服务器、Apple 设备等
- 设备数据库在扫描之间持久化——标签在重新扫描后保留
- 子网从机器的默认接口自动检测
- 首次运行
scan --deep填充设备类型,然后使用scan进行快速刷新