whosthere is a LAN discovery tool with a modern TUI. It discovers devices on your network using mDNS, SSDP, and ARP scanning—all without requiring root privileges.

Installation

Arch Linux (via AUR):

yay -S whosthere-bin

Homebrew:

brew install whosthere

Go:

go install github.com/ramonvermeulen/whosthere@latest

Usage

Interactive TUI

whosthere

Navigate with arrow keys or vim bindings:

  • j/k - Move up/down
  • Enter - Select/expand
  • q - Quit
  • r - Refresh scan
  • p - Port scan selected device

Daemon Mode

Run as a background service with HTTP API:

whosthere daemon

Query via API:

curl http://localhost:8080/devices

CLI Output

# JSON output
whosthere --json
 
# One-shot scan (no TUI)
whosthere --once

Features

  • mDNS discovery - Finds devices advertising services
  • SSDP scanning - Discovers UPnP devices
  • ARP cache reading - Catches everything else
  • OUI lookup - Shows manufacturer from MAC address
  • Port scanning - Optional service discovery on found hosts

Configuration

~/.config/whosthere/config.yaml:

# Theme customization
theme:
  primary: "#7aa2f7"
  secondary: "#bb9af7"
  
# Scan settings
scan:
  timeout: 5s
  ports: [22, 80, 443, 8080]
  
# Daemon settings  
daemon:
  port: 8080
  refresh_interval: 60s

Tips

  • No root required—uses unprivileged scanning techniques
  • Port scanning requires explicit action; only scan devices you own
  • Great for finding that Raspberry Pi you forgot the IP of
  • Combine with --json for scripting and automation

See Also