Program traceroute slouží k analýze počítačové sítě. Vypisuje uzly (resp. směrovače) na cestě datagramů od zdroje až k zadanému cíli. Uzly jsou zjišťovány pomocí snížení hodnoty TTL v hlavičce datagramů. Program traceroute je standardně obsažen ve většině unixových systémů. V systému Microsoft Windows je přímo v základní instalaci obsažen program tracert.

traceroute
Typ softwarupříkaz
Některá data mohou pocházet z datové položky.

Popis funkce

editovat

Nástroj traceroute zvyšuje hodnotu „time to live“ (TTL) po každém úspěšném odeslání balíčku paketů. První tři pakety mají jednotnou hodnotu TTL nastavenou na 1 (odesílají se současně), další tři pakety mají hodnotu TTL 2 atd. Při cestě k cíli paket prochází jednotlivými směrovači (uzly). Při průchodu směrovač sníží hodnotu TTL o 1 a pošle ho dál. Je-li hodnota TTL paketu nula a není v cílové IP síti, pak je paket zahozen a směrovač pošle chybovou ICMP zprávu odesílateli (nástroj zároveň vypíše délku odezvy podobně jako nástroj ping). Nástroj traceroute využívá právě těchto chybových hlášení, aby vypsal trasu paketu od odesílatele k cíli (resp. uzly, přes které paket na cestě ke svému cíli prochází). Ve výpisu jsou zobrazeny jen ty uzly, které položku TTL snižují (tj. routery). V některých moderních sítích je snižování TTL na routerech vypnuté, aby v IPv4 nemusely být přepočítávány kontrolní součty v hlavičkách datagramů, což je náročné na výpočetní výkon. Takové chování může jednak způsobit v takové síti zahlcení (při chybě ve směrování datagram „neumře“ a začne donekonečna kroužit) a také skryje strukturu sítě (takové routery se ve výpisu neobjeví). Někteří správci routerů kvůli DoS útokům vypínají odpovědi, takže trasování nefunguje (nebo je zapomínají povolit, případně povolí jen jednu z možných variant ICMP/UDP), v takových případech se ve výpisu objevují hvězdičky (očekávaná odpověď nepřišla). Záměrné vypínání odpovědí má za cíl skrýt topologii sítě, avšak není reálně účinné (jde o Security through obscurity), protože ji lze zjistit i jinými způsoby (např. manipulací TTL u datagramů TCP protokolu).

Odesílané datagramy mohou být UDP, ICMP nebo TCP. V Microsoft Windows se standardně používá ICMP, v unixových systémech se standardně používá UDP, ale použitý typ lze změnit pomocí parametru (-I, -T, -U).

Použití

editovat

Nástroj lze použít pro zjišťování cesty nebo problémů se sítí díky výpisu jednotlivých uzlů, přes které paket prochází. Lze s ním identifikovat problémy s routery nebo firewally, které mohou blokovat přístup do sítě. Pro IPv6 existuje varianta traceroute6, případně nástroj umí obě varianty (přepínání parametry -4, -6, ve Windows pak /4 nebo /6). Díky dynamickému směrování však nemusí být údaje o vypsané cestě směrodatné.

Příklad

editovat

Použití příkazu tracert v příkazovém řádku Windows:

 C:\DocsSettings\rawiry>tracert seznam.cz

 Výpis trasy k seznam.cz [77.75.76.3]

 s nejvýše 30 směrováními:

 1    < 1 ms    < 1 ms    < 1 ms  147.230.163.250
 2    < 1 ms    < 1 ms    < 1 ms  147.230.250.65
 3    < 1 ms    < 1 ms    < 1 ms  router-h.tul.cz [147.230.250.18]
 4    < 1 ms    < 1 ms    < 1 ms  147.230.250.49
 5    47 ms     4 ms   203 ms  r84-r40.cesnet.cz [195.113.156.110]
 6     4 ms     4 ms     4 ms  nix-pv.pater.iol.cz [194.50.100.160]
 7     4 ms     4 ms     4 ms  194.228.21.101
 8     4 ms     4 ms     4 ms  194.228.36.1
 9     4 ms     4 ms     4 ms  www.seznam.cz [77.75.76.3]

 Trasování bylo dokončeno.

Použití v Linuxu:

$ traceroute idnes.cz
traceroute to idnes.cz (194.79.52.192), 30 hops max, 40 byte packets
 1  neptun.domena.cz (10.200.0.1)  0.188 ms  0.105 ms  0.095 ms
 2  ten155-r1-nextel.cesnet.cz (195.178.64.117)  0.530 ms  0.691 ms  0.467 ms
 3  r84-r40.cesnet.cz (195.113.156.110)  23.732 ms  23.817 ms  24.205 ms
 4  nix1.mafra.cz (194.50.100.156)  4.268 ms  4.261 ms  4.264 ms
 5  194.79.55.3 (194.79.55.3)  4.360 ms  4.737 ms  4.883 ms

V příkladech je vidět, že v Linuxu se zobrazuje výstup s vyšší přesností.

Bezpečnost

editovat

traceroute zpřístupňuje velmi detailní informace o jednotlivých bodech na cestě k nějakému cíli v síti. Na počátcích používání internetu to bylo považováno za přijatelné, ale s následujícími problémy to vyvolalo debatu ohledně bezpečnosti a ochraně soukromých informacích. traceroute začali totiž hojně zneužívat hackeři. Získávali tak podstatné informace o síťové architektuře různých společností. Pomocí použití příkazu traceroute mohli hackeři rychle zmapovat uzly, které daná společnost měla k dispozici, a určit si slabý bod, na který mohli zaútočit.

Kvůli těmto důvodům mnoho správců sítí zablokovalo odesílání odpovědí programu traceroute ze svých routerů, proto některé uzly na cestě neodpovídají (ve výpisu jsou hvězdičky) a trasování často končí na hranici lokální sítě.

Externí odkazy

editovat