Retour aux mises à jour
New releaseAug 20, 2026

whosthere v0.8.3

Outil de découverte de réseau local avec une interface utilisateur terminal (TUI) interactive écrite en Go. Découvrez, explorez et comprenez votre réseau local de manière intuitive. Toc Toc.. qui est là ? 🚪

Partager

Whosthere

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

Outil de découverte de réseau local (LAN) doté d'une interface utilisateur en terminal (TUI) interactive, écrit en Go. Découvrez, explorez et comprenez votre LAN de manière intuitive.

Whosthere effectue des analyses simultanées et sans privilèges à l'aide de scanners mDNS et SSDP. De plus, il balaie le sous-réseau local en tentant des connexions TCP/UDP pour déclencher la résolution ARP, puis lit le cache ARP afin d'identifier les appareils présents sur votre réseau local. Cette technique remplit le cache ARP sans nécessiter de privilèges élevés. Tous les appareils découverts sont enrichis grâce à des recherches OUI afin d'afficher les fabricants lorsqu'ils sont disponibles.

Whosthere offre un moyen simple et intuitif de répondre à la question que se pose tout administrateur réseau : « Qui est là sur mon réseau ? »

demo gif

Fonctionnalités

  • TUI interactive : Naviguez et explorez les appareils découverts de manière intuitive.
  • Rapide et simultané : Exploite plusieurs méthodes de découverte simultanément.
  • Aucun privilège élevé requis : Fonctionne entièrement en espace utilisateur.
  • Enrichissement des appareils : Utilise la recherche OUI pour afficher les fabricants des appareils.
  • Scanner de ports intégré : Découverte de services optionnelle sur les hôtes trouvés (ne scannez que les appareils pour lesquels vous avez l'autorisation !).
  • Mode démon avec API HTTP : Exécutez en arrière-plan et intégrez avec d'autres outils.
  • Thèmes et configuration : Personnalisez l'apparence et le comportement via un fichier de configuration YAML.

Installation

Via Homebrew avec brew :

brew install whosthere

Sur NixOS avec nix :

nix profile install nixpkgs#whosthere

Sur Arch Linux avec yay :

yay -S whosthere-bin

Si votre gestionnaire de paquets n'est pas listé, vous pouvez toujours installer avec Go :

go install github.com/ramonvermeulen/whosthere@latest

Ou compiler depuis les sources :

git clone https://github.com/ramonvermeulen/whosthere.git
cd whosthere
make build

De plus, vous pouvez télécharger des binaires précompilés depuis la page des versions.

Utilisation

Lancez la TUI pour une découverte interactive :

whosthere

Exécutez en CLI pour effectuer une seule analyse et afficher les résultats :

whosthere scan -t 5

Exportez les résultats vers un fichier JSON :

whosthere scan -t 5 --json --pretty > devices.json

Exécutez en mode démon avec l'API HTTP :

whosthere daemon --port=8080

Des options de ligne de commande supplémentaires sont disponibles en exécutant :

whosthere --help

Raccourcis clavier (TUI)

ToucheAction
/Démarrer la recherche par regex
kHaut
jBas
gAller en haut
GAller en bas
yCopier l'IP de l'appareil sélectionné
YCopier la MAC de l'appareil sélectionné
enterAfficher les détails de l'appareil
CTRL+tBasculer le sélecteur de thème
CTRL+iBasculer le sélecteur d'interface
CTRL+c/qArrêter l'application
ESCEffacer la recherche / Retour
p (vue détails)Démarrer le scan de ports sur l'appareil
tab (vue modale)Changer la sélection de bouton

Configuration

Whosthere prend en charge plusieurs méthodes de configuration avec la priorité suivante (de la plus élevée à la plus faible) :

  1. Options de ligne de commande - Priorité la plus élevée. Voir whosthere --help pour les options disponibles.
  2. Variables d'environnement - Préfixe WHOSTHERE__. Voir Configuration via les variables d'environnement.
  3. Fichier de configuration - Fichier de configuration YAML. Voir Fichier de configuration.
  4. Valeurs par défaut - Valeurs de repli par défaut. Voir DefaultConfig() dans config.go.

Fichier de configuration

Whosthere recherche le fichier de configuration dans l'ordre suivant, en utilisant le premier trouvé :

  1. Chemin spécifié via l'option --config ou la variable d'environnement WHOSTHERE_CONFIG
  2. $XDG_CONFIG_HOME/whosthere/config.yaml (si XDG_CONFIG_HOME est défini)
  3. ~/.config/whosthere/config.yaml (emplacement par défaut)

Exemple de configuration :

# Uncomment the next line to configure a specific network interface - uses OS default if not set
# network_interface: eth0

# When enabled, devices from all network interfaces are shown and persist when switching interfaces
# Note: if two interfaces share the same subnet (e.g. both use 192.168.1.x), devices may get merged
# since they are identified by IP address. Use with caution on overlapping subnets.
all_interfaces: false

# Optional IPv4 CIDR subnets to sweep. When set, the sweeper skips the auto-detected interface subnet unless it is listed here.
# target_subnets: ["10.0.0.0/24", "10.0.1.0/24"]

# WARNING: scanning subnets larger than /16 sends packets to 65535+ IPs per subnet. Enable only if you understand the traffic implications. Consider using smaller /24 subnets for targeted scanning.
# scan_large_subnets: false

# How often to run discovery scans
scan_interval: 20s

# Maximum timeout for each scan, recommended to be less than the scan interval
scan_timeout: 10s

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

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

port_scanner:
  timeout: 5s
  # List of TCP ports to scan on discovered devices
  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:
  # When disabled, the TUI will use the terminal it's default ANSI colors
  # Also see the NO_COLOR environment variable to completely disable ANSI colors
  enabled: true

Catégories