Pomocou príkazu tcpdump v systéme Linux môžete analyzovať pakety odoslané vo vašej sieti. Na ďalšiu optimalizáciu tejto analýzy môžete použiť množstvo možností a filtrov.

Čo je Linux tcpdump?

Na analýzu sieťového prevádzky v systéme Linux a prípadné riešenie sieťových problémov je tcpdump cennou voľbou. Tento program s príkazovým riadkom je predinštalovaný takmer vo všetkých bežných distribúciách Linuxu, napr. Debian alebo Ubuntu, a prenáša informácie o dátových paketoch odoslaných alebo prijatých vo vašej sieti. Napriek svojmu názvu nie je Linux tcpdump vhodný len pre TCP pakety, ale dokáže analyzovať aj UDP a ICMP pakety. Na použitie tohto príkazu však potrebujete oprávnenia správcu.

Ako funguje príkaz tcpdump?

Analýza vykonaná programom tcpdump sa bežne označuje ako „sniffing“. Pomocou príkazu tcpdump v systéme Linux môžete určiť sieťové rozhranie, ktoré má program monitorovať. Na prispôsobenie a optimalizáciu procesu ponúka tcpdump širokú škálu filtrov. Príkaz sa vykonáva v príkazovom riadku a výsledná analýza sa zobrazí zodpovedajúcim spôsobom.

Aká je syntax tcpdump?

Syntaxe programu tcpdump v systéme Linux je veľmi jednoduchá a vyzerá takto:

$ tcpdump [Options] [Filter]
bash

Hoci špecifikovanie možností nie je povinné, odporúča sa zabezpečiť, aby tcpdump zohľadňoval správne sieťové rozhranie. Okrem toho je používanie filtrov voliteľné, ale veľmi prospešné. Bez filtrov tcpdump analyzuje všetky pakety zo všetkých hostiteľov, čo môže rýchlo viesť k preťaženiu a zmätku.

Aké sú možnosti a filtre príkazu tcpdump v systéme Linux?

Existuje mnoho možností a filtrov pre tcpdump. Najdôležitejšie z nich sú:

  • -A: Vypíše obsah paketu ako ASCII.
  • -c [Počet]: tcpdump sa automaticky ukončí po analýze určitého počtu paketov.
  • -D: S touto voľbou sa zobrazia všetky dostupné rozhrania.
  • -i [Rozhranie]: Pomocou tejto možnosti určujete, ktoré rozhranie sa má zaznamenať.
  • -s [Množstvo]: Táto voľba určuje, koľko bajtov sa má zaznamenať na jeden paket.

Tieto filtre môžete použiť pre tcpdump:

  • dst: Analyzujú sa iba pakety, ktorých cieľ má špecifikovanú hodnotu. Môže to byť hostiteľ, sieť, port alebo rozsah portov.
  • host: Filter zabezpečuje, že sa zohľadnia iba pakety, ktoré majú ako zdroj alebo cieľ špecifickú IP adresu alebo alternatívne špecifický názov hostiteľa.
  • net: Tento filter zohľadňuje iba pakety, ktoré majú IP adresu zo špecifikovaného rozsahu siete ako zdroj alebo cieľ.
  • port: Tento filter použite na špecifikovanie konkrétneho portu v rozmedzí 0 až 65535, ktorý sa má analyzovať výlučne.
  • portrange: Tento filter obsahuje rozsah portov od 0 do 65535.
  • proto: Tento filter zohľadňuje iba pakety s konkrétnym sieťovým protokolom. Filter môže mať nasledujúce hodnoty: arp, decnet, ether, fddi, ip, ip6, rarp, tcp, udp alebo wlan.
  • src: Na analýzu paketov na základe konkrétnych kritérií, ako je hostiteľ, sieť, port alebo rozsah portov.

Príklady použitia príkazu tcpdump

Na záver vám ukážeme, ako používať tcpdump. V našich príkladoch používame príkaz sudo v systéme Linux.

$ sudo tcpdump -D
bash

Skontrolujte, ktoré sieťové rozhrania sú k dispozícii.

$ sudo tcpdump -i wlx14a3c782966b
bash

Analyzujte iba rozhranie so špecifikovaným názvom.

$ sudo tcpdump -c 5 -i wlx14a3c782966b
bash

Týmto spôsobom spôsobíte, že tcpdump zahrnie iba päť paketov.

Prejsť na hlavné menu