Cum să capturați și să analizați pachetele prin exemplu cu Tcpdump

Cum Sa Capturati Si Sa Analizati Pachetele Prin Exemplu Cu Tcpdump



Tcpdump este un instrument puternic de analiză a rețelei care este utilizat pentru analiza traficului de rețea în sistemele Linux și macOS. Administratorii de rețea folosesc tcpdump pentru detectarea rețelei, capturarea și analiza pachetelor TCP/IP. Utilizează o bibliotecă „libpcap” care ajută la captarea eficientă a traficului de rețea. În plus, tcpdump ajută la depanarea rețelei și la monitorizarea periodică a activităților rețelei. Acest instrument stochează datele capturate într-un fișier „pcap”. Aceste fișiere sunt analizate în continuare folosind un instrument de analiză de pachete TCP/IP, cum ar fi Wireshark sau printr-un alt instrument de linie de comandă.

În acest ghid, vom demonstra cum să instalați tcpdump pe un sistem Linux și cum să capturați și analizați pachetele TCP/IP folosind tcpdump.

Cum se instalează Tcpdump

Tcpdump este preinstalat pe multe distribuții Linux. Dar dacă nu este deja instalat pe sistemul dvs., puteți instala tcpdump pe sistemul dvs. Linux. Pentru a instala tcpdump pe sistemul Ubuntu 22.04, utilizați următoarea comandă:







$ sudo apt install tcpdump

Pentru a instala tcpdump pe Fedora/CentOS, utilizați următoarea comandă:



$ sudo dnf install tcpdump

Cum să capturați pachetele folosind comanda Tcpdump

Pentru a captura pachetele cu tcpdump, lansați terminalul cu privilegii sudo folosind „Ctrl+Alt+t”. Acest instrument include diferite opțiuni și filtre pentru a captura pachetele TCP/IP. Dacă doriți să capturați toate pachetele care curg din interfața de rețea curentă sau implicită, utilizați comanda „tcpdump” fără nicio opțiune.



$ sudo tcpdump

Comanda dată captează pachetele interfeței de rețea implicite a sistemului dumneavoastră.





La sfârșitul execuției acestei comenzi, toate numărul de pachete capturate și filtrate sunt afișate pe terminal.



Să înțelegem rezultatul.

Tcpdump permite analiza antetelor pachetelor TCP/IP. Afișează o singură linie pentru fiecare pachet, iar comanda continuă să ruleze până când apăsați „Ctrl+C” pentru a o opri.

Fiecare linie furnizată de tcpdump conține următoarele detalii:

  • Marcaj temporal Unix (de ex., 02:28:57.839523)
  • Protocol (IP)
  • Nume gazdă sursă sau IP și numărul portului
  • Numele de gazdă sau IP-ul destinației și numărul portului
  • Indicatori TCP (de exemplu, Flags [F.]) care indică starea conexiunii cu valori precum S (SYN), F (FIN). (ACK), P (împingere), R (RST)
  • Numărul de secvență al datelor din pachet (de exemplu, secv. 5829:6820)
  • Număr de confirmare (de ex., confirmare 1016)
  • Dimensiunea ferestrei (de exemplu, win 65535) reprezentând octeții disponibili în memoria tampon de recepție, urmată de opțiunile TCP
  • Lungimea încărcăturii de date (de exemplu, lungimea 991)

Pentru a lista toate interfețele de rețea din lista sistemului dvs., utilizați comanda „tcpdump” cu opțiunea „-D”.

$ sudo tcpdump -D

sau

$ tcpdump --list-interfaces

Această comandă listează toate interfețele de rețea care sunt conectate sau rulează pe sistemul dumneavoastră Linux.

Capturați pachetele de interfață de rețea specificată

Dacă doriți să capturați pachetele TCP/IP care trec printr-o anumită interfață, utilizați indicatorul „-i” cu comanda „tcpdump” și specificați numele interfeței de rețea.

$ sudo tcpdump -i lo

Comanda dată captează traficul la interfața „lo”. Dacă doriți să afișați informații detaliate sau detaliate despre pachet, utilizați indicatorul „-v”. Pentru a imprima detalii mai cuprinzătoare, utilizați indicatorul „-vv” cu comanda „tcpdump”. Utilizarea și analiza regulată contribuie la menținerea unui mediu de rețea robust și sigur.

În mod similar, puteți captura traficul de la orice interfață folosind următoarea comandă:

$ sudo tcpdump -i orice

Capturați pachetele folosind un anumit port

Puteți captura și filtra pachetele specificând numele interfeței și numărul portului. De exemplu, pentru a captura pachetele de rețea care trec prin interfața „enp0s3” folosind portul 22, utilizați următoarea comandă:

$ tcpdump -i enp0s3 portul 22

Comanda anterioară captează toate pachetele care curg din interfața „enp0s3”.

Capturați pachetele limitate cu Tcpdump

Puteți utiliza indicatorul „-c” cu comanda „tcpdump” pentru a captura un număr specificat de pachete. De exemplu, pentru a captura patru pachete la interfața „enp0s3”, utilizați următoarea comandă:

$ tcpdump -i enp0s3 -c 4

Înlocuiți numele interfeței folosind sistemul dvs.

Comenzi Tcpdump utile pentru a capta traficul de rețea

În cele ce urmează, am enumerat câteva comenzi utile „tcpdump” care vă vor ajuta să capturați și să filtrați eficient traficul de rețea sau pachetele:

Folosind comanda „tcpdump”, puteți captura pachetele unei interfețe cu un IP de destinație definit sau IP sursă.

$ tcpdump -i {nume-interfață} dst {ip-destinație}

Puteți captura pachetele cu o dimensiune instantanee de 65535 octeți, care este diferită de dimensiunea implicită de 262144 octeți. În versiunile mai vechi de tcpdump, dimensiunea capturii era limitată la 68 sau 96 de octeți.

$ tcpdump -i enp0s3 -s 65535

Cum să salvați pachetele capturate într-un fișier

Dacă doriți să salvați datele capturate într-un fișier pentru o analiză ulterioară, o puteți face. Captează traficul la o interfață specificată și apoi îl salvează într-un fișier „.pcap”. Utilizați următoarea comandă pentru a stoca datele capturate într-un fișier:

$ tcpdump -i -s 65535 -w .pcap

De exemplu, avem interfața „enps03”. Salvați aceste date capturate în următorul fișier:

$ sudo tcpdump -i enps03 -w dump.pcap

În viitor, puteți citi acest fișier capturat folosind Wireshark sau alte instrumente de analiză a rețelei. Deci, dacă doriți să utilizați Wireshark pentru a analiza pachetele, utilizați argumentul „-w” și salvați-l într-un fișier „.pcap”.

Concluzie

În acest tutorial, am demonstrat cum să capturați și să analizați pachetele folosind tcpdump cu ajutorul diferitelor exemple. De asemenea, am învățat cum să salvăm traficul capturat într-un fișier „.pcap” pe care îl puteți vizualiza și analiza folosind Wireshark și alte instrumente de analiză a rețelei.