tcpdump | |
---|---|
| |
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íč | 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čí |
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 eth2Chcete-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 hostnameofserverNíž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 nameofserverBChcete-li monitorovat pouze odchozí pakety z hostitele, musíte zadat následující:
# tcpdump src hostnameofserverPouze příchozí balíčky:
# tcpdump dst hostnameofserverZdrojový port a cílový port:
# tcpdump dst port 80 # tcpdump src port 22Chcete-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 localnetProgram 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. .
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é: