Skip to main content

Tcpdump: Příklady, možnosti a další

Peter Edgette, 606 Raw Bench Press PR & Kaz Commentary (Červen 2026)

Peter Edgette, 606 Raw Bench Press PR & Kaz Commentary (Červen 2026)
Anonim

Tcpdump je příkaz používaný na různých operačních systémech Linux (OSs), které shromažďují pakety TCP / IP, které procházejí síťovým adaptérem. Stejně jako nástroj pro vytváření paketů, tcpdump může nejen analyzovat síťový provoz, ale také jej uložit do souboru.

Na rozdíl od některých příkazů, které jsou ve výchozím nastavení poskytovány operačním systémem, můžete zjistit, že tcpdump nelze použít, protože není nainstalován. Chcete-li nainstalovat tcpdump, spusťte apt-get install tcpdump nebo instalovat tcpdump, v závislosti na operačním systému.

Jak funguje Tcpdump

Tcpdump vytiskne záhlaví paketů na síťovém rozhraní, které odpovídá Boolean výraz . Může být také spuštěn s-w což způsobí uložení paketových dat do souboru pro pozdější analýzu a / nebo-r flag, což způsobuje, že je přečte ze uloženého paketového souboru, nikoli číst pakety ze síťového rozhraní. Ve všech případech platí pouze pakety výraz budou zpracovávány tcpdump .

Tcpdump bude, pokud není spuštěn s-C pokračujte v zachycování paketů, dokud není přerušen signálem SIGINT (generovaný například zadáním znaku přerušení, typicky Ctrl + C) nebo signál SIGTERM (obvykle generovaný pomocízabít(1) příkaz; pokud běžíte s-C bude paket zachycovat pakety, dokud nebude přerušen signálem SIGINT nebo SIGTERM nebo bude zpracován zadaný počet paketů.

Výše uvedené přepínače jsou podrobněji vysvětleny později v tomto článku.

Když tcpdump ukončí zachycování paketů, bude hlásit počet:

  • Pakety "obdržené filtrem."
    • Význam toho závisí na operačním systému, na kterém běžíte tcpdump , a možná i podle způsobu konfigurace operačního systému. Pokud byl na příkazovém řádku zadán filtr, na některých operačních systémech se počítají pakety bez ohledu na to, zda byly propojeny výrazem filtru, a na ostatních počítají pouze pakety, které odpovídaly výrazu filtru a byly zpracovány tcpdump.
  • Pakety "klesly o jádro."
    • Jedná se o počet paketů, které byly kvůli nedostatku vyrovnávací paměti vynechány mechanismem zachycení paketů v operačním systému, na kterém je tcpdump je spuštěn, pokud systém OS hlásí tyto informace aplikacím. Pokud tomu tak není, bude hlášeno jako 0.

Na platformách, které podporují signál SIGINFO, jako je většina BSD (Berkeley Software Distributions), oznámí tyto počty, když obdrží signál SIGINFO (generovaný například zadáním znaku "status", typicky Ctrl + T) a bude pokračovat v zachycování paketů.

Kompatibilita Tcpdump

Čtení paketů ze síťového rozhraní pomocí příkazu tcpdump může vyžadovat speciální oprávnění ( čtení uložený paketový soubor nevyžaduje takové oprávnění):

  • SunOS 3.x nebo 4.x s NIT nebo BPF: Musíte mít přístup ke čtení / dev / nit nebo dev / bpf * .
  • Solaris s DLPI: Musíte mít přístup k čtení a zápisu do síťového pseudo zařízení, například / dev / le . Přinejmenším na některých verzích Solarisu to však není dostačující tcpdump zachytit v promiskuitním režimu; na těch verzích Solarisu, musíte být root, nebo tcpdump musí být instalován nastaven na kořen, aby byl zachycen v promiskuitním režimu. Všimněte si, že na mnoha (možná všech) rozhraních, pokud nezachycujete v promiskuitním režimu, neuvidíte žádné odchozí pakety, takže zachycení neprovedené v promiskuitním režimu nemusí být velmi užitečné.
  • HP-UX s DLPI: Musíte být root nebo tcpdump musí být nainstalována nastavena na root.
  • IRIX se snoopem: Musíte být root nebo tcpdump musí být nainstalována nastavena na root.
  • Linux: Musíte být root nebo tcpdump musí být nainstalována nastavena na root.
  • Ultrix a digitální UNIX / Tru64 UNIX: Každý uživatel může zachytit síťovou komunikaci pomocí tcpdump . Žádný uživatel (dokonce ani superuživatel) však nemůže zachytit v promiskuitním režimu na rozhraní, pokud superuživatel neumožnil provozování promiskuitního režimu na tomto rozhraní pomocí pfconfig (8) a žádný uživatel (nikoli dokonce superuživatel) může zachytit unicastovou komunikaci přijatou nebo odeslanou strojem na rozhraní, pokud superuživatel nemá v tomto rozhraní povoleno kopírování všech režimů pfconfig , tak užitečný zachycování paketů na rozhraní pravděpodobně vyžaduje, aby v tomto rozhraní bylo povoleno buď promiskuitní režim nebo operace kopírování všech operací nebo oba režimy provozu.
  • BSD: Musíte mít přístup ke čtení / dev / bpf * .

Syntaxe příkazu Tcpdump

Stejně jako všechny příkazy počítače, příkaz tcpdump funguje správně, pouze pokud je správná syntaxe:

tcpdump -deflnNOpqRStuvxX -C spočítat

-C velikost souboru -F soubor

-i rozhraní -m modul -r soubor

-s zapadl -T typ -U uživatel -w soubor

-E algo: tajemství výraz

Možnosti příkazu Tcpdump

Toto jsou všechny možnosti, které můžete použít s příkazem tcpdump:

  • -A: Pokus o převedení adresy sítě a vysílání na jména.
  • -C: Ukončit po příjmu spočítat pakety.
  • -C: Před zapsáním nespracovaného paketu do souboru pro uložení zkontrolujte, zda je soubor aktuálně větší než velikost souboru a pokud ano, zavřete aktuální soubor uložení a otevřete nový.Po prvním uložení souborů bude soubor Savefiles zadán s názvem-w vlajka s číslem po něm začíná na 2 a pokračuje nahoru. Jednotky velikost souboru jsou miliony bajtů (1 000 000 bajtů, nikoli 1 048 576 bajtů).
  • -d: Vypusťte kompilovaný kód odpovídajících paketům ve formě čitelné pro lidi na standardní výstup a zastavení.
  • -dd: Kopírování kódů paketu jakoC fragment programu.
  • -ddd: Kopírování kódů paketů jako desetinných čísel (předchází počet).
  • -E: Vytiskněte záhlaví úrovně odkazu na každou linku výpisu.
  • -E: Použijte algo: tajemství pro dešifrování paketů IPsec ESP. Algoritmy mohou býtdes-cbc, 3des-cbc, blowfish-cbc, rc3-cbc, cast128-cbc, nebožádný. Výchozí hodnota jedes-cbc. Schopnost dešifrovat pakety je k dispozici pouze v případě tcpdump byl kompilován s povolenou kryptografií. tajemství text ascii pro tajný klíč ESP. V tuto chvíli nemůžeme mít libovolnou binární hodnotu. Volba předpokládá ESP RFC2406, nikoliv RFC1827 ESP. Tato možnost je určena pouze pro účely ladění a použití této možnosti s opravdovým "tajným" klíčem je odrazeno. Předkládáním tajného klíče IPsec na příkazový řádek je viditelné pro ostatní, prostřednictvím ps (1) a jiných příležitostech.
  • -F: Vytiskněte "zahraniční" internetové adresy numericky a ne symbolicky (tato možnost je určena k získání vážných poškození mozku na serveri Sun serveru - obvykle to visí navěky překládat nelokální internetová čísla).
  • -F: Použijte soubor jako vstup pro výraz filtru. Další příkaz uvedený na příkazovém řádku je ignorován.
  • -i: Poslouchejte rozhraní . Pokud není uvedeno jinak, tcpdump prohledává seznam systémových rozhraní pro nejmenší, nakonfigurované rozhraní (s výjimkou zpětné vazby). Vazby jsou porušeny výběrem nejčasnějšího zápasu. V systémech Linux s 2.2 nebo novějšími jádry, a rozhraní argument "všech" může být použit pro zachycení paketů ze všech rozhraní. Všimněte si, že zachycení na "jakémkoli" zařízení nebude provedeno v promiskuitním režimu.
  • -l: Vytvořte vyrovnávací paměť stdout linky. Užitečné, chcete-li zobrazit data při jejich zachycení. Například "tcpdump -l | tee dat" nebo "tcpdump -l> dat & tail -f dat".
  • -m: Načíst definice modulu SMI MIB ze souboru modul . Tato volba může být použita několikrát k načtení několika modulů MIB tcpdump .
  • -n: Nekonvertujte hostitelské adresy na jména. To lze využít k vyloučení vyhledávání DNS.
  • -nn: Nekonvertujete čísla protokolů a portů atd. Na jména.
  • -N: Nevytiskněte názvy doménových jmen hostitelů. Například pokud dáte tento příznak, pak tcpdump vytiskne "nic" namísto "nic.ddn.mil".
  • : Neprovádějte optimalizátor kódů odpovídajících paketu. To je užitečné pouze v případě, že máte podezření na chybu v optimalizátoru.
  • -p: Ne vložte rozhraní do promiskuitního režimu. Všimněte si, že rozhraní může být v promiskuitním režimu z nějakého jiného důvodu; proto "-p" nemůže být použit jako zkratka pro "éter host local-hw-addr} nebo ether-broadcast".
  • -q: Rychlý (tichý) výstup. Tiskněte méně protokolových informací, takže výstupní řádky jsou kratší.
  • -R: Předpokládejme, že pakety ESP / AH budou vycházet ze staré specifikace: RFC1825 až RFC1829. Pokud je uvedeno, tcpdump nebude tisknout pole prevence přehrávání. Vzhledem k tomu, že ve specifikaci ESP / AH neexistuje pole verze protokolu, tcpdump nemůže odvodit verzi protokolu ESP / AH.
  • -r: Přečíst pakety z soubor (který byl vytvořen s volbou -w). Standardní vstup se používá, pokud soubor je "-''.
  • -S: Vytiskněte čísla absolutních, nikoliv relativních, TCP.
  • -s: Snarf zapadl bajtů dat z každého paketu spíše než výchozí hodnoty 68; s NITem SunOS je minimálně 96. Šestnáct osm bajtů je vhodné pro protokoly IP, ICMP, TCP a UDP, ale může zkrátit informace o protokolu z balíčků jmenného serveru a NFS (viz níže). Pakety zkrácené z důvodu omezeného snímku jsou na výstupu označeny znakem " proto '', kde proto je název úrovně protokolu, ve které došlo ke zkrácení. Všimněte si, že zvětšení snímků zvyšuje čas potřebný pro zpracování paketů a efektivně snižuje množství vyrovnávací paměti paketů. To může způsobit ztrátu paketů. Měli byste omezit zapadl na nejmenší číslo, které zachycuje informace o protokolu, které vás zajímají. Nastavení zapadl na 0 znamená použít požadovanou délku pro zachycení celých paketů.
  • -T: Force pakety vybrané podle " výraz "být interpretován specifikován typ . V současné době jsou známé typycnfp (Protokol Cisco NetFlow),rpc (Vzdálené volání procedur),rtp (Protokol aplikací v reálném čase),rtcp (Řídící protokol Real-Time Applications),snmp (Protokol Simple Network Management Protocol),káď (Visual Audio Tool) awb (distribuovaná bílá tabulka).
  • -t: Ne vytiskněte časové razítko na každé výpisu.
  • -tt: Vytiskněte neformátované časové razítko na každou výpisovou linku.
  • -U: Odstraní oprávnění root a změní ID uživatele uživatel a ID skupiny k primární skupině uživatel .
  • Poznámka: Red Hat Linux automaticky uděluje oprávnění uživateli "pcap", pokud není zadáno nic jiného.
  • -ttt: Vytiskněte delta (v mikrosekundách) mezi aktuální a předcházející čárou na každé linii výpisu.
  • -tttt: Tisk časového razítka ve výchozím formátu pokračuje podle data na každém výpisu.
  • -u: Tisknout nekódované NFS úchyty.
  • -proti: (Trochu více) podrobný výstup. Například čas tisku, identifikace, celková délka a volby v IP paketu jsou vytištěny. Umožňuje také další kontroly integrity paketů, jako je ověření kontrolního součtu hlaviček IP a ICMP.
  • -vv: Dokonce více verbose výstupu. Například další pole jsou vytištěna z paketů odpovědí NFS a pakety SMB jsou plně dekódovány.
  • -vvv: Dokonce více verbose výstupu. Například telnetSBSE možnosti jsou vytištěny úplně. S -X volby telnet jsou také vytištěny v šestnácti.
  • -w: Napište surové pakety na soubor spíše než analyzovat a tisknout je. Mohou být později vytištěny pomocí volby -r. Standardní výstup se používá, pokud soubor je "-''.
  • -X: Vytiskněte každý paket (minus jeho záhlaví úrovně odkazu) v šestnácti. Menší z celého paketu nebo zapadl bajty budou vytištěny. Všimněte si, že se jedná o celý paket propojovací vrstvy, takže pro vrstvy odkazů, které se vkládají (např. Ethernet), budou vycpávky vytištěny i v případě, že paket s vyšší vrstvou bude kratší než požadované vycpávky.
  • -X: Při tisku hex, vytiskněte také ascii. Takže pokud-X je také nastaven, paket je vytištěn v hex / ascii. To je velmi užitečné pro analýzu nových protokolů. I kdyby-X také není nastavena, některé části některých paketů mohou být vytištěny v hex / ascii.
  • výraz : Vybírá, které pakety budou vyhozeny. Jestli ne výraz je uvedeno, budou všechny pakety na síti vyhozeny. V opačném případě platí pouze pakety výraz je "pravda" bude vyhozena. The výraz se skládá z jednoho nebo více primitivy. Primitivy obvykle sestávají z jednoho id (jméno nebo číslo), kterému předchází jeden nebo více kvalifikátorů. Existují tři různé druhy kvalifikací:
  • typ : Kvalifikátory říkají, na jakou věc se jména nebo číslo odkazuje. Možné typy jsouhostitel, síť, apřístav- například "host foo", "net 128.3", "port 20". Pokud neexistuje žádný kvalifikátor typu,hostitel je předpokládáno.
  • dir : Kvalifikátory určují konkrétní směr přechodu do a / nebo od id . Možné směry jsousrc, dst, src nebo dst asrc a dst (např. 'src foo', 'dst net 128.3', 'src nebo dst port ftp-data'). Není-li k dispozici žádný kvalifikátor,src nebo dst je předpokládáno. Pro "nulové" vrstvy spojů (tj. Protokoly typu point-to-point jako sklouznutí) příchozí a odchozí Kvalifikátory mohou být použity k určení požadovaného směru.
  • proto : Kvalifikátory omezují shodu s určitým protokolem. Možné protos jsou: éter, fddi, tr, ip, ip6, arp, rarp, decnet, tcp, audp- například "ether src foo", "arp net 128.3", "tcp port 21". Pokud neexistuje žádný proto kvalifikátor, předpokládají se všechny protokoly odpovídající typu. Například 'src foo' znamená '(ip nebo arp or rarp) src foo' (s výjimkou toho, že to není legální syntaxe), 'net bar' znamená '(ip nebo arp or rarp) net bar' znamená '(tcp nebo udp) port 53'.
    • fddi je vlastně alias pro "éter"; analyzátor je považuje za "úroveň datového spojení použitého na určeném síťovém rozhraní." Záhlaví FDDI obsahují adresy zdrojové a cílové adresy typu Ethernet a často obsahují typy paketů typu Ethernet, takže můžete filtrovat pouze tato pole FDDI jako u analogových polí Ethernet.FDDI záhlaví také obsahují další pole, ale nemůžete je explicitně pojmenovat ve výrazu filtru.
    • Podobně "tr" je alias pro "éter"; příkazy předchozího odstavce o hlavičkách FDDI se vztahují také na hlavičky Token Ring.

Kromě výše uvedených existují některé speciální "primitivní" klíčová slova, která nevyhovují vzoru:brána, přenos, méně, větší, a aritmetický výrazy. Všechny tyto informace jsou popsány níže.

Složitější výrazy filtru se vytvářejí pomocí slova, nebo, ane kombinovat primitivy - například "host foo a ne port ftp a ne port ftp-data". Chcete-li uložit typování, mohou být vynechány stejné seznamy kvalifikátorů (např. "Tcp dst port ftp nebo ftp-data nebo doména" je přesně stejný jako "tcp dst port ftp nebo tcp dst port ftp-data nebo tcp dst port domain".)

Toto jsou primitivy povolené příkazem tcpdump:

  • dst host hostitel
    • Je pravda, pokud je cílové pole IPv4 / v6 paketu hostitel , což může být buď adresa, nebo jméno.
  • src host hostitel
    • Je pravdivé, pokud je zdrojové pole paketu IPv4 / v6 hostitel .
  • hostitel hostitel
    • Je pravda, jestli je buď zdroj IPv4 / v6 nebo cíl paketu hostitel . Některé z výše uvedených výrazů hostitele mohou být přiděleny klíčovými slovy,ip, arp, rarp, neboip6, jako v ip host hostitel (což je ekvivalentní ether éter ip a hostitele hostitel).
    • Li hostitel je název s více adresami IP, každá adresa bude zkontrolována pro shodu.
  • ether dst ehost
    • Je pravda, pokud je adresa cílové sítě Ethernet ehost . Ehost může být buď název z / etc / ethers nebo číslo (viz ethery (3N) pro číselný formát).
  • ether src ehost
    • Je pravda, pokud je zdrojová adresa Ethernet ehost .
  • ether hostitele ehost
    • Je pravda, zda je buď zdroj Ethernet nebo cílová adresa ehost .
  • brána hostitel
    • Je pravda, pokud je použitý paket hostitel jako brána (tj. zdroj Ethernet nebo cílová adresa byla hostitel ale ani zdroj IP ani cíl IP nebyly hostitel ).
    • Hostitel musí být jméno a musí se nalézt jak mechanismem rozlišení hostitele-jméno-IP-adresy (soubor názvu hostitele, DNS, NIS atd.) a mechanismem rozlišení hostitele-jméno-na-Ethernet (/ etc / ethers atd.).
    • Ekvivalentní výraz je ether hostitele ehost a nyní hostitel hostitel , které lze použít s názvy nebo čísly host / ehost .) Tato syntaxe momentálně nefunguje v konfiguraci s podporou protokolu IPv6.
  • dst net síť
    • Je pravda, pokud má cílová adresa IPv4 / v6 paketu číslo sítě síť . Síť může být buď název z / etc / networks nebo číslo sítě (viz sítě (4) pro detaily).
  • src net síť
    • Je pravda, pokud má zdrojová adresa IPv4 / v6 paketu číslo sítě síť .
  • síť síť
    • Je pravda, pokud má zdrojová nebo cílová adresa IPv4 / v6 paket sítě číslo sítě síť .
  • síť síť maska síťová maska
    • Je pravda, pokud se shoduje adresa IP síť s konkrétním síťová maska . Může být kvalifikován ssrc nebodst. Všimněte si, že tato syntaxe není platná pro protokol IPv6 síť .
  • síť síť / jen
    • Je pravda, pokud se shoduje adresa IPv4 / v6 síť se síťovou maskou jen bits wide. Může být kvalifikován ssrc nebodst.
  • dst port přístav
    • Je pravda, pokud je paket ip / tcp, ip / udp, ip6 / tcp nebo ip6 / udp a má hodnotu cílového portu přístav . The přístav může být číslo nebo jméno použité v / etc / services (viz tcp (4P) a udp (4P)). Používá-li se název, jsou kontrolovány jak číslo portu, tak protokol. Pokud je použito číslo nebo dvojznačný název, je zaškrtnuto pouze číslo portu (např.dst port 513 bude tisknout jak tcp / login provozu, tak udp / who traffic aportová doména bude tisknout jak tcp / doména, tak i udp / doména).
  • src port přístav
    • Je pravda, pokud paket má hodnotu zdrojového portu přístav .
  • přístav přístav
    • Je pravda, jestli je zdrojový nebo cílový port paketu přístav . Některé z výše uvedených výrazů portů mohou být přiděleny klíčovými slovy,tcp neboudp, jako v port tcp src přístav , který odpovídá pouze paketům tcp, jejichž zdrojový port je přístav .
  • méně délka
    • Je pravda, že paket má délku menší nebo rovnou délka . To je ekvivalentní len <= Délka .
  • větší délka
    • Je pravda, že paket má délku větší nebo rovnou délka . To je ekvivalentní len> = Délka .
  • ip proto protokol
    • Je pravda, pokud je paket IP paket (viz ip (4P)) typu protokolu protokol . Protokol může být číslo nebo jedno z jmen icmp , icmp6 , igmp , igrp , pim , ah , esp , vrrp , udp , nebo tcp . Všimněte si, že identifikátory tcp , udp , a icmp jsou také klíčová slova a musí být unikáni zpětným lomítkem (), což je ve skořápce C. Všimněte si, že tento primitiv nesleduje řetězec hlaviček protokolu.
  • ip6 proto protokol
    • Je pravda, pokud je paket IPv6 paketu typu protokolu protokol . Všimněte si, že tento primitiv nesleduje řetězec hlaviček protokolu.
  • ip6 protochain protokol
    • Je pravda, pokud paket je paket IPv6 a obsahuje záhlaví protokolu s typem protokol ve svém řetězci hlavičky protokolu. Například, ipch6 protochain 6 odpovídá jakémukoli paketu IPv6 s hlavičkou protokolu TCP v řetězci hlavičky protokolu. Paket může obsahovat například hlavičku ověřování, záhlaví směrování nebo hlavičku volby hop-by-hop, mezi záhlaví protokolu IPv6 a hlavičkou TCP. BPF kód vysílaný touto primitivou je složitý a nemůže být optimalizován kódem optimalizace BPF tcpdump , takže to může být poněkud pomalé.
  • ip protochain protokol
    • Ekvivalentníip6 protochain protokol , ale je to pro IPv4.
  • éteru
    • Je pravda, pokud je paket vysílací paket Ethernet. The éter klíčové slovo je volitelné.
  • ip vysílání
    • Je pravda, pokud paket je paket vysílání IP. Zkontroluje jak konvence vysílání všech nuly, tak i všechno a vyhledá lokální masku podsítě.
  • ether multicast
    • Je pravda, pokud je paket ethernetovým multicastovým paketem. The éter klíčové slovo je volitelné. Toto je zkratka pro "ether 0 & 1! = 0'.
  • ip multicast
    • Je pravda, pokud paket je paket IP pro vícesměrové vysílání.
  • ip6 multicast
    • Je pravda, pokud paket je paket multicast IPv6.
  • ether éter protokol
    • Je pravda, jestli je paket etherického typu protokol . Protokol může být číslo nebo jedno z jmen ip , ip6 , arp , rarp , řeč , aarp , decnet , sca , lat , mopdl , moprc , iso , stp , ipx , nebo netbeui . Upozorňujeme, že tyto identifikátory jsou také klíčová slova a musí uniknout zpětným lomítkem ().
    • V případě FDDI (např.fddi protokol arp') a Token Ring (např.tr protokol arp'), u většiny protokolů je identifikace protokolu z 802.2 hlavičky Logical Link Control (LLC), která je obvykle navrstvena nad záhlaví FDDI nebo Token Ring.
    • Při filtrování většiny identifikátorů protokolu na FDDI nebo Token Ring, tcpdump kontroluje pouze pole protokolu ID záhlaví LLC v tzv. SNAP formátu s identifikátorem organizační jednotky (OUI) 0x000000 pro zapouzdřený Ethernet; nekontroluje, zda je paket ve formátu SNAP s OUI 0x000000.
    • Výjimky jsou iso , pro které kontroluje pole DSAP (Access Point Access Point) a SSAP (Source Service Access Point) pole záhlaví LLC, stp a netbeui , kde kontroluje DSAP záhlaví LLC a řeč , kde kontroluje balíček formátu SNAP s OUI 0x080007 a typem Appletalk.
    • V případě sítě Ethernet, tcpdump zkontroluje pole typu Ethernet pro většinu těchto protokolů; výjimky jsou iso , míza , a netbeui , pro které kontroluje rámec 802.3 a poté zkontroluje záhlaví LLC stejně jako pro FDDI a Token Ring; řeč , kde kontroluje oba typy e-mailů Appletalk v rámci Ethernet a balíček ve formátu SNAP jako u FDDI a Token Ring; aarp , kde kontroluje typ ART Appletalk buď v rámci Ethernet, nebo 802.2 rám SNAP s OUI 0x000000; a ipx , kde kontroluje typ IPX v rámci Ethernet, IPX DSAP v záhlaví LLC, 802.3 bez zapouzdření hlavičky LLC IPX a IPX etype v rámečku SNAP.
  • decnet src hostitel
    • Je pravda, jestli je zdrojová adresa DECNET hostitel , což může být adresa formuláře "10.123" nebo název hostitele DECNET. Podpora názvu hostitele DECNET je k dispozici pouze v systémech Ultrix, které jsou nakonfigurovány pro spuštění služby DECNET.
  • decnet dst hostitel
    • Je pravda, jestli je cílová adresa DECNET hostitel .
  • deknet hostitel hostitel
    • Je pravda, zda je buď zdroj DECNET nebo cílová adresa hostitel .
  • ip, ip6, arp, rarp, řeč, aarp, decnet, iso, stp, ipx, netbeui
    • Zkratky pro ether éter str kde str je jedním z výše uvedených protokolů.
  • lat, moprc, mopdl
    • Zkratky pro ether éter str kde str je jedním z výše uvedených protokolů. Všimněte si, že tcpdump v současné době neumějí analyzovat tyto protokoly.
  • vlan vlan_id
    • Je pravda, pokud paket je paket IEEE 802.1Q VLAN. Li vlan_id je určena pouze, pokud je paket zadán vlan_id . Všimněte si, že prvnívlan klíčové slovo se setkalo v výraz změní dekódovací offsety pro zbývající část výraz za předpokladu, že paket je paket VLAN.
  • tcp, udp, icmp
    • Zkratky pro ip proto str nebo ip6 proto str kde str je jedním z výše uvedených protokolů.
  • iso proto protokol
    • Je pravda, pokud je paket OSI paketu typu protokolu protokol . Protokol může být číslo nebo jedno z jmen clnp , esis , nebo isis .
  • clnp, esis, isis
    • Zkratky pro iso proto str kde str je jedním z výše uvedených protokolů. Všimněte si, že tcpdump provádí neúplnou práci při analýze těchto protokolů.
  • expr relop expr
    • Je pravda, pokud vztah platí, kde relop je jedním z>, <,> =, <=, =,! =, a expr je aritmetický výraz složený z celočíselných konstant (vyjádřených ve standardní syntaxi C), normálních binárních operátorů +, -, *, /, &, |, operátorů délky a speciálních paketových datových doplňků. Pro přístup k datům uvnitř paketu použijte následující syntaxi: proto expr: velikost .

Proto je jedním zéter, fddi, tr, ppp, uklouznutí, odkaz, ip, arp, rarp, tcp, udp, icmp, nebo ip6, a označuje vrstvu protokolu pro operaci indexu (éter, fddi, tr, ppp, uklouznutí, aodkaz všechny odkazují na vrstvu odkazu). Všimněte si, že tcp, udp a další typy protokolů vyšší vrstvy platí pouze pro protokol IPv4, nikoliv pro protokol IPv6 (bude to v budoucnu opraveno). Bajtová odchylka, vztažená na označenou vrstvu protokolu, je dána hodnotou expr . Velikost je volitelná a udává počet bajtů v oblasti zájmu; může to být jeden, dva nebo čtyři a výchozí je jeden. Operátor délky, označený klíčovým slovemjen, udává délku paketu.

Například, 'ether 0 & 1! = 0"zachycuje veškerou multicastovou komunikaci. Výraz 'ip 0 & 0xf! = 5'zachycuje všechny IP pakety s volbami. Výraz 'ip 6: 2 & 0x1fff = 0"zachycuje pouze nefragmentované datagramy a nulovou fragmentaci fragmentovaných datagramů. Tato kontrola je implicitně použita natcp audp indexové operace. Například, tcp 0 vždy znamená první bajt protokolu TCP záhlaví , a nikdy neznamená první bajt intervenčního fragmentu.

Některé offsety a hodnoty pole mohou být vyjádřeny jako názvy spíše než jako číselné hodnoty. K dispozici jsou následující offsety záhlaví protokolu záhlaví protokolu: icmptype (Pole typu ICMP),icmpcode (Pole kódu ICMP) atcpflags (Pole TCP příznaků).

K dispozici jsou následující hodnoty pole typu ICMP:icmp-echoreply, icmp-unreach, icmp-sourcequench, přesměrování icmp, icmp-echo, icmp-routeradvert, icmp-routersolicit, icmp-timxceed, icmp-paramprob, icmp-tstamp, icmp-tstampreply, icmp-ireq, icmp-ireqreply, icmp-maskreq, icmp-maskreply.

K dispozici jsou následující hodnoty pole TCP:tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-push, tcp-ack, tcp-urg.

Primitivy mohou být kombinovány pomocí některé z následujících možností:

  • Skupina zachycených prvků a operátorů (závorky jsou speciální pro Shell a musí uniknout)
  • Negace ('!'nebo `ne')
  • Zřetězení ("&&"nebo"a')
  • Alternativa ('||"nebo"nebo')

Negace má nejvyšší prioritu. Střídání a zřetězení mají stejnou přednost a spojují se zleva doprava. Všimněte si, že je výslovněa žetony, nikoliv vedle sebe, jsou vyžadovány pro zřetězení.

Pokud je identifikátor zadán bez klíčového slova, předpokládá se nejnovější klíčové slovo. Například, ne hostitele vs a eso je zkratka pro ne hostitele vs a host eso. Nemělo by to však být zaměněno ne (host vs nebo eso).

Argumenty výrazu mohou být předány tcpdump jako jeden argument nebo jako více argumentů, podle toho, co je výhodnější. Obecně platí, že pokud výraz obsahuje Shell metacharacters, je jednodušší jej předat jako jediný citovaný argument. Vícenásobné argumenty jsou spojeny s mezerami před analýzou.

Příklady Tcpdump

tcpdump hostující západ slunce

Výše uvedený příkaz tcpdump se používá k tisku všech paketů, které přicházejí nebo odcházejí západ slunce.

tcpdump host helios a (horké nebo eso )

Tento příklad tcpdump vytiskne provoz mezi helios a buď horký nebo eso.

tcpdump ip hostitelské eso a ne helios

Tento příkaz tcpdump můžete použít k vytištění všech IP paketů eso a libovolný hostitel helios.

tcpdump net ucb-ether

Ve výše uvedeném příkladu tcpdump vytiskne veškerou komunikaci mezi místními hostitelemi a hostitelemi v Berkeley.

tcpdump 'snap brány a (port ftp nebo ftp-data)'

Tento příklad příkazu tcpdump se používá k vytištění veškerého provozu FTP přes internetovou bránu snup . Všimněte si, že výraz je citován, aby se zabránilo chybnému interpretaci závorek.

tcpdump ip a net localnet

Ve výše uvedeném příkladu tcpdump příkaz vytiskne provoz, který není určen ani pro místní hostitele.

tcpdump 'tcp tcpflags & (tcp-syn | tcp-fin)! = 0 a ne src a dst net localnet '

U výše uvedeného příkladu příkazu tcpdump se příkaz používá k vytištění počátečních a koncových paketů (pakety SYN a FIN) každé konverzace TCP, která zahrnuje hostitelský server.

tcpdump 'snap a IP 2: 2> 576'

Výše uvedený příkaz vytiskne IP pakety delší než 576 bytů odeslaných přes bránu snup.

tcpdump 'ether 0 & 1 = 0 a ip 16> = 224'

Příkaz tcpdump zobrazený výše vytiskne pakety IP vysílání nebo vícesměrové vysílání, které byly ne odesílá se přes vysílání Ethernet nebo vícesměrové vysílání.

tcpdump 'icmp icmptype! = icmp-echo a icmp icmptype! = icmp-echoreply'

V tomto posledním příkladu příkazu tcpdump příkaz vytiskne všechny pakety ICMP, které nejsou požadavky na echo nebo odpovědi (tj. Ne ping pakety).

Výstupní formát Tcpdump

Výstup z tcpdump je protokol závislý. Následuje stručný popis a příklady většiny formátů.

Hlavičky úrovně propojení. Je-li zadána možnost "-e", vytiskne se hlavička úrovně propojení. V síti Ethernet se vytisknou zdrojové a cílové adresy, protokol a délka paketu.

Na sítích FDDI způsobuje volba "-e" tcpdump pro vytištění pole "kontrola rámce", adresy zdroje a cílové adresy a délku paketu. (Norma paketů (např. Ty, které obsahují IP datagramy) jsou pakety "async" s prioritní hodnotou mezi 0 a 7: například `async4'. Předpokládá se, že tyto pakety obsahují paket 802.2 Logical Link Control (LLC); hlavička LLC je vytištěna, pokud je ne datový graf ISO nebo takzvaný SNAP paket.

Na sítích Token Ring způsobuje volba "-e" tcpdump pro tisk polí "řízení přístupu" a "kontrola rámce", adresy zdroje a cílové adresy a délku paketu. Stejně jako u sítí FDDI předpokládáme, že pakety obsahují paket LLC. Bez ohledu na to, zda je zadána možnost "-e", informace o směrování zdroje jsou vytištěny pro pakety směrované zdrojovými kódy.

(N.B .: Následující popis předpokládá znalost SLIP kompresního algoritmu popsaného v dokumentu RFC-1144.)

U odkazů SLIP se vytiskne ukazatel směru ("I" pro příchozí, "O" pro odchozí), typ paketu a informace o kompresi. Typ paketu je vytištěn nejprve. Tři typy jsou ip , utcp , a ctcp . Žádné další odkazy nejsou vytištěny pro ip pakety. Pro pakety TCP se identifikátor připojení vytiskne podle typu. Je-li paket komprimován, vytiskne se jeho zakódovaná hlavička. Speciální případy jsou vytištěny jako* S + n a* SA + n , kde n je množství, kterým se změnilo pořadové číslo (nebo pořadové číslo a ack). Není-li to zvláštní případ, vytisknou se nula nebo více změn. Změna je označena znaky U (urgentní ukazatel), W (okno), A (ack), S (pořadové číslo) a I (paketové ID), následované delta (+ n nebo -n) (= n). Nakonec se vytiskne množství dat v paketu a délka komprimované hlavičky.

Například následující řádek zobrazuje odchozí komprimovaný paket TCP s implicitním identifikátorem připojení; se změnilo číslo 6, pořadové číslo o 49 a ID paketu o 6; existují 3 bajty dat a 6 bajtů komprimované hlavičky:

O ctcp * A + 6 S + 49 I + 6 3 (6)

Balíčky Arp / rarp. Výstup Arp / rarp zobrazuje typ požadavku a jeho argumenty. Formát má být vysvětlen. Zde je krátký vzorek odebraný od začátku "rlogin" od hostitele rtsg hostit csam :

arp kdo-má csam říct rtsgarp odpověď csam je v CSAM

První řádek říká, že rtsg poslal arp paket s žádostí o adresu Ethernet hostitelského csam. Csam odpovídá svou adresou Ethernet (v tomto příkladu jsou ethernetové adresy v malých písmenách označeny čepy a internetové adresy).

To by vypadalo méně nadbytečné, kdybychom to udělali tcpdump -n :

arp kdo má 128.3.254.6 říct 128.3.254.68arp odpověď 128.3.254.6 je-02: 07: 01: 00: 01: c4

Kdybychom to udělali tcpdump -e , je skutečnost, že první paket je vysílán a druhý je bod-k-bod by byl viditelný:

RTSG Broadcast 0806 64: arp kdo má csam říct rtsgCSAM RTSG 0806 64: arp odpověď csam je-CSAM

U prvního paketu se říká, že zdrojová adresa Ethernetu je RTSG, cílová adresa je adresa Ethernet, typové pole obsahuje hex 0806 (typ ETHER_ARP) a celková délka byla 64 bajtů.

TCP pakety (N.B .: Následující popis předpokládá obeznámenost s protokolem TCP popsaným v dokumentu RFC-793. Pokud nejste obeznámeni s protokolem, ani tento popis, ani tcpdump nebudou pro vás hodně užitečné) . Obecný formát linky protokolu tcp je:

src> dst: příznaky dat-seqno ack okno naléhavé volby

Src a dst jsou zdrojové a cílové adresy IP a porty. Vlajky jsou nějakou kombinací S (SYN), F (FIN), P (PUSH) nebo R (RST) nebo jediné '.' (bez příznaků). Data-seqno popisuje část sekvenčního prostoru pokrytého daty v tomto paketu (viz příklad níže). Ack je pořadové číslo dalších dat očekáváno v tomto směru druhým směrem. Okno je počet bajtů přijímaného vyrovnávací paměti k dispozici v druhém směru na tomto připojení. Urg označuje, že v paketu jsou "naléhavé" údaje. Možnosti jsou možnosti tcp uzavřené v úhlových závorách (např. ).

Src, dst, a vlajky jsou vždy přítomny. Ostatní pole závisí na obsahu záhlaví protokolu tcp paketu a jsou výstupní pouze v případě potřeby.

Zde je úvodní část rloginu z hostitele rtsg hostit csam .

rtsg.1023> csam.login: S 768512: 768512 (0) vyhrát 4096 csam.login> rtsg.1023: S 947648: 947648 (0) ack 768513 vyhrát 4096 rtsg.1023> csam.login:. ack 1 vyhrát 4096rtsg.1023> csam.login: P 1: 2 (1) ack 1 vyhrát 4096csam.login> rtsg.1023:. ack 2 vyhrát 4096rtsg.1023> csam.login: P 2:21 (19) ack 1 vyhrát 4096csam.login> rtsg.1023: P 1: 2 (1) ack 21 vyhrát 4077csam.login> rtsg.1023: P 2: 3 (1) ack 21 vyhrát 4077 urg 1csam.login> rtsg.1023: P 3: 4 (1) ack 21 vyhrát 4077 urg 1

První řádek říká, že port tcp 1023 na rtsg poslal paket do portu přihlásit se na csam. TheS znamená, že SYN byl nastaven příznak. Pořadové číslo paketu bylo 768512 a neobsahovalo žádné údaje. (Označení je 'první: poslední (nbytes)', což znamená 'pořadové čísla První až po nezahrnutí poslední který je nbytes bajtů uživatelských dat ".) Nebylo zde žádná záložka, kterou by bylo možné získat, dostupné okno pro přihlašování bylo 4096 bajtů a volba velikosti maximálního segmentu vyžadovala mss 1024 bajtů.

Csam odpovídá s podobným paketem, kromě toho, že obsahuje akvizici pro RTSG SYN. Rtsg potom acks csam SYN. '.' znamená, že nebyly nastaveny žádné vlajky. Paket neobsahoval žádná data, takže neexistuje žádné datové pořadové číslo. Všimněte si, že číslo řetězce ack je malé celé číslo (1). Poprvé tcpdump vidí konverzaci tcp, vytiskne pořadové číslo z paketu. Na následujících paktech konverzace se vytiskne rozdíl mezi sekvenčním číslem aktuálního paketu a počátečním pořadovým číslem. To znamená, že počáteční čísla po prvním lze interpretovat jako relativní pozice bajtů v datovém toku konverzace (s prvním datovým bajtem v každém směru je '1'). '-S' tuto funkci přepíše, což způsobí výstupní počáteční čísla.

Na šestém řádku odesílá rtsg csam 19 bajtů dat (bajty 2 až 20 v rtsg -> csam straně konverzace). Příznak PUSH je nastaven v paketu. Na sedmé lince csam říká, že se jedná o přijatá data odeslaná rtsg až po bajt 21. Většina těchto dat je zřejmě seděna v vyrovnávací paměti socketů, jelikož csam je přijímací okno získalo 19 bajtů menší. Csam také odesílá jeden bajt dat do rtsg v tomto paketu. Na osmém a devátém řádku odesílá csam dva bajty naléhavých, posunutých dat na rtsg.

Pokud byl snímek dostatečně malý tcpdump nezachytila ​​úplnou hlavičku protokolu TCP, interpretuje tolik hlaviček, kolik je, a pak hlásí " tcp ", aby bylo zřejmé, že zbytek nelze interpretovat. Pokud záhlaví obsahuje falešnou možnost (jedna s délkou, která je buď příliš malá nebo za koncem záhlaví), tcpdump hlásí to jako " špatná volba a nevykládá další možnosti (protože není možné zjistit, kde začínají). Pokud délka záhlaví naznačuje, že jsou k dispozici možnosti, ale délka datagramu IP není dostatečně dlouhá, aby mohly být skutečně dostupné, tcpdump hlásí to jako " špatná hdr délka ''.

Zachyťte pakety s konkrétními kombinacemi příznaků. Existuje osm bitů v části řídicích bitů v hlavičce TCP:

CWR | ECE | URG | ACK | PSH | RST | SYN | PLOUTEV

Předpokládejme, že chceme sledovat pakety používané při vytváření připojení TCP. Připomeňme si, že při inicializaci nového připojení používá protokol TCP protokol třístranného přenosu rukou; sekvence připojení s ohledem na řídicí bity TCP je:

  1. Volající pošle SYN.
  2. Příjemce reaguje pomocí příkazů SYN, ACK.
  3. Volající pošle ACK.

Nyní máme zájem zachytit pakety, které mají pouze sadu bitů SYN (krok 1). Všimněte si, že nechceme pakety z kroku 2 (SYN-ACK), jen prostý počáteční SYN. Potřebujeme správný výraz filtru tcpdump .

Vyvolat strukturu záhlaví TCP bez možností:

0 15 31-----------------------------------------------------------------| zdrojový port | cílový port |-----------------------------------------------------------------| pořadové číslo |-----------------------------------------------------------------| číslo potvrzení |-----------------------------------------------------------------| HL | rsvd | C | E | U | A | P | R | S | F | velikost okna |-----------------------------------------------------------------| Kontrolní součet TCP | naléhavý ukazatel-----------------------------------------------------------------

Záhlaví protokolu TCP obvykle obsahuje 20 oktetů dat, pokud nejsou k dispozici možnosti. První řádek grafu obsahuje oktety 0-3, druhý řádek obsahuje oktety 4-7 atd.

Začíná-li se počítat s 0, příslušné řídicí bity TCP jsou obsaženy v oktetu 13:

0 7| 15| 23| 31----------------|---------------|---------------|----------------| HL | rsvd | C | E | U | A | P | R | S | F | velikost okna |----------------|---------------|---------------|----------------| | 13. oktet | | |

Podívejme se blíže na oktet ne. 13:

| | |---------------| | C | E | U | A | P | R | S | F | |---------------| |7 5 3 0|

Jedná se o řídicí bity TCP, o které máme zájem. Čísla bitů v tomto oktetu byly číslovány od 0 do 7, zprava doleva, takže bit PSH je bit číslo 3, zatímco bit URG je číslo 5.

Připomeňme si, že chceme zachytit pakety pouze s nastavením SYN. Podívejme se, co se stane s oktetem 13, jestliže přijde datový blok TCP s nastaveným bitem SYN v jeho záhlaví:

| C | E | U | A | P | R | S | F | |---------------| |0 0 0 0 0 0 1 0| |---------------| |7 6 5 4 3 2 1 0|

Když se podíváme na část řídicích bitů, zjistíme, že je nastaveno pouze číslo 1 (SYN).

Za předpokladu, že octetové číslo 13 je 8bitové nepodepsané celé číslo v pořadí síťových bajtů, binární hodnota tohoto oktetu je:

00000010

Jeho desítkové reprezentace je:

7 6 5 4 3 2 1 00*2 + 0*2 + 0*2 + 0*2 + 0*2 + 0*2 + 1*2 + 0*2 = 2

Jsme skoro hotovi, protože nyní víme, že pokud je nastaven pouze SYN, hodnota 13 oktetu v hlavičce TCP, když je interpretována jako 8-bitové celé číslo bez znaménka v pořadí síťových bajtů, musí být přesně 2.

Tento vztah lze vyjádřit jako

tcp 13 == 2

Tento výraz můžeme použít jako filtr pro tcpdump aby mohli sledovat pakety, které mají pouze SYN nastaven:

tcpdump -i xl0 tcp 13 == 2

Výraz říká "nechte 13. oktet TCP datagramu desetinnou hodnotu 2", což je přesně to, co chceme.

Nyní předpokládejme, že potřebujeme zachytit pakety SYN, ale je nám jedno, zda je současně nastaven ACK nebo jakýkoli jiný řídicí bit TCP. Podívejte se na to, co se stane s oktetem 13 při příchodu datového souboru protokolu TCP s přístrojem SYN-ACK:

| C | E | U | A | P | R | S | F | |---------------| |0 0 0 1 0 0 1 0| |---------------| |7 6 5 4 3 2 1 0|

Bity 1 a 4 jsou nyní nastaveny v 13. oktetu. Binární hodnota oktetu 13 je:

00010010

který se převádí na desetinnou čárku:

7 6 5 4 3 2 1 00*2 + 0*2 + 0*2 + 1*2 + 0*2 + 0*2 + 1*2 + 0*2 = 18

Nemůžeme jen použít 'tcp 13 == 18' v tcpdump výraz filtru, protože by se vybraly pouze ty pakety, které mají sadu SYN-ACK, ale ty, které mají pouze sadu SYN. Nezapomeňte, že je nám jedno, zda je ACK nebo jakýkoli jiný ovládací bit nastaven tak dlouho, dokud je nastaven SYN.

Abychom dosáhli našeho cíle, musíme logicky AND binární hodnotu oktetu 13 nějakou jinou hodnotu zachovat bit SYN. Víme, že chceme, aby SYN byl nastaven v každém případě, takže logicky A bude hodnota v 13. oktetu s binární hodnotou SYN:

00010010 SYN-ACK 00000010 SYN A 00000010 (chceme SYN) A 00000010 (chceme SYN) -------- -------- = 00000010 = 00000010

Vidíme, že tato operace AND přináší stejný výsledek bez ohledu na to, zda je nastaven ACK nebo jiný řídicí bit TCP. Desítková reprezentace hodnoty AND, jakož i výsledek této operace je 2 (binární 00000010), takže víme, že pro pakety s nastavením SYN platí následující vztah:

((hodnota oktetu 13) AND (2)) == (2)

To nás ukazuje na tcpdump výraz filtru

tcpdump -i xl0 'tcp 13 & 2 == 2'

Všimněte si, že byste měli ve výrazu použít jednoduché uvozovky nebo zpětné lomítko, aby jste skryli zvláštní znak AND ('&').

UDP pakety. Formát UDP je ilustrován tímto balíčkem rwho:

aktinide.who> vysílání.who: udp 84

To říká ten přístav kdo na hostiteli aktinid poslal udg datagram do portu kdo na hostiteli přenos , internetová adresa vysílání. Paket obsahoval 84 bajtů uživatelských dat.

Některé služby protokolu UDP jsou rozpoznávány (od čísla zdrojového nebo cílového portu) a vyšších informací o protokolech jsou vytištěny - zejména žádosti o služby doménového jména (RFC-1034/1035) a volání Sun RPC (RFC-1050) na NFS.

Požadavky na název serveru UDP (N.B .: Následující popis předpokládá obeznámenost s protokolem Domain Service popsaným v dokumentu RFC-1035. Pokud se vám tento protokol netýká, následující popis nebude mít smysl.)

Požadavky jména serveru jsou formátovány jako:

src> dst: id op? příznaky qtype qclass name (len) h2opolo.1538> helios.domain: 3+ A? ucbvax.berkeley.edu. (37)

Hostitel h2opolo zeptal se doménového serveru helios pro záznam adresy (qtype = A) přidružený k názvu ucbvax.berkeley.edu. Číslo dotazu bylo '3'. Znak "+" označuje požadovaná rekurze byl nastaven příznak. Délka dotazu byla 37 bajtů, bez záhlaví protokolů UDP a IP. Operace dotazu byla normální, Dotaz , takže pole op bylo vynecháno. Pokud by op, bylo něco jiného, ​​bylo by vytištěno mezi "3" a "+". Podobně, qclass byl normální, C_IN , a vynechána. Jakýkoli jiný qclass by byl vytištěn bezprostředně za "A".

Několik anomálií je zkontrolováno a může vést k uzavření dalších polí v hranatých závorkách: Pokud dotaz obsahuje odpověď, záznamy úřadu nebo další záznamy, ancount , nscount , nebo poměr jsou vytištěny jako " n a "," n n "nebo" n au kde n je vhodný počet. Je-li nastaven některý z bitů odezvy (AA, RA nebo rcode), nebo některý z bity `must be zero 'jsou nastaveny v bajtech dva a tři,` b2 & 3 = X ', kde X je hexadecimální hodnota záhlaví bajtů dva a tři.

Odpovědi název serveru UDP. Odpovědi název serveru jsou formátovány jako:

src> dst: id op rcode příznaky a / n / au typ dat třídy (len) helios.domena> h2opolo.1538: 3 3/3/7 A 128.32.137.3 (273)helios.domena> h2opolo.1537: 2 NXDomain * 0/1/0 (97)

V prvním příkladu, helios odpovídá na dotaz č. 3 z h2opolo se třemi záznamy odpovědí, třemi záznamy jmenného serveru a sedmi dalšími záznamy. První záznam záznamu je typ A (adresa) a jeho údaji je internetová adresa 128.32.137.3. Celková velikost odpovědi byla 273 bajtů, s výjimkou hlaviček UDP a IP. Kód op (Query) a odpověď (NoError) byly vynechány, stejně jako třída (C_IN) záznamu A.

Ve druhém příkladu, helios odpovídá na dotaz 2 s kódem odpovědi neexistující domény (NXDomain) bez odpovědí, jednoho jmenného serveru a žádných záznamů autority. Znak "*" označuje, že autoritativní odpověď bit byl nastaven. Vzhled