Naučení se používat nástroj Wireshark v příkazovém řádku: TShark
Wireshark je nejrozšířenější analyzátor síťových protokolů na světě. Umožňuje ponořit se do zachyceného provozu a analyzovat, co se v síti děje. Dnes si povíme, jak můžete k dosažení podobných výsledků použít rozhraní příkazového řádku programu Wireshark, Tshark.
Projdeme si několik příkladů příkazů, takže neváhejte použít soubor PCAP, abyste mohli postupovat dále! Několik ukázkových zachycovacích souborů najdete zde.
Bez vstupního souboru se Tshark jednoduše chová jako Tcpdump. Zachytí provoz z první dostupné sítě a zobrazí jeho pakety na standardním výstupu. Případně můžete použít příznak „-r“ pro zadání souboru pro zachycení sítě.
tshark -r network.pcap
Takto Tshark zobrazí pakety ze souboru pro zachycení na standardním výstupu. Podívejme se na jeden řádek výstupu!
35 29.947879 192.168.0.55 → 192.168.0.91 HTTP 423 HTTP/1.1 200 OK
Může se to zdát složité, ale nezapomeňte, že výstup příkazového řádku programu Tshark odráží rozhraní programu Wireshark. Pole zleva doprava ve výstupu příkazového řádku jsou:
Packet number, Time, Source, Destination, Protocol, Length, Info
35, 29.947879, 192.168.0.55, 192.168.0.91, HTTP, 423, HTTP/1.1 200 OK
Pole „Čas“ ukazuje, kdy byl paket zachycen. Pole „Zdroj“ a „Cíl“ zobrazují zdrojovou IP adresu a cílovou IP adresu daného paketu. Pole „Protokol“ zobrazuje použitý protokol. Pole „Length“ zobrazuje délku paketu. A nakonec pole „Info“ zobrazuje další informace o paketu.
Tyto souhrny paketů můžete filtrovat tak, že výstup programu Tshark vložíte do příkazu grep. Tento příkaz například vypíše pakety se stavovým kódem HTTP „200 OK“.
tshark -r network.pcap | grep "200 OK"
Export zajímavých paketů
Obsah paketu můžete zkoumat exportem jeho objektů. Export objektů v programu Tshark umožňuje extrahovat různé typy dat paketů, například objekty HTTP a SMB. Syntaxe exportu objektů je následující:
tshark -r network.pcap --export-objects PROTOCOL,DESTINATION_DIR
V položce PROTOCOL je uveden typ exportovaného objektu a v položce DESTINATION_DIR je uveden adresář, který Tshark použije k uložení exportovaných souborů. Například tento příkaz vyexportuje soubory, které byly přeneseny přes síť, a uloží je do adresáře „exported_files_dir“.
tshark -r network.pcap --export-objects http,exported_files_dir
Použití filtrů paketů
Stejně jako v programu Wireshark můžete také filtrovat pakety na základě určitých kritérií. Filtry můžete jednoduše umístit do uvozovek na konec příkazu.
tshark -r network.pcap "http.request.method == POST and http.file_data contains password"
Formát filtrů, které lze použít, je totožný jako v programu Wireshark. Seznam dostupných filtrů najdete zde.
Příznakem „-T“ můžete také určit výstupní formát dekódovaných dat paketů. Například tento příkaz zobrazí všechny požadavky HTTP GET ve formátu JSON.
tshark -r network.pcap -T json "http.request.method==GET"
Nakonec můžete výstup z aplikace Tshark zpracovat tak, že jej vložíte do jiných nástrojů příkazového řádku, například grep.
Závěr
Tento příspěvek představuje pouze malý zlomek toho, co aplikace Wireshark a Tshark umí. Jsou to všestranné nástroje, které jsou schopny provádět mnoho různých typů analýz.
Pokud máte zájem dozvědět se o těchto nástrojích více, navštivte jejich dokumentaci zde.