In ogni rete locale, anche la più piccola, esiste sempre una zona grigia fatta di dispositivi che comunicano in silenzio. Macchine virtuali dimenticate, container avviati automaticamente, smart device che parlano solo quando interrogati, oppure host temporanei che compaiono e scompaiono senza lasciare traccia evidente. Per chi amministra una LAN, questa mancanza di visibilità non è solo una seccatura: è un problema operativo e, in alcuni casi, di sicurezza. Whosthere è un software open source (con licenza Apache 2.0) che nasce come risposta a una domanda apparentemente banale, ma centrale per chiunque gestisca una rete locale: chi c’è davvero sulla mia LAN, in questo momento? La forza del progetto non sta solo nel “trovare dispositivi” collegati, ma nel farlo in modo rapido, leggibile e utilizzabile, senza obbligare l’utente a scendere a compromessi tra potenza, sicurezza e semplicità operativa.
Gli strumenti tradizionali per la scansione di rete (network scanner) tendono di solito a collocarsi agli antipodi. Da un lato ci sono utilità potenti ma invasive, spesso pensate per contesti offensivi o di auditing avanzato; dall’altro soluzioni minimali che restituiscono elenchi poco leggibili e difficili da interpretare nel lavoro quotidiano. In mezzo c’è uno spazio ancora poco esplorato: è proprio qui che si colloca Whosthere, come uno strumento che aiuta a osservare la rete in tempo reale, senza privilegi elevati e con un’interfaccia ben strutturata.
Scansione rete senza privilegi con Whosthere
“Whosthere” (repository GitHub) è una contrazione colloquiale inglese di “Who’s there?”, cioè “Chi c’è?”. È una scelta di nome molto azzeccata perché riflette esattamente lo scopo del progetto: rispondere in modo immediato e pratico alla domanda che ogni amministratore di rete si pone quando si interfaccia con la configurazione di una LAN, soprattutto in ambienti dinamici o poco documentati.
Sul versante operativo il significato diventa ancora più chiaro perché Whosthere permette di stabilire:
- Quali dispositivi sono presenti.
- Quali rispondono attivamente.
- I servizi che espongono i dispositivi in rete locale.
- Che tipo di dispositivi sono (grazie all’utilizzo dei vendor OUI).
Il nome richiama volutamente un linguaggio semplice e diretto, quasi “umano”, in contrasto con la terminologia spesso molto tecnica adottata da altri network scanner.

Breve panoramica sul funzionamento
Uno degli aspetti più interessanti di Whosthere è l’implementazione di una scansione concorrente completamente in user-space. Il tool combina più tecniche di discovery che, prese singolarmente, sono note, ma che qui sono orchestrate in modo coerente e pratico.
I protocolli mDNS e SSDP consentono di individuare rapidamente host e servizi che si annunciano in rete, come stampanti, smart TV, NAS, hypervisor e dispositivi IoT.
A questi si affianca un meccanismo più sottile ma estremamente efficace: lo sweep TCP e UDP della subnet locale, utilizzato non tanto per identificare servizi, quanto per forzare la risoluzione ARP. Una volta popolata la cache ARP del sistema operativo, Whosthere la legge per ricostruire l’elenco dei dispositivi presenti.
Questo modus operandi ha un vantaggio pratico enorme: non richiede l’uso del comando sudo, né l’accesso raw alle interfacce di rete. Su macOS, Linux e Windows – sistemi operativi con cui Whosthere è compatibile – significa meno difficoltà, meno configurazioni invasive e maggiore sicurezza operativa, soprattutto in ambienti dove l’uso di privilegi elevati è limitato o sconsigliato.
Le informazioni su ciascun dispositivo individuato in rete locale sono poi arricchite tramite OUI lookup, permettendo di visualizzare il produttore della scheda di rete quando disponibile. In termini pratici, questo consente di distinguere rapidamente un access point, una macchina virtuale, una scheda Raspberry Pi o un dispositivo consumer, anche quando hostname e servizi non fornissero indicazioni evidenti.
Una TUI moderna pensata per l’uso reale
La Terminal User Interface (TUI) è uno degli elementi che rendono Whosthere immediatamente utilizzabile. Non si tratta di un semplice output testuale, ma di un’interfaccia interattiva, veloce e interamente navigabile da tastiera.
Nella pratica, questo significa poter scorrere rapidamente decine o centinaia di host, filtrare i risultati con l’uso di regular expression (regex), copiare IP, aprire il dettaglio di un dispositivo, avviare una scansione mirata senza uscire dall’interfaccia.
Le scorciatoie da tastiera sono essenziali e ben studiate, con una curva di apprendimento minima per chi è abituato a editor modali o tool CLI avanzati. La possibilità di cambiare tema al volo (CTRL+T) non è solo un vezzo estetico, ma migliora la leggibilità in contesti diversi, come terminali scuri, chiari o ambienti con ANSI limitato.
Usare Whosthere come scanner di porte
Whostthere include uno scanner di porte utilizzabile opzionalmente, pensato come estensione naturale delle funzioni di network scaner. Non è un sostituto di nmap, e non vuole esserlo. L’obiettivo è fornire un meccanismo leggero, utile per capire rapidamente che tipo di servizi espone un host già individuato in precedenza dopo la scansione.
Durante l’uso quotidiano, ciò si traduce nella possibilità di verificare se un dispositivo risponde su SSH, HTTP, HTTPS, RDP o sulle porte usate dai database più comuni, senza avviare tool esterni o lanciare scansioni aggressive sull’intera subnet. La lista delle porte TCP è completamente configurabile via file YAML, così come il timeout, permettendo di adattare il comportamento alle caratteristiche della rete. Per maggiori informazioni, si può fare riferimento alle indicazioni su GitHub.
La documentazione di Whosthere sottolinea l’aspetto etico e legale: le attività di scansione vanno eseguite solo su dispositivi per cui si ha autorizzazione, rafforzando l’idea di un’applicazione nata come strumento di amministrazione, monitoraggio e diagnostica.

Come installare Whosthere
Uno degli aspetti più apprezzabili di Whosthere è la semplicità di installazione. Non richiede dipendenze esterne complesse né configurazioni invasive, ed è disponibile in più modalità, a seconda del sistema e delle preferenze dell’utente.
Su macOS, l’installazione tramite Homebrew è la strada più veloce:
brew tap ramonvermeulen/whosthere
brew install whosthere
Per chi lavora già con Go (l’applicazione è scritta proprio in questo linguaggio), oppure vuole evitare package manager di terze parti, è possibile installare direttamente il binario usando il comando seguente:
go install github.com/ramonvermeulen/whosthere@latest
In alternativa, il progetto può essere compilato manualmente partendo dal codice sorgente, opzione utile in ambienti controllati:
git clone https://github.com/ramonvermeulen/whosthere.git
cd whosthere
make build
Una volta installato, Whosthere è immediatamente eseguibile e non richiede privilegi di amministratore.
Primo utilizzo: esplorare la rete in modalità interattiva
L’uso più immediato di Whosthere è in modalità TUI interattiva. È sufficiente avviare il comando: whosthere
Da questo momento, l’applicazione avvia automaticamente i vari scanner (mDNS, SSDP e ARP-based discovery) e popola la vista con i dispositivi rilevati. L’utente può navigare l’elenco in tempo reale, osservare come nuovi host compaiano durante le scansioni successive e accedere al dettaglio di ciascun dispositivo.
L’interazione è completamente guidata da tastiera e all’interno della vista di dettaglio è possibile avviare anche uno scan delle porte mirato sul singolo dispositivo, utile per una rapida identificazione dei servizi esposti.
Utilizzo avanzato: modalità daemon e API HTTP
Quando Whosthere è utilizzato in modo continuativo, ad esempio come sensore di rete o come fonte di dati per altri strumenti, entra in gioco la modalità daemon. L’avvio è estremamente semplice:
whosthere daemon --port 8080
In questa modalità, Whosthere continua a eseguire cicli di discovery in background ed espone un’API HTTP minimale. Interfacciandosi tramite API con il funzionamento dell’applicazione, è possibile recuperare l’elenco dei dispositivi, interrogare un singolo host o verificare lo stato del servizio.
Gli endpoint /devices, /device/{ip} e /health sono volutamente essenziali, ma sufficienti per costruire integrazioni reali senza introdurre complessità inutili.
Dal punto di vista pratico, diventa possibile interrogare periodicamente la rete via script, integrare i dati in dashboard personalizzate, correlare le informazioni con sistemi di inventario e monitoraggio.
Conclusioni
Whosthere si inserisce in modo convincente nello spazio, spesso trascurato, tra i grandi strumenti di network scanning e le utility minimaliste. Non tenta di sostituire soluzioni storiche come nmap, né di competere sul piano dell’aggressività o della profondità delle analisi, ma propone un approccio diverso: osservare la rete locale in modo continuo, leggibile e non invasivo.
La scelta di operare interamente in user-space, senza privilegi elevati, rende il tool particolarmente adatto a contesti reali, dove sicurezza operativa e semplicità d’uso sono requisiti imprescindibili.
La combinazione di più tecniche di discovery, l’arricchimento dei dati tramite OUI lookup e una TUI moderna e ben progettata trasformano la scansione di rete da operazione sporadica a pratica da svolgere con maggiore solerzia.
La disponibilità del codice sorgente, la licenza Apache 2.0 e la presenza di una modalità daemon con API HTTP suggeriscono inoltre un potenziale di evoluzione e integrazione che va oltre l’uso interattivo. Whosthere dimostra come sia possibile costruire strumenti moderni, tecnicamente solidi e realmente usabili, capaci di rispondere a un’esigenza concreta con un equilibrio raro tra potenza, controllo e chiarezza.