Tcpdump

tcpdump

výstup tcpdump do konzole
Typ analyzátor provozu
Zapsáno v C [1]
Operační systém Linux a Microsoft Windows
Nejnovější verze
Čitelné formáty souborů PCAP [d] , zachycení stylu Extended TCPDUMP (little-endian) [d] a zachycení stylu Extended TCPDUMP (big-endian) [d]
Vygenerované formáty souborů Rozšířené zachycení stylu TCPDUMP (little-endian) [d] a Rozšířené zachycení stylu TCPDUMP (big-endian) [d]
Licence upravená licence BSD [d] [3]
webová stránka tcpdump.org

tcpdump (z TCP a anglického  dump - dump, dump) je unixový  nástroj (existuje klon pro Windows ), který vám umožňuje zachytit a analyzovat síťový provoz procházející počítačem, na kterém je spuštěn tento program.

Ke spuštění programu potřebujete práva superuživatele a přímý přístup k zařízení (například spuštění z Jailu ve FreeBSD není možné).

Hlavní účely tcpdump:

Popis:

SYN S Příznak, který se má použít při požadavku na připojení.
ACK . Používá se při potvrzování příchozího paketu.
PLOUTEV F Příznak je nastaven, když je připojení normálně uzavřeno.
NALÉHAVÉ U Tento příznak je potřeba při odesílání nouzových dat – například při odesílání Ctrl+ Cna připojení telnet.
TLAČIT P Obvykle se tento příznak nastavuje při odesílání uživatelských dat.
RESETOVAT R Okamžitě odpojte.
Agregát žádný Pokud balíček neobsahuje žádný příznak, použije se tento zástupný symbol.

Klíče

klíč popis
-A Převádí síťové a broadcast adresy na názvy domén.
-E Zobrazuje data linkové vrstvy ( MAC adresu , protokol, délku paketu). Kromě IP adres se zobrazí MAC adresy počítačů.
-F soubor Použijte filtr v souboru. Pokud použijete tuto možnost, bude filtr z příkazového řádku ignorován.
-i Označuje, které síťové rozhraní bude použito k zachycení paketů. Ve výchozím nastavení - eth0, pro výběr všech rozhraní - libovolné. Pokud neexistuje žádná místní síť, můžete použít rozhraní zpětné smyčky lo.
-l Použijte standardní výstup streamu tcpdump (stdout), například pro zápis do souboru: shell# tcpdump -l | tee out.log //zobrazení operace tcpdump a uložení výsledku do souboru out.log
-N Nepřidává příponu domény k názvům hostitelů. Například tcpdump zobrazí 'net' místo 'net.library.org'
-n Místo názvu hostitele zobrazí adresu IP .
-nn Zobrazuje číslo portu místo protokolu, který používá.
-p Nenastaví rozhraní na příjem všech paketů (promiskuitní režim).
-q Zobrazuje minimum informací. Obvykle se jedná o název protokolu, odkud a odkud paket pochází, porty a množství přenesených dat.
-r Tato volba umožňuje tcpdump číst provoz ze souboru, pokud byl dříve uložen s volbou -w.
-S Umožňuje nezpracovávat absolutní pořadová čísla (počáteční pořadové číslo - ISN) na relativní.
-s číslo Počet bajtů paketů, které tcpdump zpracuje. Pokud nastavíte velký počet bajtů zobrazení, informace se nemusí vejít na obrazovku a mohou být obtížně čitelné. Podle toho, jaké cíle sledujete, byste měli zvolit hodnotu tohoto parametru. Ve výchozím nastavení tcpdump zachytí prvních 68 bajtů (minimálně 96 bajtů na SunOS), ale pokud chcete vidět obsah celého paketu, použijte 1514 bajtů (maximální povolená velikost rámce v síti Ethernet).
-t Nezobrazuje časové razítko na každém řádku.
-T typ Interpretace paketů daného typu. Podporované typy jsou aodv , cnfp , rpc , rtp , rtcp , snmp , tftp , vat , wb .
-tt Zobrazuje na každém řádku neformátované časové razítko.
-tttt Zobrazuje čas spolu s datem.
-proti Výstupní podrobné informace (TTL; ID; celková délka hlavičky a její parametry; kontroluje kontrolní součty hlaviček IP a ICMP )
-vv Výstup ještě úplnějších informací se týká především NFS a SMB.
-vvv Výstup nejpodrobnějších informací.
-w soubor Ukládá data tcpdump v binárním formátu. Výhodou použití této metody oproti běžnému přesměrování do souboru je vysoká rychlost zápisu a možnost číst podobná data jinými programy, např. snort, ale tento soubor člověk přečíst nemůže. Do konzole je možné vysílat binární data, k tomu musíte použít -w -
-X Vytvoří výpis balíku v šestnáctkové soustavě, což je užitečné pro podrobnější analýzu balíku. Množství zobrazených dat závisí na volbě -s
-xx Stejné jako předchozí volba -x , ale zahrnuje záhlaví vrstvy odkazů
-X Vypíše balíček ve formátu ASCII a hex. Užitečné v případě analýzy hackerského incidentu, protože vám umožňuje vidět, jaké textové informace byly přeneseny během připojení.
-XX Stejné jako předchozí volba -X , ale obsahuje záhlaví link-layer.
-c číslo tcpdump se ukončí po přijetí zadaného počtu paketů.
-U Nasbírané balíčky budou okamžitě přidány do souboru, jinak se budou hromadit v paměti, dokud neskončí

Příklady

Pokud je tcpdump spuštěn bez parametrů, vytiskne informace o všech síťových paketech. Pomocí parametru -imůžete určit síťové rozhraní, ze kterého mají být přijímána data:

# tcpdump -i eth2

Chcete-li zjistit pakety přijaté nebo odeslané z konkrétního hostitele, musíte za klíčové slovo zadat jeho název nebo IP adresu host:

# tcpdump hostnameofserver

Níže je uveden způsob, jak se můžete dozvědět o paketech vyměňovaných mezi nameofserverA a nameofserverB:

# tcpdump host nameofserverA a nameofserverB

Chcete-li monitorovat pouze odchozí pakety z hostitele, musíte zadat následující:

# tcpdump src hostnameofserver

Pouze příchozí balíčky:

# tcpdump dst hostnameofserver

Zdrojový port a cílový port:

# tcpdump dst port 80 # tcpdump src port 22

Chcete-li sledovat jeden z protokolů TCP , UDP , ICMP , musí být v příkazu uveden jeho název. Pomocí operátorů and( &&), or( ||) a not( !) můžete nastavit filtry libovolné složitosti. Priorita operátoru: inverze, potom and, za - or.

Příklad filtru, který sleduje pouze pakety UDP přicházející z externí sítě:

# tcpdump udp a ne src net localnet

Implementace softwaru

Program se skládá ze dvou hlavních částí: část pro zachycení paketů (přístup do knihovny, libpcap (Unix) nebo pcap (Windows)) a část pro zobrazení zachycených paketů (která je modulární na úrovni zdrojového kódu a stačí přidat nový modul pro podporu nového protokolu).

Část pro zachycení paketů (při spuštění) předá „výraz pro výběr paketů“ (který přichází za všemi možnostmi příkazového řádku) přímo do knihovny pro zachycení paketů, která zkontroluje syntaxi výrazu, zkompiluje jej (do interního datového formátu) a poté zkopíruje síťové pakety do vnitřní vyrovnávací paměti programu, projde vybraným rozhraním a splňuje podmínky ve výrazu.

Část mapování paketů vybírá zachycené pakety jeden po druhém z vyrovnávací paměti naplněné knihovnou a tiskne je (v lidsky čitelné formě) na standardní výstup řádek po řádku, podle zadané úrovně podrobností (na příkazovém řádku).

Pokud je zadán podrobný výstup paketů, program pro každý síťový paket zkontroluje, zda má modul pro dešifrování dat, a pokud ano, extrahuje (a zobrazí) typ paketu v protokolu nebo parametry přenášené v paketu příslušným podprogramem. .

Multiplatformní

Program tcpdump byl původně vyvinut pro systémy podobné UNIXu, později byl portován na jiné systémy.

Pro Windows aktuálně známé:

  • tcpdump pro Windows - komerční implementace jako jeden soubor tcpdump.exe
  • WinDump  je open source implementace, která vyžaduje instalaci knihovny WinPcap (volný software).

Viz také

Poznámky

  1. Projekt tcpdump Open Source na Open Hub: Stránka jazyků - 2006.
  2. Vydání 4.99.1 – 2021.
  3. https://github.com/the-tcpdump-group/tcpdump/blob/master/LICENSE

Odkazy