Come sapere quali dispositivi sono connessi alla tua rete? Usa Nmap!
Quando una rete locale è troppo ingarbugliata e non sai più quali dispositivi sono connessi, puoi analizzarla con Nmap. È utile anche per scoprire se qualcuno sta usando abusivamente la tua LAN
Questo articolo nasce da una forte frustrazione. La mia LAN (Local Area Network, cioè la rete locale) è sufficientemente complessa, perché deve gestire due linee (una Vodafone e una Tiscali, che tuttavia convergono sulla stessa rete) e un grande numero di dispositivi:
- due router
- due ripetitori
- uno switch intelligente
- uno switch stupido
- una decina di computer
- sei smartphone
- un televisore
- una chiavetta chromecast
- un lettore blu-ray
- due ebook reader
- quattro condizionatori.
Purtroppo la rete non ha avuto una crescita ordinata: anche se sono sempre stato molto attento, è inevitabile che una crescita sia del numero di apparecchi sia delle tecnologie (per non parlare del via vai di collaboratori e di clienti che si collegano con i loro dispositivi) abbia provocato una crescita incontrollata di indirizzi IP assegnati, registrati e mai cancellati.
Una matassa ingarbugliata che faccio fatica a districare.
Così ho deciso di fare ordine, incominciando con il verificare quali apparecchi sono effettivamente connessi alla mia rete.
Mettere ordine nella LAN: i presupposti fondamentali
Per poter fare ordine nella rete locale, sono necessari due presupposti:
- a ogni dispositivo deve essere assegnato un indirizzo IP fisso. Usare un server DHCP che assegni automaticamente un indirizzo IP è molto più comodo, ma in caso di rete complessa è molto più probabile che si verifichino malfunzionamenti
- ogni dispositivo deve essere catalogato. È necessario costruire un catalogo (è un semplice file) che riporti il modello del dispositivo, il nome con cui è visibile in rete, il MAC address e l’indirizzo IP fisso ad esso assegnato.
Con questi dati, è possibile usare uno strumento di scansione della rete locale per verificare quali dispositivi sono collegati.
Se vuoi avere informazioni ulteriori circa le buone pratiche per gestire una rete locale, leggi l’articolo Gestire la rete locale in sicurezza: le norme fondamentali. Lo trovi sul blog di Studio Rosa Pristina.
Nmap: per mappare i dispositivi in rete
Per esaminare lo stato della rete la comunità open source mette a disposizione uno strumento formidabile: si chiama Nmap (che sta per network mapper), il cui progetto è raggiungibile al sito https://nmap.org/. Nei repository di Ubuntu si trova tranquillamente, anche se forse non la versione più recente.
Questo tutorial descrive come usare una delle versioni grafiche di Nmap. Non entra nel dettaglio delle opzioni di analisi della LAN, poiché sarebbe un argomento troppo vasto e perché io non sono sufficientemente competente per spiegare cose così tecniche.
Nmap è uno strumento a riga di comando, che viene eseguito da terminale. Esiste tuttavia una GUI (Graphical User Interface) ufficiale, chiamata Zenmap, che però è disponibile solo in formato RPM e perciò non è utilizzabile con Ubuntu.
Esistono a questo punto due opzioni:
- scaricare comunque la versione RPM di Zenmap e tentare di convertirlo in DEB con Alien
- installare una GUI alternativa presente nei repository di Ubuntu; in effetti, è disponibile NmapSI4, sviluppata da Francesco Cecconi e raggiungibile anche su Github.
Io ho deciso di usare NmapSI.
I pacchetti da installare in Ubuntu sono perciò:
- nmap: è il programma compilato per la versione della tua distro
- nmap-common: sono i file comuni a tutte le architetetture
- nmapsi4: l’interfaccia grafica.
È essere sufficiente chiedere ad Ubuntu di installare NmapSI - Full mode: il sistema delle dipendenze si tira dietro tutto il resto.
Come far funzionare NmapSI con Ubuntu
L’installazione di NmapSI provvede a installare anche due lanciatori:
- nmapsi4.desktop: avvia la versione di NmapSI per l’utente standard
- nmapsi4-admin.desktop: avvia la versione di NmapSI per l’utente amministratore. Rispetto a quella per l’utente standard, la versione per l’utente amministratore mostra qualche informazione in più, che a mio parere aiuta ad avere una migliore comprensione dei dispositivi connessi alla rete. Per questo motivo io ti consiglio di usare sempre NmapSI come amministratore.
Il problema è che la versione per l’utente amministratore di NmapSI, semplicemente, non funziona. Anzi, se clicchi Mostra applicazioni (il pulsante all’estremità inferiore del Dock) e cerchi nmap, ti verrà mostrata solo la versione per l’utente standard. Quella per l’utente amministratore sembra non esistere, anche se nella cartella dei lanciatori c’è.
Il problema è una cosa da poco e richiede un intervento semplice, ma senza questo intervento non puoi avviare la versione per utente amministratore.
I due lanciatori non si trovano nella consueta cartella /usr/share/applications, ma nella sottocartella /usr/share/applications/kde4. Tuttavia non è questo il problema. Il fatto è che per lanciare NmapSI con privilegi di amministratore viene usato kdesu: nel lanciatore nmapsi4-admin.desktop puoi verificare che il comando è kdesu QTWEBENGINE_DISABLE_SANDBOX=1 nmapsi4. Lascia perdere l’opzione QTWEBENGINE_DISABLE_SANDBOX=1 e concentrati invece su kdesu nmapsi4.
Come ben riporta la documentazione di Ubuntu, KDE su è un'interfaccia grafica per KDE del programma su di UNIX®. Permette di eseguire un programma come se si fosse un utente diverso, fornendo la password di tale utente.
La spiegazione del problema si trova qualche riga più avanti:
Dal momento che kdesu non è più installato in $(kde4-config --prefix)/bin ma in kde4-config --path libexec e non è più quindi nella variabile path, devi usare $(kde4-config --path libexec)kdesu per eseguire kdesu.
Tradotto del tecnichese in italiano, il comando kdesu non si trova più in un percorso di sistema e occorre perciò modificare il sistema. Ma io ti consiglio di lasciare perdere, a meno che tu non sia sufficientemente esperto da sapere che cosa devi fare.
Ti propongo invece una soluzione più semplice: modificare il lanciatore, inserendo il percorso completo in cui si trova effettivamente kdesu.
Con un editor di testo, apri perciò il file /usr/share/applications/kde4/nmapsi4-admin.desktop.
Il file contiene 14 righe:
[Desktop Entry]
Name=NmapSI4 - Full mode
Comment=Is a Qt4 interface for nmap scanner
Comment[ru]=Qt4 интерфейс для сканера nmap
Comment[uk]=Qt4 інтерфейс для сканера nmap
Comment[it]=Interfaccia Qt4 per nmap
Exec=kdesu QTWEBENGINE_DISABLE_SANDBOX=1 nmapsi4
Icon=nmapsi4
Terminal=false
Type=Application
X-KDE-SubstituteUID=true
X-KDE-Username=root
X-GNOME-Username=root
Categories=Qt;System;Security;
Devi modificare la settima, in modo che diventi
Exec=/usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu QTWEBENGINE_DISABLE_SANDBOX=1 nmapsi4
Salva il file in una nuova cartella e poi mediante il terminale copialo come Super User (devi quindi usare usare dapprima il comando su nomeamministratore per operare come utente sudoer e poi il comando sudo cp per operare come Super User) nella cartella /usr/share/applications/kde4.
Chiudi la sessione di Ubuntu e riaprila, sempre come utente amministratore.
Ora apri di nuovo Mostra applicazioni e cerca nmap. Puoi constatare che vengono visualizzate due applicazioni:
- NmapSI4 - User mode, cioè la versione per utente standard
- NmapSI4 - Full mode, cioè la versione per utente amministratore
Ora puoi usare Nmap. Come ho già accennato, ti consiglio di operare come amministratore e di usare la versione Full mode.
Prima di esaminare il funzionamento di NmapSI, ti consiglio di leggere la pagina man di nmap, impartendo da terminale il comando
man nmap
Non è necessario che tu studi a fondo la documentazione (almeno non in questo momento), ma è un buon metodo per capire rapidamente come funziona Nmap, almeno nelle sue linee essenziali.
In pratica, occorre associare al comando alcune opzioni che ne definiscono sia il comportamento (cioè le azioni che vengono compiute durante la scansione della rete) sia gli oggetti stessi della scansione.
È qui che l’interfaccia grafica fornita da NmapSI dimostra la sua utilità, se proprio non sei un integralista della tastierista. Permette infatti di introdurre le opzioni in modo semplice e di osservare i risultati in una maniera più efficace di un lungo file di testo.
Panoramica: la finestra di NmapSI
Puoi osservare la finestra di NmapSI nella figura sottostante.
La finestra di NmapSI si compone di diversi elementi:
- i pulsanti principali
- gli strumenti del pulsante
- l’area di lavoro.
Ti descrivo ognuno di questi elementi nei paragrafi seguenti.
I pulsanti principali
Lungo il lato sinistro vi sono quattro pulsanti:
- Welcome, che credo debba semplicemente mostrare nell’area di lavoro un messaggio di benvenuto ma che invece non mostra assolutamente nulla
- Scan an host, che visualizza gli strumenti per condurre l’ispezione della rete
- Search a vulnerability, che visualizza gli strumenti per verificare la presenza di vulnerabilità
- Discover a network, che consente un’esplorazione del network per vedere quali dispositivi sono presenti, ma senza riportare alcuna informazione aggiuntiva (o quasi).
In questo articolo mi concentro sul secondo, Scan an host.
Gli strumenti del pulsante
Secondo il pulsante che hai cliccato, lungo il lato superiore della finestra compaiono gli strumenti che consentono di condurre le operazioni relative al pulsante stesso.
Nota che strumenti con lo stesso nome possono in realtà operare in modo diverso, secondo il pulsante principale cliccato. Perciò, fai ben attenzione a qual è il pulsante principale attivo.
L’area di lavoro
L’area di lavoro è in genere suddivisa verticalmente in due pannelli, secondo il pulsane principale attivo. Il pannello di destra può essere suddiviso in più pannelli orizzontali.
Inoltre, l’area di lavoro può essere essa stessa suddivisa in più schede, ognuna delle quali ha funzioni proprie.
Condurre la scansione della rete con NmapSI
Dopo aver avviato NmapSI - Full mode, devi acquisire i privilegi di root, inserendo la password dell’utente amministratore nella finestra Esegui come root.
Clicca quindi su Scan an host.
NmapSI mette a disposizione alcuni profili già pronti, ognuno dei quali conduce un tipo diverso di scansione.
Puoi selezionare quello che più risponde alle tue necessità dalla casella dei profili, mostrata nella figura sottostante.
Giusto per condurre il tuo primo test, seleziona Scansione rapida. Puoi intanto notare che, al variare del profilo scelto, cambiano le opzioni assegnate al comando: queste opzioni vengono riportate nella casella accanto a quella dei profili.
Devi poi indicare l’ambito della scansione. Ad esempio, per condurre la ricerca dall’indirizzo IP 192.168.0.0 a 192.168.0.20 devi inserire 192.168.0.0/20 nella casella che si trova al di sopra di quella delle opzioni, come mostrato nella figura sottostante.
Ora clicca il pulsante Scansione per iniziare l’indagine.
Dopo qualche tempo (che dipende sia dal numero di indirizzi IP da esaminare sia dal tipo di scansione), appaiono i risultati, come mostrato nella figura.
Nel pannello di sinistra Hosts sono elencati i dispositivi oggetto della scansione. Quelli con l’icona rossa contenente una × o non esistono o sono spenti o bloccano i tentativi di ping di Nmap.
Facendo doppio clic su uno degli host, puoi leggere un rapporto un po’ più particolareggiato, che viene mostrato nel pannello di destra, suddiviso in sottopannelli. La figura seguente chiarisce la situazione.
Se vuoi avere un rapporto ancora più particolareggiato, vai alla scheda Full scan output, indicata dal puntatore nella figura seguente.
Quelle che ti ho fornito fino a qui sono le istruzioni di base per iniziare a usare NmapSI. Prima di passare a qualcosa di più avanzato, devo tuttavia soffermarmi sulla scheda Monitor di scansione. Secondo la scansione scelta, è facile che questa scheda sia vuota.
In effetti, in questa scheda sono riportati gli indirizzi IP ancora da esaminare. Perciò, se l’ambito che hai impostato è ampio e il tipo di scansione è approfondito, possono essere necessari anche diversi minuti prima che la scansione sia portata a termine.
La scheda Monitor di scansione ha il grande potere di placare la tua ansia quando sembra che la scansione non vada avanti: in effetti, ti mostra che gli indirizzi IP sono in coda e il programma sta procedendo.
Usare i profili e i segnalibri di NmapSI
NmapSI ti consente di creare da te le preimpostazioni che usi più frequentemente, in modo da richiamarle con uno o due clic.
Ad esempio, io ho bisogno spesso di interrogare la mia rete per vedere quali dispositivi sono attivi, senza necessità di andare alla caccia di vulnerabilità o di esami specifici delle porte. Per questo motivo, le opzioni di scansione per me adatte sono
-sn -v
Voglio però condurre la scansione per tutta la mia maschera di sottorete.
Ecco come procedere per non dover introdurre i parametri tutte le volte.
Creare un profilo
Il primo passo da compiere è creare un profilo. Per far questo, impartisci il comando Profilo → Nuovo profilo e richiama così la finestra Nuovo profilo.
Inserisci nella casella Nome del profilo il nome che vuoi assegnare al profilo.
Cliccando poi i pulsanti Scansione, Target, Other, Ping, Tempi e Nse puoi selezionare le opzioni da associare al profilo: queste verranno automaticamente inserite nella casella Parametri del profilo.
Nota bene che non puoi introdurre a mano i parametri.
Se vuoi, puoi partire da un profilo già esistente, selezionandolo dall’elenco della casella Opzioni di base, e poi modificarne i parametri agendo sulle opzioni dei sei pulsanti citati.
Quando il tuo profilo è completo, clicca Salva il profilo. Il tuo profilo compare adesso nell’elenco della casella dei profili, come nell’esempio del mio profilo SRP riportato nella figura sottostante.
Regolazione fine dei parametri del profilo
Poiché Nmap è in evoluzione costante, l’allineamento tra la versione più recente e l’interfaccia grafica non è sempre perfetto.
Se l’opzione che ti interessa non è disponibile tra quelle dei pulsanti dell’interfaccia grafica, fai così:
- dopo aver creato e salvato il tuo profilo, selezionalo dall’elenco della casella dei profili
- impartisci il comando Segnalibro → Aggiungi parametro al segnalibro
- nella finestra che viene aperta inserisci nella casella Parametri le opzioni desiderate, specifica nella casella Nome del profilo il nome del profilo che vuoi modificare e clicca quindi OK.
Ora il tuo profilo contiene tutti i parametri che hai definito.
Registrare l’ambito della scansione
Puoi far sì che l’ambito della scansione rimanga registrato, in modo da non doverlo digitare tutte le volte. Ciò è comodo soprattutto quando hai ambiti diversi (ad esempio gli indirizzi IP sotto o sopra un certo limite) e non vuoi né perdere tempo né correre il rischio di errori di digitazione. Per registrare l’ambito, fai così:
- definisci l’ambito di scansione nell’apposita casella
- impartisci il comando Segnalibro → Salva l’host nei segnalibri
Ora l’ambito è registrato e può essere facilmente recuperato dall’elenco della casella Select Saved Host.
Aggiungo solo che nella scheda Segnalibri sono riportati sia i profili con i loro parametri sia gli ambiti della scansione che hai memorizzato.
Come proseguire?
Spero che questo articolo ti sia stato utile per iniziare a usare uno strumento per l’analisi della rete locale. Per ogni approfondimento dovrai però fare da te, ricercando le informazioni nella documentazione di Nmap o in Rete: la mia competenza si ferma qui.
Riconoscimenti
L’immagine di apertura, quella per Facebook e quella per Instagram sono derivate da quella di Jon 'ShakataGaNai' Davis, rilasciata sotto licenza Creative Commons e disponibile su Wikipedia.
Il sistema dei commenti è di CComment