Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/ramonvermeulen/whosthere
侦察网络映射端口扫描信息收集实用工具与框架DNS 分析
GitHubramonvermeulen/whosthere

whosthere

用Go编写的局域网发现工具,具有交互式终端用户界面(TUI)。以直观的方式发现、探索和理解你的局域网。咚咚咚.. 谁在那儿?🚪

查看仓库
2.4k7241天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Whosthere

Go Report Card Go Version License GitHub Downloads (all assets, all releases) GitHub Release GitHub Repo stars

一个用 Go 编写的局域网发现工具,带有交互式终端用户界面 (TUI)。以直观的方式发现、探索和了解你的局域网。

Whosthere 通过 mDNS 和 SSDP 扫描器执行 无特权的并发扫描。此外,它还会扫描本地子网,尝试 TCP/UDP 连接以触发 ARP 解析,然后读取 ARP 缓存 来识别局域网内的设备。这种技术无需提升权限即可填充 ARP 缓存。所有发现的设备都会通过 OUI 查询进行增强,以显示制造商(如果可用)。

Whosthere 以友好、直观的方式回答了每个网络管理员都会问的问题:“我的网络上都有谁?”

演示动图

特性

  • 交互式 TUI: 直观地导航和探索已发现的设备。
  • 快速并发: 同时利用多种发现方法。
  • 无需提升权限: 完全在用户空间运行。
  • 设备信息增强: 使用 OUI 查询显示设备制造商。
  • 集成端口扫描器: 在发现的主机上可选进行服务发现(仅在获得许可的情况下扫描设备!)。
  • 守护进程模式与 HTTP API: 在后台运行并与其他工具集成。
  • 主题与配置: 通过 YAML 配置文件个性化外观和行为。

安装

通过 Homebrew 使用 brew:

root@kitploit:~
brew install whosthere

在 NixOS 上使用 nix:

root@kitploit:~
nix profile install nixpkgs#whosthere

在 Arch Linux 上使用 yay:

root@kitploit:~
yay -S whosthere-bin

如果你的包管理器未列出,你也可以通过 Go 安装:

root@kitploit:~
go install github.com/ramonvermeulen/whosthere@latest

或者 从源码构建:

root@kitploit:~
git clone https://github.com/ramonvermeulen/whosthere.git
cd whosthere
make build

此外,你可以从 发布页面 下载预构建的二进制文件。

使用

运行 TUI 进行交互式发现:

root@kitploit:~
whosthere

以 CLI 模式运行,执行单次扫描并输出结果:

root@kitploit:~
whosthere scan -t 5

将结果输出到 JSON 文件:

root@kitploit:~
whosthere scan -t 5 --json --pretty > devices.json

作为守护进程运行并启用 HTTP API:

root@kitploit:~
whosthere daemon --port=8080

更多命令行选项可通过运行以下命令查看:

root@kitploit:~
whosthere --help

快捷键 (TUI)

配置

Whosthere 支持多种配置方式,优先级如下(从高到低):

  1. 命令行标志 - 优先级最高。可用标志参见 whosthere --help。
  2. 环境变量 - 以 WHOSTHERE__ 为前缀。参见 通过环境变量配置。
  3. 配置文件 - YAML 配置文件。参见 配置文件。
  4. 默认值 - 回退默认值。参见 config.go 中的 DefaultConfig()。

配置文件

Whosthere 按照以下顺序查找配置文件,并使用第一个找到的:

  1. 通过 --config 标志或 WHOSTHERE_CONFIG 环境变量指定的路径
  2. $XDG_CONFIG_HOME/whosthere/config.yaml(如果设定了 XDG_CONFIG_HOME)
  3. ~/.config/whosthere/config.yaml(默认位置)

配置示例:

root@kitploit:~
# 取消下一行的注释以配置特定的网络接口 - 未设置则使用操作系统默认
# network_interface: eth0

# 启用后,所有网络接口的设备都将显示,并在切换接口时保持
# 注意:如果两个接口共享同一子网(例如都使用192.168.1.x),设备可能会合并
# 因为它们是按 IP 地址识别的。在重叠子网上请谨慎使用。
all_interfaces: false

# 每隔多久运行一次发现扫描
scan_interval: 20s

# 每次扫描的最大超时时间,建议小于扫描间隔
scan_timeout: 10s

scanners:
  mdns:
    enabled: true
  ssdp:
    enabled: true
  arp:
    enabled: true

sweeper:
  enabled: true
  interval: 5m
  timeout: 20s

port_scanner:
  timeout: 5s
  # 在发现的设备上扫描的 TCP 端口列表
  tcp: [21, 22, 23, 25, 80, 110, 135, 139, 143, 389, 443, 445, 993, 995, 1433, 1521, 3306, 3389, 5432, 5900, 8080, 8443, 9000, 9090, 9200, 9300, 10000, 27017]

splash:
  enabled: true
  delay: 1s

theme:
  # 禁用时,TUI 将使用终端的默认 ANSI 颜色
  # 另请参见 NO_COLOR 环境变量以完全禁用 ANSI 颜色
  enabled: true

  # 可用主题的完整列表见 https://github.com/ramonvermeulen/whosthere/tree/main/internal/ui/theme/theme.go
  # 将名称设置为 "custom" 以使用下面的自定义颜色
  # 对于未配置的任何颜色,将使用默认主题值作为回退
  name: default

  # 完全禁用 ANSI 颜色,覆盖 theme.enabled
  # 也可通过 NO_COLOR 或 WHOSTHERE__THEME__NO_COLOR 环境变量设置
  # no_color: false

  # 自定义主题颜色(取消注释并将 name: custom 设置为使用)
  # primitive_background_color: "#000a1a"
  # contrast_background_color: "#001a33"
  # more_contrast_background_color: "#003366"
  # border_color: "#0088ff"
  # title_color: "#00ffff"
  # graphics_color: "#00ffaa"
  # primary_text_color: "#cceeff"
  # secondary_text_color: "#6699ff"
  # tertiary_text_color: "#ffaa00"
  # inverse_text_color: "#000a1a"
  # contrast_secondary_text_color: "#88ddff"

环境变量

通用环境变量

通过环境变量配置

YAML 配置中的任何选项都可以通过以 WHOSTHERE__ 为前缀的环境变量设置(注意双下划线)。嵌套的配置键用双下划线分隔,键名不区分大小写。

示例:

  • WHOSTHERE__SPLASH__ENABLED=false - 禁用启动画面,相当于 YAML 配置中的 splash.enabled: false
  • WHOSTHERE__SPLASH__DELAY=2s - 将启动画面延迟设置为 2 秒,相当于 YAML 配置中的 splash.delay: 2s
  • WHOSTHERE__SCAN_INTERVAL=30s - 将扫描间隔设置为 30 秒,相当于 YAML 配置中的 scan_interval: 30s
  • WHOSTHERE__SCANNERS__MDNS__ENABLED=false - 禁用 mDNS 扫描器,相当于 YAML 配置中的 scanners.mdns.enabled: false
  • WHOSTHERE__PORT_SCANNER__TCP=80,443,8080 - 设置自定义扫描的 TCP 端口,相当于 YAML 配置中的 port_scanner.tcp: [80, 443, 8080]
  • WHOSTHERE__THEME__NAME=cyberpunk - 将主题设置为 cyberpunk,相当于 YAML 配置中的 theme.name: cyberpunk

守护进程模式 HTTP API

当 Whosthere 以守护进程模式运行时,会公开一个非常简单的 HTTP API,包含以下端点:

方法端点描述
GET/devices获取所有已发现设备的列表
GET/device/{ip}

主题

主题可以通过配置文件配置,也可以通过 CTRL+t 快捷键在运行时切换。可用主题的完整列表可在 这里 找到,欢迎提交 PR 添加你自己的主题!

主题配置示例:

root@kitploit:~
theme:
  enabled: true
  name: cyberpunk

当 name 设置为 custom 时,可以使用其他颜色选项创建自己的自定义主题。 当 enabled 选项设置为 false 时,TUI 将使用终端的默认 ANSI 颜色。 当设置了 NO_COLOR 环境变量时,所有 ANSI 颜色将被禁用。

日志

日志写入应用程序的状态目录:

  • $XDG_STATE_HOME/whosthere/app.log(如果设定了 XDG_STATE_HOME)
  • ~/.local/state/whosthere/app.log(Linux/MacOS 回退)
  • %LOCALAPPDATA%/whosthere/app.log(Windows 回退)

当不在 TUI 模式下运行时,日志也会输出到控制台。

支持平台

Whosthere 支持以下平台:

  • Linux
  • macOS
  • Windows

已知问题

要使剪贴板功能正常工作,需要使用 go-clipboard 的分支。 请确保为你的操作系统安装了相应的复制工具:

操作系统支持的复制工具
Darwinpbcopy
Windowsclip.exe

免责声明

Whosthere 旨在用于你有权限进行网络发现和扫描的网络,例如你自己的家庭网络。未经授权扫描网络可能是非法且不道德的。在使用此工具之前,请务必获得适当授权。

此工具主要出于教育目的和家庭网络探索而创建。虽然实用,但不应将其视为专业级的网络监控解决方案。结果基于无特权扫描技术,可能不全面。对于关键网络分析或安全评估,请考虑使用有正式支持的专业工具。

贡献

欢迎提出贡献和建议,例如功能请求、错误报告或改进!请随时在 GitHub 仓库上提交 Issue 或 Pull Request。在实现重大更改之前,请务必通过 GitHub Issue 进行讨论。

下载工具
whosthere — 用Go编写的局域网发现工具,具有交互式终端用户界面(TUI)。以直观的方式发现、探索和理解你的局域网。咚咚咚.. 谁在那儿?🚪 | Kitploit
按键操作
/开始正则搜索
k向上
j向下
g回到顶部
G回到底部
y复制选中设备的 IP
Y复制选中设备的 MAC
enter显示设备详情
CTRL+t切换主题选择器
CTRL+i切换网络接口选择器
CTRL+c / q停止程序
ESC清除搜索 / 返回
p (详情视图)在设备上启动端口扫描
tab (模态视图)切换按钮选择
变量描述
WHOSTHERE_CONFIG配置文件的路径,用于覆盖默认位置。
WHOSTHERE_LOG设置日志级别(例如 debug、info、warn、error)。默认值为 info。
NO_COLOR在 TUI 中禁用 ANSI 颜色。
获取特定设备的详细信息
GET/health健康检查
Linux/FreeBSD/NetBSD/OpenBSD/DragonflyX11: xsel, xclip
Wayland: wl-copy