6.3 KiB
title: WatchYourLAN created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, monitoring, reseau, scanner, ip, go, beginner, homelab] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/aceberg/WatchYourLAN]
📊 WatchYourLAN
Le scanner réseau léger avec web GUI : détecte qui est connecté sur votre LAN en temps réel. Idéal pour le homelab : voir les IPs, MAC, et hosts présents, même ceux qui n'apparaissent pas dans votre box.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | (GitHub) |
| GitHub | aceberg/WatchYourLAN |
| License | MIT |
| Langage | Go |
| Étoiles GitHub | 7 025 ⭐ |
| Dernière MAJ | 2026-06-06 |
| Catégorie | [[cat-monitoring |
📝 Description
WatchYourLAN n'est pas un outil de monitoring de services classique : c'est un scanner réseau ARP qui vous dit quelles machines sont actuellement connectées à votre réseau local. Là où votre box internet ne montre que les baux DHCP actifs, WatchYourLAN scanne en continu les tables ARP et vous présente l'historique des connexions : qui s'est connecté, quand, avec quelle IP et quelle MAC.
C'est l'outil parfait pour les homelabeurs qui veulent savoir :
- Quels appareils sont actuellement sur le réseau (IoT, invités, intrus potentiels)
- Quelles IPs ont été attribuées à quelles machines
- Détecter un appareil inconnu (nouvelle MAC, nouvelle IP)
- Surveiller la présence d'un serveur (est-ce qu'il reboote tout seul ?)
L'interface est volontairement minimaliste : une page web qui liste les hosts connus et inconnus, avec date de dernière vue et bouton « alertes ».
- ✅ Scan ARP en continu : intervalle configurable (1 min par défaut)
- ✅ Détection IP + MAC : table des hôtes actifs
- ✅ Historique : qui était connecté quand (last seen, first seen)
- ✅ Détection de nouveaux hôtes : alerte quand un appareil inconnu apparaît
- ✅ Notifications : Telegram, Gotify, Ntfy, Slack, Discord, Email, Webhook
- ✅ Web UI simple : page HTML statique, lookup en JS
- ✅ Pas de base de données : stockage fichier plat (JSON)
- ✅ Binaire Go statique : ARM64, ARMv7, x86_64 — tourne sur Raspberry Pi
- ✅ Docker multi-arch
- ✅ Config via fichier (YAML) ou variables d'environnement
Public cible : homelabeurs et admins réseau qui veulent voir qui est sur le LAN sans configurer un Nagios ou un NetBox complet. Si vous voulez scanner des sous-réseaux distants ou faire du port scanning, c'est pas le bon outil : partez sur app-zabbix ou des outils type nmap.
🚀 Installation
Option 1 : Docker Compose
# docker-compose.yml
version: '3.8'
services:
watchyourlan:
image: aceberg/watchyourlan:latest
container_name: watchyourlan
restart: unless-stopped
# network_mode: host est RECOMMANDÉ pour le scan ARP
network_mode: host
environment:
- IFACE=eth0
- TZ=Europe/Paris
- NOTIF_TG_CHATID=...
- NOTIF_TG_TOKEN=...
- GUI=YES
volumes:
- wyl-config:/config
volumes:
wyl-config:
⚠️ Le mode
network_mode: hostest indispensable : le scan ARP se fait via raw sockets, ce qui ne fonctionne pas avec le bridge Docker. Sur Synology/QNAP, prévoir un lancement direct du binaire.
Option 2 : Binaire natif (Raspberry Pi, routeur, etc.)
wget https://github.com/aceberg/WatchYourLAN/releases/latest/download/watchyourlan_0.7.0_Linux_arm64.tar.gz
tar xzf watchyourlan_*.tar.gz
cd WatchYourLAN
./watchyourlan -if eth0 -g
⚙️ Configuration Initiale
- Identifier l'interface réseau à scanner (
ip apour la trouver) - Lancer WatchYourLAN avec l'option
-if eth0(ouIFACE=eth0en env) - Accéder à l'UI :
http://IP-DE-VOTRE-HOST:8847 - Visiter l'UI pour voir la liste des hosts détectés
- Configurer les notifications : copier
config/gotify.envet adapter - Tester le scan : redémarrer un appareil du LAN et vérifier qu'il est marqué « up »
🔄 Alternatives
Open Source
- arpwatch — Le grand-père, CLI, log mail uniquement
- NetBox — IPAM complet (beaucoup plus lourd, source de vérité)
- Pi.Alert (fork de WatchYourLAN enrichi) — Plus de features
- NetAlertX — Plus avancé (notifications multiples, web UI plus riche)
- Nmap + script — Pour du scan ponctuel, pas continu
Comparaison WatchYourLAN vs autres
| Critère | WatchYourLAN | arpwatch | NetBox | Pi.Alert |
|---|---|---|---|---|
| Self-hosted | ✅ | ✅ | ✅ | ✅ |
| Web UI | ✅ | ❌ | ✅✅ | ✅ |
| Historique | ✅ | ✅ | ✅ | ✅✅ |
| Alertes | ✅ | ❌ | ✅✅ | |
| Setup | 5 min | 10 min | 30 min | 5 min |
| Empreinte | ~10 Mo | < 1 Mo | 1 Go+ | ~50 Mo |
| IPAM | ❌ | ❌ | ✅✅ | ⚠️ |
| Binaire Go | ✅ | ❌ (C) | ❌ (Python) | ❌ (Python) |
Verdict : pour un simple « qui est sur mon réseau » avec un binaire Go qui tourne sur n'importe quoi, WatchYourLAN est imbattable. Pour de l'IPAM professionnel ou de l'inventaire complet, passez sur NetBox.
Propriétaires (ce que WatchYourLAN remplace)
- Fing (mobile, freemium) — Le même usage en app mobile
- NetSpot (Windows) — Scanner Wi-Fi commercial
- Solarwinds IPAM (enterprise, $$$)
- PRTG Network Monitor (freemium)
🔐 Sécurité
- Pas d'auth par défaut : à protéger par un reverse proxy (app-traefik) ou un tunnel SSH
- HTTPS recommandé via app-traefik
- Web UI statique : pas de session, pas de cookie
- Notifications : tokens stockés en variables d'environnement (volatiles par défaut)
- Scan ARP : passif, ne génère pas de trafic intrusif sur le réseau
📚 Ressources
Pages Liées
- cat-monitoring — Catégorie Monitoring
- app-netalertx — Alternative plus riche (Python)
- app-zabbix — Monitoring réseau pro
- app-traefik — Reverse proxy HTTPS
- observabilite — Concept d'observabilité
- checklist-monitoring-minimal — Checklist de démarrage