Kismet e inSSIDer sono due software in grado di rilevare reti wireless, di verificarne la loro protezione ma anche di generare una perfetta geolocalizzazione grazie all'ausilio di una antenna GPS. In questo articolo vedremo le principali caratteristiche di entrambi i software e le nozioni fondamentali per avviare una scansione della propria zona. Entrambi i software supportano antenna GPS Bluetooth o via cavo USB, in alternativa è possibile usare uno Smartphone Android dotato di antenna GPS integrata e grazie all'applicazione "GPS over BT" disponibile nel Google Play Store potremo trasmettere le nostre coordinate al pc tramite Bluetooth.
Kismet
Kismet è un potente rilevatore di reti wireless e sniffer disponibile per sistemi Linux. Funziona con qualsiasi scheda wireless che supporta la modalità di monitoraggio (rfmod), è in grado di identificare le reti wireless eseguendo passivamente una raccolta dei pacchetti in transito in modo non invasivo, individua reti con SSID visibile o nascosta senza essere individuato. La geolocalizzazione delle reti Wireless è quindi una delle caratteristiche principali di Kismet, in grado di interfacciarsi ad un dispositivo GPS al fine di rilevare le coordinate geografiche delle reti WiFi rilevate. In questo articolo vedremo come utilizzare Kismet su Ubuntu, la sua installazione e il collegamento ad un dispositivo GPS.
Inizialmente procediamo all'installazione del software, aggiungete una delle seguenti repository di Kismet nel file /etc/apt/sources.lst in base alla versione di Ubuntu:
- Per Ubuntu Maverick (10.x): deb http://www.kismetwireless.net/code/ maverick kismet
- Per Ubuntu Natty (11.x): deb http://www.kismetwireless.net/code/ natty kismet
- Per Ubuntu Precise (12.x): deb http://www.kismetwireless.net/code/ precise kismet
Successivamente installate Kismet attraverso la riga di comando:
$ sudo apt-get update
$ sudo apt-get install Kismet
$ sudo apt-get install gpsd
$ sudo apt-get install gpsd-clients
Se usate una antenna GPS Bluetooth configuratela come nuovo dispositivo attraverso l'apposito pannello di controllo oppure in Ubuntu trovate l'icona di riferimento nella barra delle applicazioni/orologio. Una volta associato il dispositivo al sistema operativo dovremo abbinarlo al demone GPSD fondamentale per l'utilizzo di Kismet, da riga di comando digitiamo:
$ hcitool dev
Il terminale ci risponderà con i dispositivi Bluetooth disponibili in zona, dei quali ci riporterà l'indirizzo di MAC Address della nostra antenna:
Scanning ...
00:11:11:33:44:55 BlueGPS 123456
Successivamente editeremo la configurazione di rfcomm indicandoli in modo permanente l'indirizzo, apriamo quindi il file testuale /etc/bluetooth/rfcomm.conf con l'editor di testo che preferiamo prestando attenzione ad avere i permessi di root:
$ sudo gedit /etc/bluetooth/rfcomm.conf
Aggiungeremo quindi al file la seguente porzione di dati:
rfcommX {
bind yes;
device 00:11:11:33:44:55;
channel 1;
}
Sostituendo il valore X con un numero a vostro piacimento da 1 a 99, prestando attenzione a non sovrapporsi ad un device già configurato. Ora possiamo avviare il demone GPSD con il comando:
$ sudo gpsd -n -b /dev/rfcommX
Se la configurazione è stata completata correttamente, possiamo aprire XGPS un piccolo software in grado di visualizzare la nostra attuale posizione e le informazioni relativi ai satelliti a cui siamo agganciati.
$ xgps
Per ultimo procediamo alla configurazione di Kismet, il quale ci richiede principalmente di indicare la scheda wireless che vogliamo utilizzare per la scansione e i riferimenti dell'antenna GPS. Inizialmente individuiamo la nostra scheda Wireless, il chipset che utilizza e il nome dell'interfaccia di rete, procediamo quindi a individuare il chipset attraverso questo comando:
$ lsusb
Il quale ci restituirà il nome della scheda wireles e il relativo chipset, esempio:
Realtek Semiconductor Corp. RTL8187 Wireless Adapter
Per ultimo per individuare l'interfaccia di rete digitiamo il seguente comando:
$ iwconfig
Il quale ci risponderà:
wlan1 IEE 802.11b
Apriamo quindi il file di configurazione di Kismet con il nostro editor di testo preferito, assicurandoci di avere i permessi di root:
$ sudo gedit /etc/kismet/kismet.conf
Procediamo a valorizzare il parametro "source" indicando in ordine il chipset della scheda wireless, l'interfaccia e un nome di fantasia. Nel nostro caso:
source=rt8187,wlan1,Alfa_Network
Scorriamo il nostro file di configurazione fino ad individuare il parametro "gps" che valorizzeremo sul valore "true" al quale aggiungeremo due parametri per indicargli l'indirizzo della nostra antenna; nello specifico dovremo indicare i seguenti parametri:
gps=true
gpsthost=localhost:2947
gpstype=gpsd
gpsdevice=/dev/rfcommX
Ricordatevi di sostituire il campo X con il valore precedentemente scelto, potete quindi chiudere il file di configurazione e avviamo Kismet con il semplice comando:
$ sudo kismet
Se la configurazione è stata eseguita correttamente vi troverete dinanzi ad una semplice interfaccia grafica che vi riporterà man mano tutti i dati delle reti wireless individuate. Digitando la lettera "h" sulla vostra tastiera si aprirà un menu di guida in linea, dal quale potete apprendere i comandi per aprire le statistiche, ordinare le reti in base ad alcune caratteristiche, raggruppare alcune reti e tante altre funzioni.
Terminata la scansione dobbiamo ora rappresentare su una mappa tutti gli Access Point individuati, mettendo un po' in "ordine" i log di sistema di Kismet.
GISKismet è un software scritto in perl in grado di generare dai log di Kismet un database SQLite e successivamente di creare un file KML contenente tutte le coordinate prelevate.
Installiamo GISKismet attraverso il seguente comando
$ svn co https://my-svn.assembla.com/svn/giskismet/trunk giskismet
A questo punto procediamo ad importare tutti i dati prodotti da Kismet nel database di GISKismet mediante
$ perl giskismet -x /var/log/kismet/Kismet-XX.netxml
Dove Kismet-XXX.netxml è il file di log generato da Kismet, al posto di XX dovrete indicare data e ora della scansione. Con questa procedura abbiamo creato il nostro database SQLite, possiamo ora generare il nostro file KML mediante:
$ perl giskismet -q "select * from wireless" -o ex1.kml
Ottenuto il file KML potete aprirlo mediante un visualizzare di coordinate GPS come Google Earth il quale vi mostrerà tutte le reti Wireless individuate posizionate nella mappa.
inSSIDer
inSSIDer è un software Open Source distribuito dalla MetaGeek principalmente per il mondo Windows, recentemente sono state rilasciate due versioni per i dispositivi Android e i computer di casa Apple.
Il prodotto più completo al momento è quello per Windows in grado non solo di individuare le reti Wireless ma anche di localizzarle mediante un interfaccia GPS, nell'articolo vedremo in uso proprio la versione di Windows. La peculiarità di inSSIDer è la comodissima interfaccia grafica che non lascia sbagli ad errori di configurazione e in pochissimi minuti avremo a disposizione uno strumento valido e completo.
Una volta installato inSSIDER procediamo a configurare la nostra antenna GPS Bluetooth in Windows attraverso il Pannello di Controllo, terminata la configurazione ci accingiamo ad individuare attraverso il tab "Porte COM" la porta corrispondente al nostro dispositivo nel nostro caso la COM7.
Apriamo inSSIDer e dal menu GPS configuriamo il dispositivo indicando la relativa porta precedentemente visualizzata, clicchiamo su "Start GPS" per iniziare a monitorare la nostra zona e su "Start Logging" per indicare il file KML nel quale verranno memorizzate le coordinate GPS delle reti wireless individuate. Vedremo quindi scorrere a monitor le reti WiFi individuate con le relative specifiche, quali il canale, la sicurezza, il MAC Address, la latitudine e la longitudine.
Al termine della nostra scansione accederemo di nuovo al menu GPS e selezionando "Stop GPS" concluderemo la nostra analisi, il software salverà automaticamente il file KML nella posizione precedentemente indicata e tramite Google Earth possiamo aprirlo per rivedere i risultati della scansione.