GNU/Linux >> Znalost Linux >  >> Linux

Příkaz Linux Traceroute, vysvětlený s příklady

V tomto článku probereme vše, co chcete vědět o linuxovém příkazu traceroute a jak jej používat ve své každodenní praxi.

Traceroute je obslužný program příkazového řádku, který vytiskne cestu (nebo skoky), kterou paket potřebuje k dosažení jiného hostitele. Používá se pro diagnostiku sítě. Jak již název napovídá, hlavním účelem traceroute je sledovat cestu IP od zdroje k cíli v rámci sítě IP, což umožňuje správcům lépe řešit problémy s konektivitou. Traceroute vám nejen sdělí, zda máte konektivitu, ale také vám ukáže, kde přesně je problém a proč k tomu dochází.

Traceroute vám poskytuje úplné informace o cestě, po které se vaše data dostanou do cíle. Pokud je například váš počítač (zdroj) v Los Angeles v Kalifornii a server v New Yorku (cíl) traceroute identifikuje úplnou cestu, každý skok (počítače, routery nebo jakákoli zařízení, která přicházejí mezi zdrojem a cílem) na cestě a čas, který trvá přechod a návrat.

Na internetu jsou však zprávy Traceroute často blokovány směrovači v různých autonomních systémech, takže Traceroute je v některých případech nepřesný.

Jak Traceroute funguje

Traceroute nejčastěji používá echo pakety ICMP (Internet Control Message Protocol) s proměnnými hodnotami TTL (Time to Live). Aby byla zaručena přesnost, každý skok je dotazován několikrát a je vypočtena doba odezvy každého skoku.

Příkaz traceroute pro Linux funguje tak, že manipuluje s TTL. Účelem TTL je omezit dobu, po kterou budou data žít v síti IP. Každému paketu dat, který je odeslán, je přiřazena hodnota TTL. Když datový paket dosáhne skoku na cestě k cílovému zařízení, hodnota TTL se sníží o 1.

Když router sníží hodnotu počtu skoků paketu na nulu, odešle chybovou zprávu ICMP „překročení času“ zpět na zdrojovou IP adresu v paketu, jinak paket přepošle dál.

Nástroj traceroute odesílá pakety na cílovou IP adresu s TTL nastaveným na 1, takže první směrovač, kterého pakety dosáhnou, odešle zpět chybu „překročení času“. Když se chyba vrátí, nástroj traceroute zaznamená identitu prvního směrovače a dobu oběhu, zvýší TTL a odešle nové pakety, přičemž tento proces opakuje, dokud buď poslední paket nedosáhne cílové IP nebo nebudou zahozeny dvě sady paketů.

Jak používat příkaz traceroute v systému Linux

Začněme jednoduchým příkladem. Spusťte traceroute příkaz pro www.google.com doména.

traceroute www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1  63.133.178.109 (63.133.178.109)  0.210 ms  0.268 ms  0.214 ms
2  ae1.cr0-dal4.ip4.gtt.net (69.174.3.1)  0.311 ms  0.317 ms  0.354 ms
3  ae1.cr10-dal3.ip4.gtt.net (213.254.230.210)  1.260 ms  2.320 ms  2.304 ms
4  as15169.dal33.ip4.gtt.net (199.229.230.118)  3.595 ms  2.464 ms  1.365 ms
5  108.170.240.129 (108.170.240.129)  2.636 ms 108.170.240.193 (108.170.240.193)  1.501 ms 108.170.240.129 (108.170.240.129)  2.620 ms
6  142.251.60.143 (142.251.60.143)  1.480 ms  1.499 ms 142.251.60.145 (142.251.60.145)  1.473 ms
7  dfw25s44-in-f4.1e100.net (142.251.33.4)  1.425 ms  1.622 ms  1.587 ms

První řádek nám poskytuje následující informace:

  • Cíl (www.google.com) a jeho IP adresa (142.251.33.4).
  • Počet skoků traceroute zkusí, než to vzdá (30 skoků).
  • Velikost paketů UDP, které odesíláme (60 bajtů).

Zbytek výstupu zobrazuje všechny směrovače, kterými prošly naše pakety. Na každém z řádků najdeme informace o jménu a IP adrese hostitele. Další tři hodnoty představují doby zpáteční cesty pro daný router.

V našem případě pro připojení k www.google.com musí požadavek projít sedmi různými routery. Ve výstupu vidíme, že poslední (142.251.33.4) je cílovým hostitelem pro www.google .com.

Skrytí názvů zařízení

Jak jsme viděli, někdy uvedení názvů zařízení vede k nepřehlednému displeji. Pro snazší zobrazení dat můžete v Linuxu použít příkaz traceroute s -n možnost.

traceroute -n www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1  63.133.178.109  0.142 ms  0.224 ms  0.207 ms
2  69.174.3.1  0.306 ms  0.303 ms  0.323 ms
3  213.254.230.210  11.812 ms  11.784 ms  11.771 ms
4  199.229.230.118  6.516 ms  1.851 ms  4.416 ms
5  108.170.240.129  2.944 ms 108.170.240.193  2.009 ms 108.170.240.129  2.920 ms
6  142.251.60.143  1.928 ms  1.928 ms  1.933 ms
7  142.251.33.4  1.937 ms  1.922 ms  1.926 ms

Nastavení maximálního počtu skoků pomocí příkazu traceroute pro Linux

Přidáním dalšího -m parametr můžeme zadat maximální počet skoků traceroute bude zkoumat:

traceroute -m 3 www.google.com
traceroute to www.google.com (142.251.33.4), 3 hops max, 60 byte packets
1  63.133.178.109 (63.133.178.109)  0.170 ms  0.187 ms  0.172 ms
2  ae1.cr0-dal4.ip4.gtt.net (69.174.3.1)  0.299 ms  0.300 ms  0.301 ms
3  ae1.cr10-dal3.ip4.gtt.net (213.254.230.210)  2.727 ms  2.753 ms  2.736 ms

Nyní bude výstup sestávat pouze z prvních tří routerů. Výchozí hodnota pro -m parametr je 30. Proto jej zvyšte v případech, kdy počet skoků může přesáhnout 30.

Nastavení počtu paketů sondy na skok

Ve výchozím nastavení traceroute odešle tři UDP pakety do každého skoku. Můžeme použít -q možnost upravit toto nahoru nebo dolů.

Pro urychlení traceroute zadáme následující, abychom snížili počet paketů sondy UDP na jeden:

traceroute -q 1 www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1  63.133.178.109 (63.133.178.109)  0.160 ms
2  ae1.cr0-dal4.ip4.gtt.net (69.174.3.1)  0.272 ms
3  ae1.cr10-dal3.ip4.gtt.net (213.254.230.210)  2.190 ms
4  as15169.dal33.ip4.gtt.net (199.229.230.118)  1.853 ms
5  108.170.240.129 (108.170.240.129)  3.063 ms
6  142.251.60.145 (142.251.60.145)  1.993 ms
7  dfw25s44-in-f4.1e100.net (142.251.33.4)  1.952 ms

Závěr

Linuxový traceroute Command je skvělý nástroj pro zkoumání směrování sítě, kontrolu rychlosti připojení nebo identifikaci úzkých míst. Je k dispozici ve všech populárních distribucích Linuxu. Při používání tohoto nástroje budete často používat metody popsané v tomto článku.

Další informace o traceroute příkaz v systému Linux, podívejte se na stránku jeho příručky.


Linux
  1. Příkaz vypnutí Linuxu s příklady

  2. JQ Command v Linuxu s příklady

  3. Příkaz whoami v Linuxu vysvětlený na příkladech

  1. wc Linux Command s příklady

  2. Linux cut Command Vysvětlení pomocí 6 příkladů

  3. Příkaz nslookup Linux vysvětlený s příklady

  1. Linux ip příkaz s příklady

  2. Příkaz Linux ldd vysvětlený s příklady

  3. 15 Příkaz Linux ps s příklady