Ako napríklad zachytávať a analyzovať pakety pomocou Tcpdump

Ako Napriklad Zachytavat A Analyzovat Pakety Pomocou Tcpdump



Tcpdump je výkonný nástroj na analýzu siete, ktorý sa používa na analýzu sieťovej prevádzky v systémoch Linux a macOS. Správcovia siete používajú tcpdump na sieťové sniffovanie, zachytávanie a analýzu paketov TCP/IP. Používa knižnicu „libpcap“, ktorá pomáha efektívne zachytávať sieťovú prevádzku. Okrem toho tcpdump pomáha pri odstraňovaní problémov so sieťou a pravidelnom monitorovaní sieťových aktivít. Tento nástroj ukladá zachytené údaje do súboru „pcap“. Tieto súbory sa ďalej analyzujú pomocou nástroja na analýzu paketov TCP/IP, ako je Wireshark, alebo pomocou iného nástroja príkazového riadka.

V tejto príručke si ukážeme, ako nainštalovať tcpdump na systém Linux a ako zachytiť a analyzovať pakety TCP/IP pomocou tcpdump.

Ako nainštalovať Tcpdump

Tcpdump je predinštalovaný na mnohých distribúciách Linuxu. Ale ak ešte nie je nainštalovaný vo vašom systéme, môžete nainštalovať tcpdump na váš systém Linux. Ak chcete nainštalovať tcpdump na systém Ubuntu 22.04, použite nasledujúci príkaz:







$ sudo apt install tcpdump

Ak chcete nainštalovať tcpdump na Fedora/CentOS, použite nasledujúci príkaz:



$ sudo dnf nainštalujte tcpdump

Ako zachytiť pakety pomocou príkazu Tcpdump

Ak chcete zachytiť pakety pomocou tcpdump, spustite terminál s oprávneniami sudo pomocou „Ctrl+Alt+t“. Tento nástroj obsahuje rôzne možnosti a filtre na zachytávanie paketov TCP/IP. Ak chcete zachytiť všetky tečúce pakety aktuálneho alebo predvoleného sieťového rozhrania, použite príkaz „tcpdump“ bez možnosti.



$ sudo tcpdump

Daný príkaz zachytáva pakety predvoleného sieťového rozhrania vášho systému.





Na konci vykonania tohto príkazu sa na termináli zobrazia všetky zachytené a filtrované počty paketov.



Pochopme výstup.

Tcpdump umožňuje analýzu hlavičiek paketov TCP/IP. Zobrazuje jeden riadok pre každý paket a príkaz pokračuje, kým ho nezastavíte stlačením klávesov „Ctrl+C“.

Každý riadok poskytovaný tcpdump obsahuje nasledujúce podrobnosti:

  • Časová pečiatka systému Unix (napr. 02:28:57.839523)
  • protokol (IP)
  • Zdrojový názov hostiteľa alebo IP a číslo portu
  • Názov hostiteľa alebo adresa IP a číslo portu
  • TCP Flags (napr. Flags [F.]) označujúce stav pripojenia s hodnotami ako S (SYN), F (FIN),. (ACK), P (PUSH), R (RST)
  • Poradové číslo dát v pakete (napr. seq 5829:6820)
  • Číslo potvrdenia (napr. ack 1016)
  • Veľkosť okna (napr. win 65535) predstavujúca dostupné bajty v prijímacej vyrovnávacej pamäti, po ktorej nasledujú možnosti TCP
  • Dĺžka užitočného zaťaženia údajov (napr. dĺžka 991)

Ak chcete zobraziť zoznam všetkých sieťových rozhraní vášho systému, použite príkaz „tcpdump“ s voľbou „-D“.

$ sudo tcpdump -D

alebo

$ tcpdump --zoznam-rozhraní

Tento príkaz uvádza zoznam všetkých sieťových rozhraní, ktoré sú pripojené alebo spustené vo vašom systéme Linux.

Zachyťte pakety určeného sieťového rozhrania

Ak chcete zachytiť pakety TCP/IP, ktoré prechádzajú cez špecifické rozhranie, použite príznak „-i“ s príkazom „tcpdump“ a zadajte názov sieťového rozhrania.

$ sudo tcpdump -i lo

Daný príkaz zachytáva prevádzku na rozhraní „lo“. Ak chcete zobraziť podrobné alebo podrobné informácie o pakete, použite príznak „-v“. Ak chcete vytlačiť komplexnejšie podrobnosti, použite príznak „-vv“ s príkazom „tcpdump“. Pravidelné používanie a analýza prispievajú k udržaniu robustného a bezpečného sieťového prostredia.

Podobne môžete zachytiť premávku na akomkoľvek rozhraní pomocou nasledujúceho príkazu:

$ sudo tcpdump -i any

Zachyťte pakety pomocou špecifického portu

Pakety môžete zachytiť a filtrovať zadaním názvu rozhrania a čísla portu. Ak chcete napríklad zachytiť sieťové pakety, ktoré prechádzajú cez rozhranie „enp0s3“ pomocou portu 22, použite nasledujúci príkaz:

$ tcpdump -i enp0s3 port 22

Predchádzajúci príkaz zachytáva všetky prúdiace pakety z rozhrania „enp0s3“.

Zachyťte obmedzené pakety pomocou Tcpdump

Na zachytenie určeného počtu paketov môžete použiť príznak „-c“ s príkazom „tcpdump“. Ak chcete napríklad zachytiť štyri pakety v rozhraní „enp0s3“, použite nasledujúci príkaz:

$ tcpdump -i enp0s3 -c 4

Nahraďte názov rozhrania pomocou svojho systému.

Užitočné príkazy Tcpdump na zachytenie sieťovej prevádzky

V nasledujúcom texte uvádzame niekoľko užitočných príkazov „tcpdump“, ktoré vám pomôžu efektívne zachytávať a filtrovať sieťový prenos alebo pakety:

Pomocou príkazu „tcpdump“ môžete zachytiť pakety rozhrania s definovanou cieľovou IP alebo zdrojovou IP.

$ tcpdump -i {názov-rozhrania} dst {cieľová-ip}

Pakety môžete zachytiť s veľkosťou snímky 65535 bajtov, čo sa líši od predvolenej veľkosti 262144 bajtov. V starších verziách tcpdump bola veľkosť zachytenia obmedzená na 68 alebo 96 bajtov.

$ tcpdump -i enp0s3 -s 65535

Ako uložiť zachytené pakety do súboru

Ak chcete nasnímané údaje uložiť do súboru na ďalšiu analýzu, môžete to urobiť. Zachytáva prevádzku na špecifikovanom rozhraní a potom ju uloží do súboru „.pcap“. Na uloženie zachytených údajov do súboru použite nasledujúci príkaz:

$ tcpdump -i -s 65535 -w .pcap

Napríklad máme rozhranie „enps03“. Uložte tieto zaznamenané údaje do nasledujúceho súboru:

$ sudo tcpdump -i enps03 -w dump.pcap

V budúcnosti si môžete tento zachytený súbor prečítať pomocou Wireshark alebo iných nástrojov na analýzu siete. Ak teda chcete použiť Wireshark na analýzu paketov, použite argument „-w“ a uložte ho do súboru „.pcap“.

Záver

V tomto návode sme pomocou rôznych príkladov ukázali, ako zachytiť a analyzovať pakety pomocou tcpdump. Naučili sme sa tiež, ako uložiť zachytenú premávku do súboru „.pcap“, ktorý si môžete prezerať a analyzovať pomocou Wireshark a iných nástrojov na analýzu siete.