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-binHomebrew:
brew install whosthereGo:
go install github.com/ramonvermeulen/whosthere@latestUsage
Interactive TUI
whosthereNavigate with arrow keys or vim bindings:
j/k- Move up/downEnter- Select/expandq- Quitr- Refresh scanp- Port scan selected device
Daemon Mode
Run as a background service with HTTP API:
whosthere daemonQuery via API:
curl http://localhost:8080/devicesCLI Output
# JSON output
whosthere --json
# One-shot scan (no TUI)
whosthere --onceFeatures
- 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: 60sTips
- 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
--jsonfor scripting and automation