Linux: comando “tcpdump” per catturare e analizzare il traffico di rete

INFORMATICA, LINUX, TUTORIAL

In un’epoca in cui la sicurezza informatica e il monitoraggio delle reti sono cruciali per la gestione delle infrastrutture IT, strumenti come tcpdump diventano indispensabili. Tcpdump è uno strumento a riga di comando potente per intercettare e analizzare il traffico di rete su sistemi UNIX e Linux. Questo articolo offre una panoramica su cosa sia tcpdump, come funzioni e come possa essere utilizzato per monitorare e analizzare il traffico di rete.

Come funziona tcpdump

Tcpdump cattura e visualizza i pacchetti di dati che transitano su una rete in tempo reale. È particolarmente utile per rilevare anomalie, diagnosticare problemi di rete e verificare attività sospette. Con tcpdump, è possibile ottenere una visione dettagliata dei dati grezzi trasmessi attraverso le interfacce di rete, permettendo analisi approfondite e precisi controlli di sicurezza.

Installazione di tcpdump

L’installazione di tcpdump su un sistema Linux è semplice. Su distribuzioni basate su Debian, come Ubuntu, può essere installato con il comando:

sudo apt-get install tcpdump

Su distribuzioni basate su Red Hat, come CentOS:

sudo yum install tcpdump

Utilizzo di base

Una volta installato, tcpdump può essere eseguito con il comando:

sudo tcpdump

Questo comando cattura e visualizza tutti i pacchetti che transitano sull’interfaccia di rete predefinita. Per specificare una particolare interfaccia, usa l’opzione -i seguita dal nome dell’interfaccia:

sudo tcpdump -i eth0

Filtraggio dei pacchetti

Uno dei punti di forza di tcpdump è la capacità di filtrare i pacchetti in base a criteri specifici. Ad esempio, per catturare solo i pacchetti da o verso una determinata porta TCP:

sudo tcpdump port 80

Per filtrare pacchetti da o verso un indirizzo IP specifico:

sudo tcpdump host 192.168.1.1

Salvataggio delle catture

Tcpdump consente di salvare i pacchetti catturati in un file per analisi successive. Utilizza l’opzione -w seguita dal percorso del file:

sudo tcpdump -w /path/to/file.pcap

I file .pcap possono essere analizzati con tcpdump o altri strumenti come Wireshark.

Sintassi di base e opzioni essenziali

La sintassi di tcpdump è semplice:

sudo tcpdump [opzioni] [filtro]

Alcune delle opzioni più comuni sono:

  • -i [interfaccia]: specifica l’interfaccia di rete
  • -n: non risolve gli IP in nomi host
  • -v, -vv, -vvv: aumenta il livello di dettaglio
  • -c [numero]: termina la cattura dopo un certo numero di pacchetti
  • -w [file]: salva i pacchetti in un file
  • -r [file]: legge pacchetti da un file

Filtri avanzati

Tcpdump supporta filtri avanzati basati su Berkeley Packet Filter (BPF). Alcuni esempi:

  • tcp: filtra solo i pacchetti TCP
  • udp: filtra solo i pacchetti UDP
  • port [numero]: filtra i pacchetti relativi a una specifica porta
  • host [indirizzo IP]: filtra pacchetti da o verso un indirizzo IP

Combinare filtri

È possibile combinare filtri usando operatori logici come and, or e not:

sudo tcpdump tcp and port 80 and src 192.168.0.1

Visualizzazione dei dati

Tcpdump può mostrare i pacchetti catturati in vari formati. Per visualizzare i dati in esadecimale e ASCII:

sudo tcpdump -X -i eth0

Per visualizzare i pacchetti in formato solo ASCII:

sudo tcpdump -A -i eth0

 

Se vuoi farmi qualche richiesta o contattarmi per un aiuto riempi il seguente form