Provided by: manpages-cs_0.17.20080113-1_all bug

NAME

       traceroute - vypíše cestu, kterou pakety putují k zadanému počítači

SYNTAXE

       traceroute [ -dFInrvx ] [ -f prvn_ttl ] [ -g brna ]
               [ -i iface ] [ -m max_ttl ] [ -p port ]
               [ -q nqueries ] [ -s src_addr ] [ -t tos ]
               [ -w ekac_as ] [ -z pauza_msecs ]
               host [ dlka_paketu ]

POPIS

       Internet  je  velké  komplexní  seskupení  síťového hardware, spojeného
       dohromady branami (routery).  Zjišťování cesty, po které  pakety  chodí
       (nebo  nalezení  brány,  která  odmítá  vaše  pakety) může být obtížné.
       Traceroute využívá možnosti položky TTL (Time To Live)  v  hlavičce  IP
       datagramu  a  pokouší  se  vyvolat u každé brány na cestě k cíli odezvu
       ICMP TIME_EXCEEDED (tj. hlášení o chybě, resp. o vypršení TTL).

       Jediný povinný parametr je jméno  nebo  IP  adresa  cílového  počítače.
       Standardní  délka  datagramu  je  40 bytů, ale dá se zvýšit udáním jiné
       hodnoty (v bytech) za adresou cíle.

       Další možné parametry:

       -f     Nastavení počáteční hodnoty TTL pro první vysílaný datagram.

       -F     Nastav příznak "don't fragment".

       -d     Zapni ladění na úrovni soketu.

       -g     Přímá specifikace routerů na cestě (max 8).

       -i     Určení síťového rozhraní, ze kterého  budou  datagramy  vysílány
              (tj.  určení  zdrojové  IP  adresy).  Obvykle  se  hodí pouze na
              počítači s více síťovými rozhraními (viz také parametr -s).

       -I     Místo UDP datagramů použij datagramy ICMP ECHO.

       -m     Nastavení   maximálního   TTL   používaného   v    odcházejících
              datagramech. Standardně je použita hodnota 30 (stejně jako u TCP
              spojení).

       -n     Adresy bran jsou vypisovány čísly, není prováděn převod  na  DNS
              jména   (používá   se  pro  urychlení  výstupu  nebo  pokud  DNS
              nefunguje).

       -p     Nastavení čísla UDP portu používaného pro traceroute (standardně
              je  33434).   Traceroute předpokládá, že na cílových UDP portech
              od čísla port do čísla port + poet_hop - 1 na trase k cíli nic
              nenaslouchá  (takže se zpět vrátí zpráva ICMP PORT_UNREACHABLE).
              Pokud na některém z portů naslouchá nějaká aplikace,  lze  tímto
              parametrem určit počátek nepoužívaného rozsahu portů.

       -r     Přeskoč  normální routovací tabulky a vysílej přímo na připojené
              sítě.  Pokud cíl v  přímo  připojené  síti  neleží,  je  vrácena
              chyba.  Tento parametr může být použit pro pinknutí na localhost
              přes rozhraní, přes které nevede žádná cesta (například, poté co
              bylo rozhraní vypnuto pomocí routed(8C)).

       -s     Použij  následující  IP adresu (obvykle zadanou spíše jako číslo
              než jako jméno) jako zdrojovou adresu pro odcházející datagramy.
              Na  počítačích s více síťovými rozhraními (tj. s více než jednou
              IP adresou), může být tento parametr  použit  k  nastavení  jiné
              zdrojové  IP,  než  jaká  je  na  odesílajícím síťovém rozhraní.
              Pokud IP adresa nepatří mezi adresy rozhraní tohoto počítače, je
              vrácena chyba a nic se nevyšle (viz také parametr -i).

       -t     Nastavení   TOS   (Type-Of-Service)   v   odesílaných   paketech
              (standardně nula). Číslo musí být celé v rozsahu od  0  do  255.
              Tento  parametr  lze  použít pro zjištění, zda různé typy služeb
              jsou směrovány různými cestami (pokud nemáte 4.4bsd, je  to  jen
              akademické,  protože  u normálních síťových služeb jako telnet a
              ftp není TOS možné nastavit). Ne všechny  hodnoty  jsou  legální
              nebo  významné - (viz specifikaci IP).  Použitelné hodnoty jsou:
              `-t 16' (krátká doba odezvy) a `-t 8' (vysoký průtok).

       -v     Rozšířený výstup. Jsou vypsány i  příchozí  datagramy  jiné  než
              ICMP TIME_EXCEEDED a UNREACHABLE.

       -w     Čas  (v  sekundách)  čekání  pro  odezvu  na  vyslané  datagramy
              (standardně 5 sec.).

       -x     Přepínání kontrolních  součtů.  Obvykle  jsou  kontrolní  součty
              tímto  parametrem  vypnuty.  V některých případech může operační
              systém přepsat části odcházejících datagramů,  ale  nepřepočítat
              kontrolní  součet  (tj.  v  některých  případech  se  standardně
              kontrolní součty nepočítají a použití tohoto  parametru  způsobí
              jejich  počítání). Nezapomeňte, že kontrolní součty jsou obvykle
              potřeba pro poslední přeskok, když se používá ICMP ECHO.   (-I).
              Takže pokud se používá ICMP, počítají se vždy.

       -z     Nastaví  délku  pauzy (v milisekundách) mezi vysíláním datagramů
              (výchozí je 0).  Některé systémy, jako např. Solaris, a routery,
              jako  třeba  Cisco,  omezují  icmp  zprávy.  Vhodná  hodnota pro
              použití je 500 (tj. 0,5 sekundy).

       Tento program se pokouší zobrazit cestu, kterou vykoná  IP  datagram  k
       cílovému  počítači  tak,  že  vysílá  záměrně  UDP  datagramy  s malými
       hodnotami TTL (Time To Live) a pak čeká, zda přijde od brány  (routeru)
       ICMP  zpráva  "Čas  vypršel"  (Time  Exceeded).  Začíná  se  s vysláním
       datagramu s TTL nastaveným na hodnotu 1 a pak se TTL postupně  zvyšuje,
       dokud  není  přijat  datagram  se  ICMP zprávou "Port Unreachable" (což
       znamená, že jsme u cíle) nebo pokud se dosáhne  maximální  hodnoty  TTL
       (která  je standardně 30 skoků a může být změněna pomocí parametru -m).
       Pro každou hodnotu TTL jsou vyslány tři datagramy  (lze  změnit  pomocí
       parametru  -q)  a  pak  je vypsán řádek s hodnotou TTL, adresou brány a
       dobami odezvy (round trip time) každého vyslaného datagramu.  Přijdou-i
       odpovědi  z  různých  bran,  jsou všechny vypsány. Pokud nepřijde žádná
       odezva do pěti vteřin (lze změnit pomocí parametru -w) je  vypsán  znak
       "*".

       Je potřeba, aby cílový počítač nezpracovával UDP výzvy, a tak je cílový
       port nastaven na nepravděpodobnou  hodnotu  (pokud  nějaký  program  na
       cílovém  počítači tento port používá, můžete ho změnit pomocí parametru
       -p).

       Příklad použití a následného výstupu:
              [yak 71]% traceroute nis.nsf.net.
              traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 38 byte packet
               1  helios.ee.lbl.gov (128.3.112.1)  19 ms  19 ms  0 ms
               2  lilac-dmc.Berkeley.EDU (128.32.216.1)  39 ms  39 ms  19 ms
               3  lilac-dmc.Berkeley.EDU (128.32.216.1)  39 ms  39 ms  19 ms
               4  ccngw-ner-cc.Berkeley.EDU (128.32.136.23)  39 ms  40 ms  39 ms
               5  ccn-nerif22.Berkeley.EDU (128.32.168.22)  39 ms  39 ms  39 ms
               6  128.32.197.4 (128.32.197.4)  40 ms  59 ms  59 ms
               7  131.119.2.5 (131.119.2.5)  59 ms  59 ms  59 ms
               8  129.140.70.13 (129.140.70.13)  99 ms  99 ms  80 ms
               9  129.140.71.6 (129.140.71.6)  139 ms  239 ms  319 ms
              10  129.140.81.7 (129.140.81.7)  220 ms  199 ms  199 ms
              11  nic.merit.edu (35.1.1.48)  239 ms  239 ms  239 ms

       Všimněte si, že řádky 2 a 3 obsahují stejná jména i IP adresy počítačů,
       což  způsobuje chybné 4.3 BSD jádro na druhém přeskoku (lbl-csam.arpa),
       které přeposílá datagramy  s  nulovým  TTL.   Ve  spodní  části  nejsou
       uvedeny  jména  počítačů,  protože NSFNet (129.140) nemá v DNS zavedeny
       příslušné reverzní záznamy.

       Další příklad:
              [yak 72]% traceroute allspice.lcs.mit.edu.
              traceroute to allspice.lcs.mit.edu (18.26.0.115), 30 hops max
               1  helios.ee.lbl.gov (128.3.112.1)  0 ms  0 ms  0 ms
               2  lilac-dmc.Berkeley.EDU (128.32.216.1)  19 ms  19 ms  19 ms
               3  lilac-dmc.Berkeley.EDU (128.32.216.1)  39 ms  19 ms  19 ms
               4  ccngw-ner-cc.Berkeley.EDU (128.32.136.23)  19 ms  39 ms  39 ms
               5  ccn-nerif22.Berkeley.EDU (128.32.168.22)  20 ms  39 ms  39 ms
               6  128.32.197.4 (128.32.197.4)  59 ms  119 ms  39 ms
               7  131.119.2.5 (131.119.2.5)  59 ms  59 ms  39 ms
               8  129.140.70.13 (129.140.70.13)  80 ms  79 ms  99 ms
               9  129.140.71.6 (129.140.71.6)  139 ms  139 ms  159 ms
              10  129.140.81.7 (129.140.81.7)  199 ms  180 ms  300 ms
              11  129.140.72.17 (129.140.72.17)  300 ms  239 ms  239 ms
              12  * * *
              13  128.121.54.72 (128.121.54.72)  259 ms  499 ms  279 ms
              14  * * *
              15  * * *
              16  * * *
              17  * * *
              18  ALLSPICE.LCS.MIT.EDU (18.26.0.115)  339 ms  279 ms  279 ms

       Brány 12, 14, 15, 16 a 17 neposílají ICMP zprávy "Time  Exceeded"  nebo
       je  posílají  s  příliš malou hodnotou TTL a proto se k nám nedostanou.
       Na branách 14 - 17 běží MIT C Gateway,  která  zprávy  "time  exceeded"
       neposílá.  Bůh ví, co je s 12.

       Ztichlá brána 12 může být způsobena chybou v síťovém kódu 4.[23] BSD (a
       jeho odvozeniny): 4.x (x <= 3) posílají odpověď s použitím  TTL,  které
       bylo  v  příchozím  datagramu,  proto  odpověď  nedojde.  Tato chyba se
       projeví zajímavěji, pokud ji má cílový počítač:

               1  helios.ee.lbl.gov (128.3.112.1)  0 ms  0 ms  0 ms
               2  lilac-dmc.Berkeley.EDU (128.32.216.1)  39 ms  19 ms  39 ms
               3  lilac-dmc.Berkeley.EDU (128.32.216.1)  19 ms  39 ms  19 ms
               4  ccngw-ner-cc.Berkeley.EDU (128.32.136.23)  39 ms  40 ms  19 ms
               5  ccn-nerif35.Berkeley.EDU (128.32.168.35)  39 ms  39 ms  39 ms
               6  csgw.Berkeley.EDU (128.32.133.254)  39 ms  59 ms  39 ms
               7  * * *
               8  * * *
               9  * * *
              10  * * *
              11  * * *
              12  * * *
              13  rip.Berkeley.EDU (128.32.131.22)  59 ms !  39 ms !  39 ms !

       Ve výstupu je vidět 12 bran (routerů), třináctý je cíl a  přesně  druhá
       polovina  odpovědí  chybí. Způsobuje to chyba na počítači rip (Sun-3 se
       systémem Sun OS3.5), který používá TTL v dotazech  jako  TTL  pro  ICMP
       odpovědi.  Proto  odpověď  dojde  až  v okamžiku, kdy je TTL větší, než
       dvojnásobek délky zpáteční trasy. Počítač rip je vzdálen  skutečně  jen
       sedm  hopů.  Odpověď  vrácená  s  TTL  1  je vodítkem, že tento problém
       existuje.  Traceroute vypíše znak  "!"  pokaždé,  když  je  TTL  <=  1.
       Protože je distribuována spousta zastaralého (DEC Ultrix, Sun 3.x) nebo
       nestandardního (HPUX) software, je tento problém častý.

       Další možné poznámky za údajem o času jsou: !H, !N nebo  !P  (cíl,  síť
       nebo   protokol   nedosažitelné),  !S  (zdrojová  cesta  selhala)  nebo
       !F-<pmtu> (je potřebná  fragmentace  -  zobrazí  se  hodnota  Path  MTU
       Discovery  z  RFC1191),  !X  (komunikace  zakázána  administrátory), !V
       (porušení pořadí cílů), !C (precedence cutoff in effect) nebo  !<číslo>
       (ICMP  nedostupné, kód <číslo>).  Tyto jsou definovány v RFC1812 (které
       nahrazuje RFC1716).   Pokud  téměř  všechny  výzvy  končí  hlášeními  o
       nedosažitelnosti, traceroute se ukončí.

       Tento  program  je  určen  pro  testovaní,  měření  a  management sítí.
       Primárně by měl sloužit pro manuální izolaci chyb.  Protože  traceroute
       může  síť  zatížit,  není  moudré  používat traceroute během normálních
       operací a z automatických skriptů.

VIZ TAKÉ

       pathchar(8), netstat(1), ping(8)

AUTOR

       Implementoval Van Jacobson podle návrhu Steve Deeringa.  Ladily  tisíce
       lidí,  zahrnuty  opravy  a  návrhy od: C. Philip Wood, Tim Seaver a Ken
       Adelman.

       Současné verze programu jsou k dispozici na anonymním ftp:

              ftp://ftp.ee.lbl.gov/traceroute.tar.gz

CHYBY

       Prosím posílejte chyby na adresu traceroute@ee.lbl.gov.