Pomocí linuxového příkazu tcpdump můžete analyzovat pakety odeslané ve vaší síti. K další optimalizaci této analýzy lze použít řadu možností a filtrů.

Co je Linux tcpdump?

Pro analýzu síťového provozu v systému Linux a případné řešení síťových problémů je tcpdump cennou volbou. Tento příkazový řádek je předinstalován téměř ve všech běžných distribucích Linuxu, např. Debian nebo Ubuntu, a přenáší informace o datových paketech odeslaných nebo přijatých ve vaší síti. Navzdory svému názvu není Linux tcpdump vhodný pouze pro pakety TCP, ale může analyzovat také pakety UDP a ICMP. K použití tohoto příkazu však potřebujete oprávnění root.

Jak funguje příkaz tcpdump?

Analýza prováděná programem tcpdump se běžně označuje jako „sniffing“. Pomocí příkazu tcpdump v systému Linux můžete určit síťové rozhraní, které má program monitorovat. Pro přizpůsobení a optimalizaci procesu nabízí tcpdump širokou škálu filtrů. Příkaz se provádí v příkazovém řádku a výsledná analýza se zobrazí odpovídajícím způsobem.

Jaká je syntaxe tcpdump?

Syntaxe příkazu tcpdump v systému Linux je velmi jednoduchá a vypadá takto:

$ tcpdump [Options] [Filter]
bash

Ačkoli zadávání parametrů není povinné, doporučuje se zajistit, aby tcpdump zohlednil správné síťové rozhraní. Použití filtrů je volitelné, ale velmi užitečné. Bez filtrů tcpdump analyzuje všechny pakety ze všech hostitelů, což může být velmi náročné a matoucí.

Jaké jsou možnosti a filtry příkazu tcpdump v systému Linux?

Pro tcpdump existuje řada možností a filtrů. Nejdůležitější z nich jsou:

  • -A: Vypíše obsah paketu jako ASCII.
  • -c [Počet]: tcpdump se automaticky ukončí po analýze určitého počtu paketů.
  • -D: S touto volbou se zobrazí seznam všech dostupných rozhraní.
  • -i [Rozhraní]: Touto volbou určíte, které rozhraní má být zaznamenáno.
  • -s [Množství]: Tato volba určuje, kolik bajtů má být zaznamenáno na jeden paket.

Tyto filtry můžete použít pro tcpdump:

  • dst: Analyzovány jsou pouze pakety, jejichž cíl má zadanou hodnotu. Může se jednat o hostitele, síť, port nebo rozsah portů.
  • host: Filtr zajišťuje, že jsou brány v úvahu pouze pakety, které mají jako zdroj nebo cíl specifickou IP adresu nebo alternativně specifický název hostitele.
  • net: Tento filtr bere v úvahu pouze pakety, které mají jako zdroj nebo cíl IP adresu ze specifikovaného rozsahu sítě.
  • port: Tento filtr použijte k určení konkrétního portu mezi 0 a 65535, který má být analyzován výhradně.
  • portrange: Tento filtr obsahuje rozsah portů mezi 0 a 65535.
  • proto: Tento filtr bere v úvahu pouze pakety s konkrétním síťovým protokolem. Filtr může mít následující hodnoty: arp, decnet, ether, fddi, ip, ip6, rarp, tcp, udp nebo wlan.
  • src: Pro analýzu paketů na základě konkrétních kritérií, jako je hostitel, síť, port nebo rozsah portů.

Příklady použití příkazu tcpdump

Na závěr vám ukážeme, jak používat tcpdump. V našich příkladech používáme příkaz sudo pro Linux.

$ sudo tcpdump -D
bash

Zkontrolujte, která síťová rozhraní jsou k dispozici.

$ sudo tcpdump -i wlx14a3c782966b
bash

Analyzujte pouze rozhraní se zadaným názvem.

$ sudo tcpdump -c 5 -i wlx14a3c782966b
bash

Tímto způsobem způsobíte, že tcpdump zahrne pouze pět paketů.

Přejít do hlavního menu