Depanarea problemelor de rețea în Linux

Depanarea problemelor de rețea în Linux

În acest articol, vom explica cum să depanați problemele de rețea în Linux folosind comanda tcpdump.

tcpdump este un analizor de pachete flexibil și puternic din linia de comandă; și libpcap, o bibliotecă portabilă C / C ++ pentru captarea traficului de rețea. Un instrument puternic și versatil care include multe opțiuni și filtre, tcpdump poate fi utilizat într-o varietate de cazuri. Deoarece este un instrument de linie de comandă, este ideal să rulați pe servere sau dispozitive la distanță pentru care nu este disponibilă o interfață grafică, pentru a colecta date care pot fi analizate ulterior. Poate fi lansat și în fundal sau ca o lucrare programată folosind instrumente precum cron.

Începeți procesul de instalare.

1. Instalați tcpdump

Dacă tcpdump nu este deja instalat pe sistemul dvs., îl puteți instala folosind următoarea comandă:

Pentru sistemul bazat pe CentOS sau Red Hat Enterprise Linux:

# dnf install tcpdump -y

Pentru sistemul bazat pe Ubuntu:

# apt-get install tcpdump -y

2. Verificați instalarea

Pentru a verifica instalarea, utilizați următoarea comandă:

# which tcpdump

Ieșire:

/usr/sbin/tcpdump

Capturați pachete cu tcpdump

Înainte de a captura pachetele, verificați interfața de rețea utilizând următoarele comenzi:

# tcpdump -D

Va afișa toate interfețele de rețea disponibile.

Acum, să începem să capturăm câteva pachete folosind următoarele comenzi:

# tcpdump --interface any

Tcpdump continuă să capteze pachete până când primește un semnal de întrerupere. Puteți întrerupe captura apăsând Ctrl + C. Pentru a limita numărul de pachete capturate și a opri tcpdump, utilizați opțiunea -c (pentru numărare):

# tcpdump -i any -c 10

Dezactivați rezoluția numelui

Depanarea problemelor de rețea, este adesea mai ușor să folosiți adresele IP și numerele de port; dezactivați rezoluția numelui utilizând opțiunea -n și rezoluția portului cu -nn:

# tcpdump -i any -c5 -nn

După cum comanda de mai sus va captura ieșirea afișează acum adresele IP și numerele de port.

Filtrarea pachetelor

Una dintre cele mai puternice caracteristici ale tcpdump este capacitatea sa de a filtra pachetele capturate utilizând o varietate de parametri, cum ar fi adresele IP sursă și de destinație, porturi, protocoale etc. Să ne uităm la unele dintre cele mai comune.

Pentru a captura numai pachete ICMP, utilizați următoarele comenzi:

# tcpdump -i any -c10 icmp

Limitați captura numai la pachetele legate de o anumită gazdă utilizând filtrul gazdă:

# tcpdump -i any -c5 -nn host 192.168.0.12

Comanda de mai sus va captura și afișa numai pachetele către și de la gazda 192.168.0.12.

Pentru a filtra pachetele pe baza serviciului sau portului dorit, utilizați filtrul de porturi. De exemplu, capturați pachete legate de un serviciu web (HTTP) utilizând această comandă:

# tcpdump -i any -c10 -nn port 80

Pentru a filtra pachetele în funcție de adresa IP sursă sau de destinație sau de numele gazdei. De exemplu, pentru a captura pachete de la gazda 192.168.0.12:

# tcpdump -i any -c10 -nn src 192.168.0.12

Salvați capturile într-un fișier

Pentru a salva pachetele într-un fișier în loc să le afișați pe ecran, utilizați opțiunea -w (pentru scriere):

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

Comanda de mai sus va permite capturarea pachetelor în modul batch peste noapte, de exemplu, și verificarea rezultatelor dimineața. De asemenea, ajută atunci când există prea multe pachete de analizat, deoarece captarea în timp real poate avea loc prea repede.

Mai multe exemple de comenzi

Pentru a imprima pachetele de început și de sfârșit (pachetele SYN și FIN) ale fiecărei conversații TCP care implică o gazdă non-locală.

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

Pentru a imprima pachetele TCP cu steaguri RST și ACK ambele setate. (adică selectați numai steagurile RST și ACK în câmpul steaguri și dacă rezultatul este „RST și ACK ambele setate”, potriviți)

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

Pentru a imprima toate pachetele HTTP IPv4 la și de la portul 80, adică tipăriți numai pachete care conțin date, nu, de exemplu, pachete SYN și FIN și pachete numai ACK. (IPv6 este lăsat ca exercițiu pentru cititor.)

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

Pentru a imprima pachete IP mai lungi de 576 de octeți trimiși prin gateway snup:

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

Pentru a imprima pachete de difuzare IP sau multicast care nu au fost trimise prin difuzare Ethernet sau multicast:

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

Pentru a imprima toate pachetele ICMP care nu sunt solicitări / răspunsuri ecou (adică nu pachete ping):

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

Verificați pagina manual folosind următoarea comandă:

# man tcpdump

În acest articol, am văzut cum să depanăm problemele de rețea în Linux folosind comanda tcpump.

Obțineți un server dedicat din seria E5 de înaltă performanță și VPS KVM ieftin.


Cum se creează un grup în Linux

Cum se creează un grup în Linux

Grupurile sunt utilizate pentru a organiza utilizatorii și privilegiile lor, cum ar fi citirea scrisului și executarea permisiunii. Pentru a adăuga un groud, comanda este groupadd.

3 moduri de a verifica utilizarea procesorului în Linux

3 moduri de a verifica utilizarea procesorului în Linux

Explicați bine 3 moduri de a verifica utilizarea procesorului în Linux. Utilizarea procesorului se referă la o utilizare a resurselor de procesare sau la cantitatea de muncă gestionată de un procesor.

Cum se instalează și se configurează DenyHosts în CentOS 7

Cum se instalează și se configurează DenyHosts în CentOS 7

DenyHosts este utilizat pe scară largă ca alternativă la Fail2ban. Dacă au existat prea multe încercări de conectare SSH nevalide, se presupune că atacurile sale cu forță brută sau

Montați un disc nou pe un server Linux

Montați un disc nou pe un server Linux

Vom învăța cum să montăm un disc nou pe un server Linux. Pentru această demonstrație, folosim CentOS 7 cloud server. acum montați partiția așa cum se arată mai jos.

Ușor de instalat Fail2ban pe Ubuntu 20.04

Ușor de instalat Fail2ban pe Ubuntu 20.04

Explicați bine cum este ușor să instalați Fail2ban pe Ubuntu 20.04. Fail2ban este scris în limbaj de programare Python și este open source, gratuit. Configurare.

Cum se instalează WireGuard VPN pe Ubuntu 20.04

Cum se instalează WireGuard VPN pe Ubuntu 20.04

Explicați cum să instalați WireGuard VPN pe Ubuntu 20.04. WireGuard este un VPN extrem de simplu, rapid și modern care utilizează criptografie de ultimă generație

Cum se instalează OpenSSL 1.1.1d în CentOS

Cum se instalează OpenSSL 1.1.1d în CentOS

OpenSSL este un set de instrumente robust, de calitate comercială, cu funcții complete pentru protocoalele Transport Layer Security (TLS) și (SSL). Aflați cum să instalați OpenSSL 1.1.1d în CentOS

Cum se instalează și se configurează CSF pe CentOS 8

Cum se instalează și se configurează CSF pe CentOS 8

Cum se instalează și se configurează CSF pe serverul CentOS 8. ConfigServer Security & Firewall este un firewall (SPI), aplicație de conectare / detectare intruziuni și securitate.

Configurarea regulii de audit nu este reflectată - Cum se depanează

Configurarea regulii de audit nu este reflectată - Cum se depanează

Configurarea regulii de audit nu este reflectată? Aflați cum soluționează și soluționează problema inginerii noștri de asistență. Fișierul de configurare a regulii /etc/audit/rules.d/audit.rules

CloudLinux High Load pe server

CloudLinux High Load pe server

În acest articol vom afla cum inginerii noștri de asistență repară CloudLinux încărcarea mare pe server. Vă rugăm să vă asigurați că limitele dvs. LVE sunt configurate corect.