„Tcpdump“ je analyzátor paketů a slouží k diagnostice a analýze problémů se sítí. Zachytává síťový provoz procházející vaším zařízením a rozhlíží se nad ním. Nástroj „tcpdump“ je výkonný nástroj pro řešení problémů se sítí. Dodává se s mnoha možnostmi, což z něj dělá univerzální nástroj příkazového řádku pro řešení problémů se sítí.
Tento příspěvek je podrobným průvodcem o nástroji „tcpdump“, který zahrnuje jeho instalaci, společné funkce a použití s různými možnostmi. Začněme s instalací:
Jak nainstalovat „tcpdump“:
V mnoha distribucích vychází „tcpdump“ z krabice a pro jeho kontrolu použijte:
$ který tcpdump
Pokud se ve vaší distribuci nenachází, nainstalujte jej pomocí:
$ sudo apt nainstalovat tcpdumpVýše uvedený příkaz bude použit pro distribuce založené na Debianu, jako jsou Ubuntu a LinuxMint. Pro „Redhat“ a „CentOS“ použijte:
$ sudo dnf install tcpdumpJak zachytit pakety pomocí tcpdump:
K zachycování paketů lze použít různá rozhraní. Seznam rozhraní získáte pomocí:
$ sudo tcpdump -D
Nebo jednoduše použijte příkaz „any“ s příkazem „tcpdump“ k získání paketů z aktivního rozhraní. Chcete-li zahájit snímání paketů, postupujte takto:
$ sudo tcpdump - rozhraní libovolné
Výše uvedený příkaz sleduje pakety ze všech aktivních rozhraní. Pakety budou nepřetržitě popadány, dokud od uživatele nedostane přerušení (ctrl-c).
Můžeme také omezit počet paketů, které mají být zachyceny, pomocí příznaku „-c“, který označuje „počet“.„K zachycení 3 paketů použijte:
$ sudo tcpdump -i libovolný -c3
Výše uvedený příkaz je užitečný k filtrování konkrétního paketu. Řešení potíží s připojením navíc vyžaduje zachycení pouze několika počátečních paketů.
„tcpdump”Příkaz ve výchozím nastavení zachycuje pakety s názvy IP a portů, ale k vyčištění, nepořádku a snazšímu pochopení výstupu; jména lze deaktivovat pomocí „-n" a "-nn„Pro možnost portu:
$ sudo tcpdump -i libovolný -c3 -nn
Jak je znázorněno ve výše uvedeném výstupu, byly odstraněny názvy IP a portů.
Jak porozumět informacím o zachyceném paketu:
Abychom se dozvěděli o různých polích zachyceného paketu, vezměme si příklad paketu TCP:
Paket může mít různá pole, ale obecná jsou zobrazena výše. První pole, “09:48:18.960683,„Představuje čas, kdy je paket přijat. Dále přicházejí IP adresy; první IP [216.58.209.130] je zdrojová IP a druhá IP [10.0.2.15.55812] je cílová IP. Pak dostanete vlajku [P.]; seznam typických příznaků je uveden níže:
Vlajka | Typ | Popis |
".“ | ACK | Znamená potvrzení |
S | SYN | Příznak pro zahájení připojení |
F | PLOUTEV | Příznak pro uzavřené připojení |
P | TAM | Označuje odeslání dat od odesílatele |
R | RST | Reset připojení |
A další přichází pořadové číslo “sek. 185: 255“. Klient i server používají k údržbě a monitorování dat 32bitové pořadové číslo.
„ack„Je vlajka; pokud je 1, znamená to, že potvrzovací číslo je platné, a přijímač očekává další bajt.
Číslo okna označuje velikost vyrovnávací paměti. "vyhrát 65535„Znamená množství dat, které lze uložit do vyrovnávací paměti.
A nakonec přijde délka [70] paketu v bajtech, což je rozdíl „185: 255“.
Filtrování paketů k opravě problémů se sítí:
Nástroj „tcpdump“ zachycuje stovky paketů a většina z nich má menší význam, což znesnadňuje získání požadovaných informací pro řešení potíží. V takovém případě bude hrát roli filtrování. Například při řešení potíží, pokud vás nezajímá konkrétní typ provozu, můžete jej filtrovat pomocí „tcpdump“, který je dodáván s filtrováním paketů podle IP adres, portů a protokolů.
Jak zachytit paket pomocí názvu hostitele pomocí příkazu tcpdump:
Chcete-li získat paket pouze od konkrétního hostitele, použijte:
$ sudo tcpdump -i libovolný -c4 hostitel 10.0.2.15
Pokud chcete získat pouze jednosměrný provoz, použijte „src" a "dst„Možnosti místo“hostitel.“
Jak zachytit paket pomocí čísla portu pomocí příkazu tcpdump:
K filtrování paketů s číslem portu použijte:
$ sudo tcpdump -i libovolný -c3 -nn port 443
„443“ je číslo portu HTTPS.
Jak zachytit paket pomocí protokolu pomocí příkazu tcpdump:
Pomocí příkazu „tcpdump“ můžete filtrovat pakety podle libovolného protokolu, například udp, icmp, arp atd. Jednoduše zadejte název protokolu:
$ sudo tcpdump -i libovolný -c6 udp
Výše uvedené příkazy zachytí pouze pakety, které patří k protokolu „udp“.
Jak kombinovat možnosti filtrování pomocí logických operátorů:
Různé možnosti filtrování lze kombinovat pomocí logických operátorů jako „a / nebo“:
$ sudo tcpdump -i libovolný -c6 -nn hostitel 10.0.2.15 a port 443
Jak ukládat zachycená data:
Uchopená data lze uložit do souboru, abyste je mohli později sledovat, a pro tuto možnost bude použita volba „-w“ a „w“ znamená „zapsat“:
$ sudo tcpdump -i libovolný -c5 -w packetData.pcap
Přípona souboru by byla „.pcap, což znamená „zachytávání paketů“.„Jakmile je zachycení hotové, soubor se uloží na místní jednotku. Tento soubor nelze otevřít ani přečíst pomocí žádného programu textového editoru. Chcete-li si jej přečíst, použijte-rVlajka s “tcpdump”:
$ tcpdump -r packetData.pcap
Závěr:
„Tcpdump“ je cenný a flexibilní nástroj k zachycení a analýze síťového provozu za účelem řešení problémů se sítí. V této příručce je třeba se naučit základní a pokročilé použití obslužného programu příkazového řádku „tcpdump“. Pokud vám to však připadá obtížné, existuje méně složitý program založený na grafickém uživatelském rozhraní s názvem „Wireshark“, který dělá téměř stejnou práci, ale s různými dalšími funkcemi.