Repolode
ramonvermeulen

ramonvermeulen/whosthere

用 Go 编写的终端界面工具,无需管理员权限即可发现并浏览局域网内的设备。

可替代:Fing

Star
2,462
Fork
75
未关闭 Issue
6
最近提交
4天前

这是什么?

Whosthere 可以在终端交互界面中列出局域网内的所有设备并逐一查看。它结合 mDNS 与 SSDP 发现协议,并通过探测子网内的 TCP/UDP 连接触发 ARP 解析,再读取 ARP 缓存找到主机。发现的设备会根据 OUI 数据库显示厂商名称。

整个程序运行在用户态,无需 root 或管理员权限。它还提供可选的端口扫描、正则搜索,以及保存在本地数据库中的设备别名,别名支持以 YAML 文件批量导入和导出。

除了 TUI,它也能以命令行方式执行一次扫描并输出 JSON,或以守护进程运行,提供用于查询设备和健康检查的简单 HTTP API。配置可通过 YAML 文件、环境变量和命令行参数完成,支持 Linux、macOS 和 Windows。

核心功能

  • 01无需 root 权限,通过 mDNS、SSDP 和 ARP 缓存探测发现设备。
  • 02借助 OUI 查询显示设备厂商。
  • 03交互式 TUI,支持正则搜索、设备详情,以及复制 IP 或 MAC。
  • 04可对发现的主机进行可选的端口扫描。
  • 05守护进程模式提供设备查询和健康检查的 HTTP API。
  • 06支持 YAML、环境变量和命令行参数配置,并可切换主题。

适用场景

  • 查看家庭网络中连接了哪些设备。
  • 为未知设备设置别名,便于长期识别。
  • 编写脚本定期扫描并输出 JSON 供其他工具使用。
  • 以后台守护进程运行,将设备数据提供给仪表盘。

快速上手

  1. 1

    使用 Homebrew 安装

    brew install whosthere
  2. 2

    运行交互式终端界面

    whosthere

使用前须知

  • 未经许可扫描他人网络可能违法,请仅扫描你有权限的网络。

标签

常见问题

whosthere 是什么?
用 Go 编写的终端界面工具,无需管理员权限即可发现并浏览局域网内的设备。 Whosthere 可以在终端交互界面中列出局域网内的所有设备并逐一查看。它结合 mDNS 与 SSDP 发现协议,并通过探测子网内的 TCP/UDP 连接触发 ARP 解析,再读取 ARP 缓存找到主机。发现的设备会根据 OUI 数据库显示厂商名称。
whosthere 可以免费使用吗?用的什么许可证?
whosthere 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
whosthere 还在维护吗?
活跃维护中。whosthere 最近一次提交是在 2026年10月16日。
whosthere 适合用来做什么?
查看家庭网络中连接了哪些设备。 为未知设备设置别名,便于长期识别。 编写脚本定期扫描并输出 JSON 供其他工具使用。 以后台守护进程运行,将设备数据提供给仪表盘。
whosthere 怎么安装和运行?
使用 Homebrew 安装: brew install whosthere 运行交互式终端界面: whosthere
在哪里获取 whosthere?
源代码和安装说明在 GitHub 上:https://github.com/ramonvermeulen/whosthere

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目