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

JMÉNO

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

POUŽITÍ

       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ů.

DALŠÍ INFORMACE

       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.