Sep 222010
 

wiresharkSu Internet sono presenti centinaia di eccellenti tool e utility open source che possono essere usati per l’analisi della rete, ma non sono molti i tecnici che si sono cimentati nel loro utilizzo. In realtà, diverse soluzioni open source sono veramente efficaci e possono aiutare lo specialista di reti nel lavoro quotidiano.

In questo primo articolo vi mostrerò wireshark uno strumento molto utile e potente nell’analisi della rete.


Wireshark

Wireshark e’ un analizzatore di protocolli di rete molto popolare, che include una grande quantita’ di caratteristiche per la sicurezza come il packet browser, il live capture, l’ analisi offline e molto altro. Fondamentalmente wireshark cattura i pacchetti in giro per la rete e ce li mostra nel modo piu’ dettagliato possibile. Dalla guida utente: ” Potete pensare ad un network analyzer come a uno strumento di misura usato per analizzare cosa succede all’ interno di un cavo di rete, proprio come un voltmetro e’ usato dagli elettricisti per vedere che succede all’ interno di un cavo elettrico (ma in un modo molto piu’ evoluto)

Ecco alcuni esempi di come le persone usano Wireshark:

  • Amministratori di rete lo utilizzano per risolvere i problemi di rete
  • Tecnici di sicurezza di rete lo usano per esaminare i problemi di sicurezza
  • Sviluppatori lo utilizzano per eseguire il debug di implementazioni di protocolli di rete.
  • Alcune persone lo utilizzano per imparare i meccanismi interni dei protocolli di rete

Oltre a questi esempi, Wireshark può essere utile in molte altre situazioni.

Wireshark è presente tra i pacchetti di Ubuntu 10.04, quindi per installarlo basta un: sudo aptitude install wireshark

Una volta installato basta digitare a terminale wireshark,in questo modo verrà lanciato come root che non è il massimo per la sicurezza, ma l’alternativa è molto più lunga, per verificatelo qua, sotto la sezione Linux
comparirà una schermata di questo tipo:

wireshark

Sotto Interface list dovreste vedere tutte le vostre interfaccie, cliccate su quella che volete analizzare e partirà la cattura dei pacchetti che transitano su quella interfaccia.
wireshark 2

Un problema molto comune quando si avvia Wireshark con le impostazioni di default è che si ottengono troppe informazioni sullo schermo e quindi non si trovano le informazioni che state cercando.
Troppe informazioni uccidono l’informazione.

Ecco perché i filtri sono così importanti, ci aiutereranno ad arrivare a destinazione, i dati che stiamo cercando, nei prolifici log.

  • Capture filters (filtri di acquisizione): Permettono di selezionare i dati da registrare nei log. Sono definiti prima di iniziare la cattura
  • Display filters (filtri di visualizzazione): Usati per ricerca all’interno dei log catturati. Possono essere modificati, mentre i dati vengono acquisiti

Quindi devo usare il filtro per la cattura o il filtro di visualizzazione?

Gli obiettivi dei due filtri sono diversi.

Il filtro cattura è usato come primo filtro di grandi dimensioni per limitare la dimensione dei dati acquisiti per evitare di generare un log troppo grande.
Il filtro di visualizzazione è molto più potente (e complesso), ma vi permetterà di cercare esattamente i dati desiderati.

CAPTURE FILTERS


La sintassi del filtro di acquisizione è la stessa di quella utilizzata dai programmi che utilizzano la libreria Lipcap (Linux) o Winpcap (Windows), come ad esempio il famoso tcpdump. Il filtro di acquisizione deve essere impostata prima di avviare la cattura Wiershark, questo non è il caso dei filtri di visualizzazione che possono essere modificate in qualsiasi momento durante la cattura.

La procedura per configurare un filtro di acquisizione sono i seguenti:
– Selezionare Capture -> options.

wireshark 3

– Riempire il campo “Capture Filter” o clicca su “Capture Filter” per dare un nome al filtro e riutilizzarlo catture successive.
– Cliccate su Start per acquisizione di dati.

Sintassi:

Se volete fare un filtro per un particolare protocollo guardate come prima cosa la pagina: ProtocolReference.

Per altri filtri la sintassi base è:

Protocollo Direzione Host(s) valore Operazione_logica Altre_espressioni

Esempi:

Cattura solo il traffico (entrembe le direzioni) per l’IP address 172.18.5.4:

  • host 172.18.5.4

Cattura il traffica di un range di IP:

  • net 192.168.0.0/24

o

  • net 192.168.0.0 mask 255.255.255.0

Cattura il traffico con sorgente un range IP:

  • src net 192.168.0.0/24

o

  • src net 192.168.0.0 mask 255.255.255.0

Cattura il traffico verso un range di IP:

  • dst net 192.168.0.0/24

o

  • dst net 192.168.0.0 mask 255.255.255.0

Cattura solo traffico DNS (porta 53):

  • port 53

Cattura il traffico che non è HTTP e non è SMTP (soluzioni equivalenti):

  • host www.example.com and not (port 80 or port 25)
    host www.example.com and not port 80 and not port 25

Cattura tutto eccetto traffico DNS ed ARP:

  • port not 53 and not arp

Cattura il traffico in una range di port

  • (tcp[0:2] > 1500 and tcp[0:2] < 1550) or (tcp[2:2] > 1500 and tcp[2:2] < 1550)

o con una nuova versione di libpcap (0.9.1 e successive):

  • tcp portrange 1501-1549

Mostra i pacchetti con IP sorgente 10.4.1.12 o provenienti dalla rete 10.6.0.0/16, il risultato è quindi concatenatocon i pacchetti che hanno destinazione TCP il range di porte da 200 a 10000 e destinazione IP la rete 10.0.0.0/8

  • (src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8

Display Filters

Wireshark  usa i filtri di visualizzazione per mostrare l’output e per le sue ColoringRules.

La sintassi è descritta sulla User’s Guide.

Esempi

Mostra solo il traffico SMTP (port 25) e ICMP:

  •  tcp.port eq 25 or icmp

Mostra solo il traffico nella LAN (192.168.x.x), tra le workstation ed il server — no Internet:

  • ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16

TCP buffer pieno — Sorgente dice alla destinazione di fermarsi nel mandare dati

  •  tcp.window_size == 0 && tcp.flags.reset != 1

Mostra le richieste HTTP dove gli ultimi caratteri nella stringa nella uri sono i caratteri “gl=se”:

  •   http.request.uri matches "gl=se$"

Nota: Il carattere $ è un PCRE è un carattere che rappresenta la fine della stringa, in questo caso la fine di http.request.uri field.

Filtra per un protocollo ( SIP ) e non mostra IP non desiderati:

  ip.src != xxx.xxx.xxx.xxx && ip.dst != xxx.xxx.xxx.xxx && sip

Guardare qua per la guida ufficiale.

Questa è una introduzione sul come utilizzare wireshark, per maggiori informazioni è disponibile l’ottimo sito con un wiki ricchissimo di informazioni

Consiglio anche:

http://openmaniak.com/wireshark.php

Popular Posts:

Flattr this!

  One Response to “Wireshark per l’analisi di rete”

  1. […] abbiamo visto due strumenti che offrono un output delle nostre analisi in formato grafico (ntop e wireshark), oggi invece vedremo alcuni strumenti utilizzabili da linea di comando: Ping, telnet, dig, […]

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*