Questo è un mio articolo, pubblicato la prima volta su Wazi
Alcuni trovano l’arte di catturare e interpretare i pacchetti che passano attraverso la rete una cosa arcana come la lettura di The Matrix, ma non è necessario essere i nuovi Neo per essere in grado di analizzare il flusso di rete. Un potente alleato può aiutarvi in questa missione: Wireshark , un potente software per analizzare il traffico di rete.
Wireshark è diversi strumenti in una sola applicazione. Si può usare per analizzare la struttura della vostra rete wireless alla ricerca di potenziali errori di configurazione. E’ in grado di identificare molti tipi di incapsulamento e di isolare e visualizzare tutti i campi che compongono un pacchetto di rete. Funziona anche come packet sniffer , simile a tcpdump .
Con tutte queste potenti funzionalità, si potrebbe pensare che Wireshark è difficile da imparare. Per certi versi lo è, ma si può facilmente imparare ad utilizzare alcuni dei filtri che vengono forniti con il software e ti permettono di concentrarvi su specifici client e tipologie di traffico. In questo articolo vi mostrerò diversi modi per utilizzare Wireshark per orientare le vostre ricerche.
Quando dico “filtri”, mi riferisco ai Berkeley Packet Filters (BPF). BPF è in realtà un linguaggio di micro-programmazione. Che viene compilato ed eseguito in fase di esecuzione verso i pacchetti intercettati da strumenti come tcpdump e Wireshark. I filtri sono indispensabili quando si sta cercando di isolare un sottoinsieme molto limitato di pacchetti tra le centinaia di migliaia al secondo che passano su una rete a 100Mbps. I filtri sono compilati in modo da funzionare con le migliori prestazioni possibili, cosa che è importante quando si sta facendo una cattura in tempo reale.
Utilizzare dei filtri in Wireshark è semplice. È necessario conoscere solo i nomi di campo di ogni singolo protocollo, ad esempio HTTP, ICMP, e ftp. Per esempio, se si desidera visualizzare solo i pacchetti ICMP, si può semplicemente scrivere icmp
nella finestra principale del filtro di Wireshark. Se si desidera evidenziare tutti i pacchetti che stanno venendo o andando a uno specifico indirizzo IP, per esempio 10.100.1.1, il filtro sarebbe ip.dst == 10.100.1.1 || ip.src == 10.100.1.1
, che tradotto significa visualizzare solo i pacchetti in cui il campo di destinazione (ip.dst) o (||) il campo di origine (ip.src) del protocollo IP è uguale (==) a 10.100.1.1.
Filtri per catturare e visualizzare
Wireshark ha due tipi di filtri. i filtri per la cattura, che come dice il nome, vengono utilizzati per catturare solo una parte del traffico, mentre i filtri di visualizzazione vengono applicati al traffico catturato per mostrare solo alcuni pacchetti, secondo le regole che si usa. In questo articolo parleremo di entrambi i tipi.
Cominciamo con l’installazione di Wireshark. L’applicazione è disponibile come pacchetto binario in tutte le principali distribuzioni, quindi potete usare il vostro package manager preferito: sudo apt-get install wireshark
sotto Debian o Ubuntu, emergono wireshark
sotto Gentoo, o yum install wireshark
sotto Red Hat o CentOS .
Cominciamo con un classico esempio che mostra alla gente perché utilizzare il protocollo FTP è una cattiva idea. Facciamo partire Wireshark digitando in un terminale:
sudo wireshark
È possibile iniziare a catturare il traffico andando sul pannello di sinistra della finestra di Wireshark e cliccando su Capture/Interfaces. Scegliere l’interfaccia che va “fuori” nella rete (ad esempio eth1) e fare clic su Start, e Wireshark comincerà a esaminare tutti i pacchetti in transito sulla rete.
Ora aprite una seconda finestra di terminale e invocate una normale sessione FTP. Immettete il nome utente e la password, eseguite alcuni comandi FTP, quindi chiudere la sessione. Tornare alla finestra principale di Wireshark, e dovreste vedere che molti pacchetti sono passati attraverso la rete dal momento in cui avete iniziato la cattura. Fate clic su Stop Capture (o premere Ctrl + E), ora si può esaminare il traffico che avete.
Capire qualcosa da quello che è probabilmente una grande quantità di traffico non è semplice, finché non si utilizza un filtro BPF. Ne volete uno che mostra solo i pacchetti che fanno parte di una connessione FTP, quindi scrivete nel tipo di campo Filter “ftp”. Immediatamente il traffico della vostra sessione dovrebbe essere evidenziato, e in una splendida esposizione di scarsa sicurezza, vedrete chiaramente il vostro username e la password. Un qualcosa di simile a questo:
356 101.676753 10.100.1.1 192.168.0.4 FTP 86 Response: 220 (vsFTPd 1.1.3) 360 104.546659 192.168.0.4 10.100.1.1 FTP 77 Request: USER wazi 362 104.594520 10.100.1.1 192.168.0.4 FTP 100 Response: 331 Please specify the password. 366 106.530150 192.168.0.4 10.100.1.1 FTP 77 Request: PASS mytest 371 108.922240 10.100.1.1 192.168.0.4 FTP 88 Response: 530 Login incorrect.
Se questo risultato non convince i vostri colleghi a smettere di usare FTP e passare a OpenSSH , allora non c’è speranza per loro.
Qua finisce la prima parte introduttiva, ma se l’argomento vi interessa, non perdete la seconda parte “Divertiamoci con i filtri di Wireshark”
Popular Posts:
- None Found