Come acquisire e analizzare i pacchetti con l'esempio con Tcpdump

Come Acquisire E Analizzare I Pacchetti Con L Esempio Con Tcpdump



Tcpdump è un potente strumento di analisi di rete utilizzato per l'analisi del traffico di rete nei sistemi Linux e macOS. Gli amministratori di rete utilizzano tcpdump per lo sniffing della rete, l'acquisizione e l'analisi dei pacchetti TCP/IP. Utilizza una libreria 'libpcap' che aiuta a catturare il traffico di rete in modo efficiente. Inoltre, tcpdump aiuta nella risoluzione dei problemi di rete e nel monitoraggio periodico delle attività di rete. Questo strumento memorizza i dati acquisiti in un file 'pcap'. Questi file vengono ulteriormente analizzati utilizzando uno strumento di analisi dei pacchetti TCP/IP come Wireshark o tramite un altro strumento da riga di comando.

In questa guida dimostreremo come installare tcpdump su un sistema Linux e come acquisire e analizzare i pacchetti TCP/IP utilizzando tcpdump.

Come installare Tcpdump

Tcpdump è preinstallato su molte distribuzioni Linux. Ma se non è già installato sul tuo sistema, puoi installare tcpdump sul tuo sistema Linux. Per installare tcpdump sul sistema Ubuntu 22.04, utilizzare il seguente comando:







$ sudo apt installa tcpdump

Per installare tcpdump su Fedora/CentOS, utilizzare il seguente comando:



$ sudo dnf installa tcpdump

Come acquisire i pacchetti utilizzando il comando Tcpdump

Per acquisire i pacchetti con tcpdump, avvia il terminale con privilegi sudo utilizzando 'Ctrl+Alt+t'. Questo strumento include diverse opzioni e filtri per acquisire i pacchetti TCP/IP. Se desideri acquisire tutti i pacchetti in flusso dell'interfaccia di rete corrente o predefinita, utilizza il comando 'tcpdump' senza alcuna opzione.



$ sudo tcpdump

Il comando fornito cattura i pacchetti dell'interfaccia di rete predefinita del tuo sistema.





Al termine dell'esecuzione di questo comando, sul terminale vengono visualizzati tutti i conteggi dei pacchetti catturati e filtrati.



Comprendiamo l'output.

Tcpdump consente l'analisi delle intestazioni dei pacchetti TCP/IP. Mostra una singola riga per ciascun pacchetto e il comando continua a essere eseguito finché non si preme 'Ctrl+C' per interromperlo.

Ogni riga fornita da tcpdump contiene i seguenti dettagli:

  • Timestamp Unix (ad esempio, 02:28:57.839523)
  • Protocollo (IP)
  • Nome host o IP di origine e numero di porta
  • Nome host o IP di destinazione e numero di porta
  • Flag TCP (ad esempio, Flag [F.]) che indicano lo stato della connessione con valori come S (SYN), F (FIN). (ACK), P (SPINGERE), R (RST)
  • Numero di sequenza dei dati nel pacchetto (ad esempio, seq 5829:6820)
  • Numero di riconoscimento (ad esempio, ack 1016)
  • Dimensione della finestra (ad esempio, win 65535) che rappresenta i byte disponibili nel buffer di ricezione seguiti dalle opzioni TCP
  • Lunghezza del payload dei dati (ad esempio, lunghezza 991)

Per elencare tutte le interfacce di rete del tuo sistema, usa il comando 'tcpdump' con l'opzione '-D'.

$ sudo tcpdump -D

O

$ tcpdump --list-interfaces

Questo comando elenca tutte le interfacce di rete connesse o in esecuzione sul tuo sistema Linux.

Cattura i pacchetti dell'interfaccia di rete specificata

Se desideri acquisire i pacchetti TCP/IP che passano attraverso un'interfaccia specifica, utilizza il flag '-i' con il comando 'tcpdump' e specifica il nome dell'interfaccia di rete.

$ sudo tcpdump -i lo

Il comando dato cattura il traffico sull'interfaccia “lo”. Se si desidera visualizzare informazioni dettagliate o dettagliate sul pacchetto, utilizzare il flag '-v'. Per stampare dettagli più completi, utilizzare il flag “-vv” con il comando “tcpdump”. L'uso e l'analisi regolari contribuiscono a mantenere un ambiente di rete robusto e sicuro.

Allo stesso modo, puoi acquisire il traffico su qualsiasi interfaccia utilizzando il seguente comando:

$ sudo tcpdump -i any

Cattura i pacchetti utilizzando una porta specifica

È possibile acquisire e filtrare i pacchetti specificando il nome dell'interfaccia e il numero di porta. Ad esempio, per catturare i pacchetti di rete che passano attraverso l'interfaccia “enp0s3” utilizzando la porta 22, utilizzare il seguente comando:

$ tcpdump -i enp0s3 porta 22

Il comando precedente cattura tutti i pacchetti in flusso dall'interfaccia 'enp0s3'.

Cattura i pacchetti limitati con Tcpdump

È possibile utilizzare il flag '-c' con il comando 'tcpdump' per acquisire un numero specificato di pacchetti. Ad esempio, per acquisire quattro pacchetti sull'interfaccia 'enp0s3', utilizzare il seguente comando:

$ tcpdump -i enp0s3 -c 4

Sostituisci il nome dell'interfaccia utilizzando il tuo sistema.

Comandi Tcpdump utili per catturare il traffico di rete

Di seguito, abbiamo elencato alcuni utili comandi 'tcpdump' che ti aiuteranno a catturare e filtrare il traffico di rete o i pacchetti in modo efficiente:

Utilizzando il comando “tcpdump” è possibile catturare i pacchetti di un'interfaccia con un IP di destinazione o un IP di origine definito.

$ tcpdump -i {nome-interfaccia} dst {ip-destinazione}

È possibile acquisire pacchetti con una dimensione di istantanea di 65535 byte che è diversa dalla dimensione predefinita di 262144 byte. Nelle versioni precedenti di tcpdump, la dimensione di acquisizione era limitata a 68 o 96 byte.

$ tcpdump -i enp0s3 -s 65535

Come salvare i pacchetti catturati in un file

Se desideri salvare i dati acquisiti in un file per ulteriori analisi, puoi farlo. Cattura il traffico su un'interfaccia specifica e quindi lo salva in un file '.pcap'. Utilizzare il comando seguente per archiviare i dati acquisiti in un file:

$ tcpdump -i -s 65535 -w .pcap

Ad esempio, abbiamo l'interfaccia 'enps03'. Salva i dati acquisiti nel seguente file:

$ sudo tcpdump -i enps03 -w dump.pcap

In futuro, potrai leggere questo file catturato utilizzando Wireshark o altri strumenti di analisi di rete. Quindi, se vuoi usare Wireshark per analizzare i pacchetti, usa l'argomento '-w' e salvalo in un file '.pcap'.

Conclusione

In questo tutorial, abbiamo dimostrato come acquisire e analizzare i pacchetti utilizzando tcpdump con l'aiuto di diversi esempi. Abbiamo anche imparato come salvare il traffico catturato in un file '.pcap' che puoi visualizzare e analizzare utilizzando Wireshark e altri strumenti di analisi di rete.