151 lines
6.3 KiB
Markdown
151 lines
6.3 KiB
Markdown
---
|
|
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](https://github.com/aceberg/WatchYourLAN) |
|
|
| **License** | MIT |
|
|
| **Langage** | Go |
|
|
| **Étoiles GitHub** | 7 025 ⭐ |
|
|
| **Dernière MAJ** | 2026-06-06 |
|
|
| **Catégorie** | [[cat-monitoring|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
|
|
|
|
```yaml
|
|
# 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: host` est 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.)
|
|
|
|
```bash
|
|
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
|
|
|
|
1. **Identifier l'interface réseau** à scanner (`ip a` pour la trouver)
|
|
2. **Lancer WatchYourLAN** avec l'option `-if eth0` (ou `IFACE=eth0` en env)
|
|
3. **Accéder à l'UI** : `http://IP-DE-VOTRE-HOST:8847`
|
|
4. **Visiter l'UI** pour voir la liste des hosts détectés
|
|
5. **Configurer les notifications** : copier `config/gotify.env` et adapter
|
|
6. **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 | ✅ | ⚠️ mail | ❌ | ✅✅ |
|
|
| 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
|
|
|
|
- [GitHub aceberg/WatchYourLAN](https://github.com/aceberg/WatchYourLAN)
|
|
- [Wiki / FAQ](https://github.com/aceberg/WatchYourLAN/wiki)
|
|
- [Releases multi-arch](https://github.com/aceberg/WatchYourLAN/releases)
|
|
|
|
## 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
|