>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Go

Come tenere sotto controllo i dispositivi della rete locale con WatchYourLAN

Scenario familiare: configuri un nuovo computer a scheda singola o colleghi una spina intelligente, poi apri l'interfaccia web del router e cerchi di indovinare quale indirizzo IP è stato assegnato al dispositivo. La maggior parte dei pannelli di amministrazione dei router domestici aggiorna le proprie liste di connessione con riluttanza, e di solito non c'è affatto cronologia.

Alla ricerca di una soluzione semplice, mi sono imbattuto in WatchYourLAN. È un piccolo scanner di rete con interfaccia web, scritto in Go. Gira in background, esegue la scansione della rete locale usando ARP e ti avvisa immediatamente quando appare un host sconosciuto.

WatchYourLAN interface

Cosa può fare l'utilità

WatchYourLAN risolve un compito base ma fastidioso: mantiene una mappa aggiornata della tua rete locale davanti ai tuoi occhi.

Ecco cosa c'è dentro:

  • Notifiche tramite Shoutrrr. L'utilità supporta Telegram, Discord, Gotify, Slack, Matrix, email e webhook normali.
  • Cronologia delle attività. Lo scanner ricorda quando un dispositivo è apparso nella rete e quando è andato offline.
  • Esportazione delle metriche. I dati possono essere inviati a Prometheus tramite /metrics o trasmessi direttamente a InfluxDB2 per creare dashboard in Grafana.
  • Selezione del database. SQLite viene utilizzato per impostazione predefinita, ma se lo si desidera, i dati possono essere migrati a PostgreSQL.

Il progetto funziona velocemente poiché è scritto in Go, e l'immagine del container è molto leggera.

Lancio e sfumature di configurazione

Il servizio viene distribuito con un singolo comando Docker. Il requisito principale è eseguire il container con la modalità di rete host, altrimenti arp-scan non vedrà le interfacce del sistema host.

docker run --name wyl \
	-e "IFACES=eth0" \
	-e "TZ=Europe/Moscow" \
	--network="host" \
	-v /var/lib/wyl:/data/WatchYourLAN \
    aceberg/watchyourlan

Dopo l'avvio, l'interfaccia web è disponibile su http://localhost:8840.

Ci sono due cose da tenere a mente durante la configurazione. Primo, WatchYourLAN non ha un modulo di accesso integrato. Se prevedi di esporre il dashboard esternamente, chiudilo con un reverse proxy con autenticazione come Authelia o Nginx. Secondo, l'applicazione recupera i temi e i font da CDN per impostazione predefinita. Per le reti completamente isolate, l'autore ha preparato un container separato node-bootstrap, dove l'interfaccia funziona senza accesso a internet.

A chi potrebbe essere utile

Lo strumento si adatta perfettamente in un lab domestico o in una piccola rete d'ufficio. Se colleghi frequentemente nuovo hardware, esegui il debug di microcontrollori, o vuoi sapere quando i dispositivi domestici si connettono al Wi-Fi, WatchYourLAN soddisferà questa esigenza senza complessità inutile.

Progetti correlati