sabato 13 novembre 2010

Piccola guida a tpcdump

Abbiamo già accennato a tpcdump, cerchiamo adesso di spiegare meglio come utilizzare questo software.Innanzitutto diciamo che tpcdump serve per l' analisi del traffico nella rete a cui siamo collegati , ovviamente per poter comprendere a pieno le sue funzionalità è necessario conoscere la struttura dei pacchetti e i relativi protocolli, quindi se ne avete bisogno ripassatevi gli articoli riguardanti il networking. Io farò riferimento alla versione linux a linea di comando, ma installando opportune librerie è possibile utilizzarlo anche su windows, se volete scaricare il programma e sapere come installarlo su windows andate al sito ufficiale http://www.tcpdump.org. In linux la sintassi corretta è la seguente:

tcpdump [opzioni] [espressioni]

le opzioni possibili sono le seguenti:

-a  Converte indirizzi broadcast e ip in nomi
-c  Esce dopo un tot di pacchetti (esempio c200)
-C  Dimensiona la grandezza del file salvato
-e  Stampa il mac address in ogni pacchetto catturato
-F  Permette di fornire i filtri da un file
-i  Interfaccia di rete. (esempio. -i eth0 )
-n  Non converte l'indirizzo ip in nome
-nn Non risolve sia nomi che porte
-p  L'interfaccia locale non viene settata in modalità promiscua
-q  Visualizza il minor numero possibile di informazioni
-r  Utilizza il file specificato come input per i dati da filtrare
-s  Indica la quantità in bytes di un pacchetto catturato
-S  Stampa la sequenza di numeri assoluti
-t  Non stampa il contrassegno temporale per ogni pacchetto catturato
-tt Stampa il contrassegno temporale (timestamp) non formattato su ogni linea
-v,-vv,-vvv Verbose incrementa il numero di informazioni
-w  Scrive su file il risultato dello sniffing (es. -w file)
-x  Visualizza in esadecimale
-X  Stampa i pacchetti in formato HEX e ASCII

Per quanto riguarda le espressioni, esse sono sostanzialmente dei filtri attraverso i quali possiamo "mirare" al traffico che piu ci interessa, questi filtri possono essere combinati con i vari operatori booleani.Sono possibili un gran numero di filtri possibili :

dst host host -Filtra il traffico destinato ad un particolare host
src host host -Filtra il traffico che arriva da un particolare host
host host -Filtra il traffico che riguarda un particolare host origine/destinazione
dst port porta -Filtra il traffico destinato ad una particolare porta
src port porta -Filtra il traffico che arriva da una particolare porta
port porta -Filtra il traffico che riguarda una particolare porta origine/destinazione
gateway host -Filtra il traffico che utilizza il nodo indicato come gateway
dst net rete -Filtra il traffico destinato ad un particolare rete
src net rete -Filtra il traffico che arriva da una particolare rete
net rete -Filtra il traffico che riguarda una particolare rete origine/destinazione
ether dst host_ethernet -Filtra il traffico destinato ad un dato indirizzo ethernet
ether src host_ethernet -Filtra il traffico che arriva da un dato indirizzo ethernet
ether host host_ethernet -Filtra il traffico che riguarda un dato indirizzo ethernet
ether proto protocollo -Filtra un dato protocollo ethernet (ip,arp,rarp)
ip proto protocollo -Filtra un dato protocollo IP (icmp,igrp,udp,tcp)
[ether] broadcast -Filtra il traffico ethernet broadcast
[ether] multicast -Filtra il traffico ethernet multicast
ip broadcast -Filtra il traffico IP broadcast
ip multicast -Filtra il traffico IP multicast

Come si può vedere la scelta è ampia, e combinando i vari filtri con gli operatori booleani si può restringere il campo di analisi come si vuole.Per concludere questa breve guida ecco un esempio pratico:

tcpdump -vvv -w file test tcp and src 10.50.10.3 and dst port 3456
Questo comando salverà nel file "test" il traffico tcp proveniente da 10.50.10.3 e destinato alla porta 3456.

Nessun commento:

Posta un commento