Úvod
tcpdump je velmi užitečný příkaz pro kontrolu a zachycení síťových paketů, které přicházejí do az vašeho počítače. Je to jeden z nejběžnějších síťových nástrojů pro řešení problémů se sítí a bezpečnostních problémů.
Přestože se jmenuje tcpdump, lze jej použít ke kontrole provozu bez protokolu TCP, včetně UDP, ARP nebo ICMP.
Tento tutoriál vám ukáže způsob použití příkazu tcpdump v systému Linux.
Nainstalujte tcpdump
Ve výchozím nastavení je tcpdump nainstalován na většině distribucí Linuxu. Chcete-li ověřit, zda je tcpdump nainstalován nebo ne, spusťte následující příkaz:
$ tcpdump --version
Výstup:
Pokud ještě nebyl nainstalován, spusťte:
$ sudo apt update
$ sudo apt install tcpdump
Zachytávání paketů na síťových rozhraních
Když spustíte tcpdump bez jakýchkoli voleb, zachytí všechny pakety na všech síťových rozhraních vašeho počítače.
$ sudo tcpdump
Pro zastavení musíte stisknout Ctrl + C.
Chcete-li zobrazit seznam všech síťových rozhraní, jejichž pakety mohou být kontrolovány příkazem tcpdump, spusťte:
$ sudo tcpdump -D
Výstup:
Pokud chcete zachytit pakety na konkrétním síťovém rozhraní a omezit počet paketů na 6, spusťte následující příkaz:
$ sudo tcpdump -i eth0 -c 6
Výstup:
Zachyťte síťové pakety na konkrétním hostiteli
K zachycení paketů z konkrétního hostitele. Můžete jednoduše spustit následující příkaz:
$ sudo tcpdump -n host 172.19.11.101 -c 5
Zachytávání síťových paketů na konkrétním portu
Pokud chcete filtrovat pouze síťové pakety na konkrétním portu, spusťte příkaz tcpdump s volbou -n port.
$ sudo tcpdump -n port 22
Zachyťte síťové pakety ze zdroje a cíle
Pokud chcete filtrovat pouze síťové pakety, které pocházejí z určitého zdroje, spusťte příkaz tcpdump s volbou src.
$ sudo tcpdump src 172.19.11.210
Pro účely zachycování pouze síťových paketů do určitého cíle spusťte příkaz tcpdump s volbou dst.
$ sudo tcpdump dst 172.19.11.210
Zachyťte síťové pakety pomocí mnoha kombinovaných filtrů
Chcete-li při spouštění příkazu tcpdump zkombinovat mnoho filtrů, můžete použít tyto operátory:a (&&), nebo (||), nikoli (!). Například následující příkaz zachytí všechny pakety, které pocházejí ze zdroje 172.19.11.210 přes port 22.
$ sudo tcpdump src 172.19.11.210 && -n port 22 -c 5
Filtrování sítě podle protokolu
Chcete-li zachytit síťové pakety určitého protokolu, zadejte název protokolu jako volbu příkazu. Například:
$ sudo tcpdump -n udp
Závěr
Už jste si prošli podrobnosti o tom, jak používat příkaz tcpdump pro odstraňování problémů a analýzu sítě ve vašem systému Linux.
Pokud máte nějaké obavy, dejte mi prosím vědět. Děkuji za přečtení.