-
.
Master premium
- Group
- Amministratori
- Posts
- 7,937
- Location
- Sciacca Terme - Sicily - Italy - EU
- Status
- Offline
Tcpdump cosa è e come si installa
Tcpdump è uno strumento di sniffing particolarmente flessibile e diffuso nel mondo Linux. E' simile a snoop, più diffuso su Solaris, e permette di analizzare il tipo di pacchetti che passano per l'interfaccia di rete specificata.
Va sottolineato che tcpdump NON visualizza il contenuto dei pacchetti ma solo le loro intestazioni (protocollo, IP sorgente, destinazione, porte ecc.) per cui si presta bene alla diagnostica di problemi di networking ma non ad una attività di cracking.
INSTALLAZIONE
Per funzionare tcpdump richiede le librerie libpcap che possono essere scaricate dal sito ufficiale di tcpdump.
La procedura di installazione, sia per libpcap che tcpdump è quella standard (./configure ; make ; make install ). Per il corretto funzionamento su diversi Unix flavour sono necessari alcuni specifici adattamenti. Su Linux, per esempio, il kernel deve essere compilato con la funzione packet socket (CONFIG_PACKET=y) e tcpdump deve essere lanciato da root.
USO
Tcpdump prevede numerose e flessibili opzioni per definire quali pacchetti sniffare e come farlo.
Il suo output dipende dal protocollo e viene visualizzata una riga per ogni datalink frame intercettato.
Il man ufficiale è dettagliato e ben documentato, riportiamo qui alcune opzioni interessanti.
tcpdump - Senza opzioni tcpdump visualizza a schermo tutti i pacchetti che passano sull'interfaccia predefinita (di solito eth0)
tcpdump -i ppp0 -c 50 - Visualizza 50 pacchetti (-c 50) sull'interfaccia ppp0 (-i ppp0) e poi esce.
tcpdump -l | tee sniff.log - Mentre visualizza i pacchetti li mette in un buffer (-l) che viene scritto sul file sniff.log.
tcpdump -e -n - Visualizza gli indirizzi del data link (-e) e non prova a fare un DNS reverse lookup (-n) velocizzando l'output.
Le regole per identificare il tipo di pacchetto da visualizzare sono molto flessibili e adattabili a diverse necessità. Vediamo alcuni esempi
tcpdump port 80 - Visualizza solo i pacchetti che hanno come sorgente o destinazione la porta 80 (port 80).
tcpdump host 192.168.0.150 - Visualizza solo i pacchetti che hanno come IP sorgente o destinazione 192.168.0.150.
tcpdump host 10.0.0.150 and not port 22 - Visualizza solo i pacchetti relativi all'host 10.0.0.150 che non usino la porta ssh (and not port 22).
tcpdump net 10.0.0.0/24 and port 22 - Visualizza tutti i pacchetti per la rete 10.0.0.0/24 relativi al protocollo ssh (and port 22)
Esercizi GNU Tcpdump/Hping a scopo didattico.
1 Esercizi Tcpdump/Hping
1. Impostare Tcpdump in modo da sniffare sull’interfaccia principale di ricezione
del traffico della macchina, tutti i pacchetti destinati al proprio indirizzo
(niente modalit`a promiscua).
• Impostare Tcpdump in modo che catturi il traffico con le caratteristiche
sopra elencate.
• pingare l’indirizzo della macchina (dove sti sta eseguendo tcpdump)
con il tool hping, protocollo tcp e porta 80, controllare la giusta
ricezione del traffico.
2. Impostare Tcpdump in modo da analizzare il traffico di una determinata
porta 10000 sul protocollo udp, eseguire i seguenti passi per analizzare il
traffico ricevuto:
• Attivare lo sniffer tcpdump in modo che catturi il traffico diretto
alla vostra macchina sulla porta prescelta (no modalit`a promiscua),
inoltre far si che tcpdump stampi in formato esadecimale 1500 byte
del payload.
• Tramite il tool hping inviare un file tramite protocollo udp porta
10000 modalit`a safe, inserire nel traffico inviato da hping una
signature che permetta di riconoscere il pacchetto.
• Controllare il traffico ricevuto da hping, e individuare il pacchetto
che contiene nel payload la signature inserita.
3. Per questo esercizio servono tre macchine, due macchine con tcpdump
attivato, e una macchina da cui generare traffico con hping; lo sniffer
tcpdump dovr`a essere impostato in modo da catturare il traffico diretto
alla macchina, protocollo tcp porta 10000.
• Impostare sulla prima macchina (A) tcpdump, in modo che catturi
il traffico con le caratteristiche sopra indicate.
• Impostare sulla seconda macchina (B) tcpdump, in modo che catturi
il traffico con le caratteristiche sopra indicate.
• Inviare dalla macchina generatrice (C) di traffico, un pacchetto tramite
il tool hping tcp con flag syn attivato su una porta chiusa, inserendo
come indirizzo sorgente (B) e destinazione (A).
• controllare il traffico tcpdump, in modo da verificare se la tecnica
dello spoofing `e riuscita.
4. Impostare su una macchina, tcpdump in modo che catturi traffico sul
protocollo tcp porta 2222.
• Impostare su una macchina (A) tcpdump in modo che catturi il
traffico con le caratteristiche sopra elencate.
• Inviare un file da un’altra macchina (B) con hping (e.g. /etc/passwd)
protocollo tcp porta 2222 destinatazione la macchina (A), con una
signature particolare.
• Una volta scoperta la signature con tcpdump, lanciare sulla macchina
(A) il tool hping in modalit`a listen in modo che riesca a salvare su
file i dati del pacchetto, dalla signature in poi.
.