Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$os_meta is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_previous_publish_date is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_notification_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$newsletter_subject is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_newsletter_subject is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$newsletter_summary is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_newsletter_summary is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
Scansione rete locale senza sudo: Whosthere e il lato “invisibile” della LAN | IlSoftware.it

Scansione rete locale senza sudo: Whosthere e il lato “invisibile” della LAN

Presentiamo Whostthere, uno strumento open source per la scansione della rete locale che opera interamente in user-space, senza richiedere privilegi elevati. Come funziona e quali sono le sue potenzialità.

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.

Scansione rete LAN senza privilegi: come fare

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.

Whosthere effettua scansione porte aperte nei dispositivi collegati in LAN

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.

Ti consigliamo anche

Link copiato negli appunti