Risolvere i problemi di rete in Linux

Risolvere i problemi di rete in Linux

In questo articolo, spiegheremo come risolvere i problemi di rete in Linux usando il comando tcpdump.

tcpdump è un analizzatore di pacchetti da riga di comando flessibile e potente; e libpcap, una libreria C/C++ portatile per l'acquisizione del traffico di rete. Uno strumento potente e versatile che include molte opzioni e filtri, tcpdump può essere utilizzato in una varietà di casi. Poiché è uno strumento a riga di comando, è ideale per l'esecuzione in server o dispositivi remoti per i quali non è disponibile una GUI, per raccogliere dati che possono essere analizzati in seguito. Può anche essere avviato in background o come lavoro pianificato utilizzando strumenti come cron.

Iniziamo con il processo di installazione.

1. Installa tcpdump

Se tcpdump non è già installato sul tuo sistema, puoi installarlo usando il seguente comando:

Per sistemi basati su CentOS o Red Hat Enterprise Linux:

# dnf install tcpdump -y

Per il sistema basato su Ubuntu:

# apt-get install tcpdump -y

2. Verificare l'installazione

Per verificare l'installazione, utilizzare il seguente comando:

# which tcpdump

Produzione:

/usr/sbin/tcpdump

Cattura i pacchetti con tcpdump

Prima di acquisire i pacchetti, controllare l'interfaccia di rete utilizzando i seguenti comandi:

# tcpdump -D

Visualizzerà tutte le interfacce di rete disponibili.

Ora, iniziamo a catturare alcuni pacchetti usando i seguenti comandi:

# tcpdump --interface any

Tcpdump continua a catturare i pacchetti finché non riceve un segnale di interruzione. Puoi interrompere l'acquisizione premendo Ctrl+C. Per limitare il numero di pacchetti catturati e fermare tcpdump, usa l'opzione -c (per conteggio):

# tcpdump -i any -c 10

Disabilita la risoluzione dei nomi

Risoluzione dei problemi di rete, spesso è più semplice utilizzare gli indirizzi IP ei numeri di porta; disabilitare la risoluzione dei nomi utilizzando l'opzione -n ​​e la risoluzione della porta con -nn:

# tcpdump -i any -c5 -nn

Come sopra, il comando acquisirà l'output ora visualizza gli indirizzi IP e i numeri di porta.

Filtrare i pacchetti

Una delle caratteristiche più potenti di tcpdump è la sua capacità di filtrare i pacchetti catturati utilizzando una varietà di parametri, come indirizzi IP di origine e destinazione, porte, protocolli, ecc. Diamo un'occhiata ad alcuni dei più comuni.

Per acquisire solo pacchetti ICMP, utilizzare i seguenti comandi:

# tcpdump -i any -c10 icmp

Limita l'acquisizione ai soli pacchetti relativi a un host specifico utilizzando il filtro host:

# tcpdump -i any -c5 -nn host 192.168.0.12

Il comando precedente catturerà e visualizzerà solo i pacchetti da e verso l'host 192.168.0.12.

Per filtrare i pacchetti in base al servizio o alla porta desiderati, utilizzare il filtro della porta. Ad esempio, acquisire i pacchetti relativi a un servizio Web (HTTP) utilizzando questo comando:

# tcpdump -i any -c10 -nn port 80

Per filtrare i pacchetti in base all'indirizzo IP di origine o destinazione o al nome host. Ad esempio, per acquisire pacchetti dall'host 192.168.0.12:

# tcpdump -i any -c10 -nn src 192.168.0.12

Salva le acquisizioni in un file

Per salvare i pacchetti in un file invece di visualizzarli sullo schermo, usa l'opzione -w (per la scrittura):

# tcpdump -i any -c10 -nn -w webserver.pcap port 80

Il comando precedente consentirà di acquisire i pacchetti in modalità batch durante la notte, ad esempio, e verificare i risultati al mattino. Aiuta anche quando ci sono troppi pacchetti da analizzare poiché l'acquisizione in tempo reale può avvenire troppo velocemente.

Altri comandi di esempio

Per stampare i pacchetti di inizio e fine (i pacchetti SYN e FIN) di ogni conversazione TCP che coinvolge un host non locale.

# tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'

Per stampare i pacchetti TCP con i flag RST e ACK entrambi impostati. (cioè seleziona solo i flag RST e ACK nel campo flag, e se il risultato è "RST e ACK entrambi impostati", corrispondono)

# tcpdump 'tcp[tcpflags] & (tcp-rst|tcp-ack) == (tcp-rst|tcp-ack)'

Per stampare tutti i pacchetti HTTP IPv4 da e verso la porta 80, ovvero stampare solo i pacchetti che contengono dati, non, ad esempio, i pacchetti SYN e FIN e i pacchetti solo ACK. (IPv6 è lasciato come esercizio per il lettore.)

# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<2)) -="" ((tcp[12]&0xf0)="">>2)) != 0)'

Per stampare pacchetti IP più lunghi di 576 byte inviati tramite gateway snup:

# tcpdump 'gateway snup and ip[2:2] > 576'

Per stampare pacchetti IP broadcast o multicast che non sono stati inviati tramite trasmissione Ethernet o multicast:

# tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

Per stampare tutti i pacchetti ICMP che non sono richieste/risposte echo (ovvero, non pacchetti ping):

# tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'

Controlla la pagina man usando il seguente comando:

# man tcpdump

In questo articolo abbiamo visto come risolvere i problemi di rete in Linux usando il comando tcpump.

Ottieni un server dedicato doppia serie E5 ad alte prestazioni e VPS KVM economico.


Come installare e configurare CSF (ConfigServer Security & Firewall) su CentOS 7

Come installare e configurare CSF (ConfigServer Security & Firewall) su CentOS 7

ConfigServer Security & Firewall (in breve è anche chiamato csf) è un firewall Stateful Packet Inspection (SPI). Scopri come installare e configurare CSF su CentOS 7

Come installare lagente di backup R1Soft su CentOS

Come installare lagente di backup R1Soft su CentOS

Scopri come installare R1Soft Backup Agent su CentOS e configurarlo. R1Soft Server Backup Manager offre ai fornitori di servizi una soluzione flessibile e server-friendly.

Come modificare i limiti di CloudLinux LVE

Come modificare i limiti di CloudLinux LVE

In questo articolo abbiamo spiegato come modificare i limiti LVE di CloudLinux. Quindi iniziamo. I limiti di CloudLinux LVE possono essere modificati utilizzando LVE Manager.

Come cambiare SSH della porta del server Linux

Come cambiare SSH della porta del server Linux

Per cambiare la porta SSH del server Linux, è necessario accedere al server tramite SSH e modificare il file di configurazione SSH.

Come installare Centova Cast su CentOS

Come installare Centova Cast su CentOS

Centova Cast è la piattaforma di gestione leader per i flussi radio Internet, che fornisce informazioni approfondite e controllo ai provider di hosting di streaming. Centova Cast

Come impostare linoltro della posta sul tuo server di posta?

Come impostare linoltro della posta sul tuo server di posta?

È possibile superare i problemi di invio della posta elettronica utilizzando le seguenti impostazioni di inoltro della posta elettronica.

Come installare Apache, MariaDB, PHP e phpMyAdmin in Ubuntu 18.04

Come installare Apache, MariaDB, PHP e phpMyAdmin in Ubuntu 18.04

Impareremo a installare Apache MariaDB PHP e PHPMyAdmin nel server Ubuntu 18.04. Apache, MySQL/MariaDB e PHP sono composti da pacchetti. È conosciuto come LAMPADA

Impara la gestione degli utenti di base in Linux

Impara la gestione degli utenti di base in Linux

Vuoi aggiungere, modificare o eliminare un utente in Linux? Ecco l'articolo perfetto per te.

Impara la gestione dei gruppi di base in Linux

Impara la gestione dei gruppi di base in Linux

Scopri di più sulla gestione dei gruppi in Linux. Come aggiungere un gruppo, modificare un gruppo ed eliminare un gruppo, aggiungere membri in Linux. Crea un nuovo gruppo, usa il comando groupadd.

Impara a installare Fail2ban su CentOS 7

Impara a installare Fail2ban su CentOS 7

Fail2ban è molto utile per proteggere la connessione SSH. Ora dovresti essere in grado di installare e configurare fail2ban su centos7, aggiungere un ulteriore livello di sicurezza al server