logo

Linuxový příkaz traceroute

Úvod do traceroute

Příkaz traceroute pro Linux je nástroj pro odstraňování problémů se sítí, který nám pomáhá určit počet přeskoků a paketů, které cestují po cestě potřebné k dosažení cíle. Používá se k zobrazení způsobu přenosu dat z místního počítače na vzdálený počítač. Načtení webové stránky je jedním z běžných příkladů traceroute. Načtení webové stránky přenáší data přes síť a směrovače. Traceroute může zobrazit trasy, IP adresy a názvy hostitelů směrovačů v síti. To může být užitečné pro diagnostiku problémů se sítí.

Ve výpočetní technice jsou tracert a traceroute příkazy pro diagnostiku počítačové sítě pro zobrazení možných tras a měření zpoždění paketů v síti IP. Historie trasy se zaznamenává jako doba oběhu paketu od všech po sobě jdoucích hostitelů na trase; průměrný součet času v každém skoku je celkový čas strávený vytvořením spojení.

Příkaz traceroute pokračuje, pokud není každý odeslaný balíček ztracen více než dvakrát; spojení je ztraceno a cestu nelze vyhodnotit. Na druhou stranu příkaz ping měří pouze poslední časy zpáteční cesty přes cílový bod. Někdy má nástroj podobný název, tracert6 a traceroute6, pro IPv6.

Syntax:

 traceroute [OPTION...] HOST 

Možnosti:

Příkaz traceroute podporuje následující možnosti příkazového řádku:

-f, --first-hop=NUM: Slouží k nastavení počáteční vzdálenosti skoku.

-g, --gateways=BRÁNKY: Používá se k zobrazení seznamu bran pro směrování volného zdroje.

-Já, --icmp: Je specifikováno použití ICMP ECHO jako sondy.

-m, --max-hop=NUM: Slouží k nastavení maximálního počtu skoků, výchozí je 64.

-M, --type=METODA: Určuje METODU (icmp nebo udp) pro operace traceroute, výchozí metoda je udp.

-p, --port=PORT: Je definováno pro použití cílového portu PORT, výchozí PORT je 33434.

-q, --tries=NUM: Používá se k předávání NUM testovacích paketů na skok, výchozí hodnota je 3.

programování cobol

--resolve-hostnames: Používá se k překladu názvů hostitelů.

-t, --tos=NUM: Slouží k nastavení typu služby (TOS) na NUM.

-w, --wait=NUM: Používá se k čekání v sekundách na odpověď, výchozí hodnota je 3.

-?, --Pomoc: Používá se k zobrazení příručky nápovědy, která obsahuje stručný popis podporovaných možností příkazového řádku a použití.

--používání: Zobrazí krátkou zprávu o použití.

-V, --verze: Používá se k zobrazení informací o verzi traceroute.

Pojďme se podívat na rychlý rejstřík tématu:

  • Nainstalujte příkaz traceroute
  • Jak to funguje?
  • Trasování trasy pomocí Ipv6
  • Trasování trasy pomocí Ipv4
  • Zakázat mapování IP adresy a názvu hostitele
  • Nastavte počet dotazů na skok
  • Nastavte dobu čekání na odpověď
  • Zadejte rozhraní, které chcete použít
  • Nastavte počáteční hodnotu TTL
  • Nastavte Maximální počet skoků
  • Získání pomoci

Implementace traceroute

Příkaz traceroute je dostupný na několika moderních OS. Na systémech podobných Unixu, jako je Linux, macOS a FreeBSD, je k dispozici jako nástroj pro příkazový řádek. Traceroute je také graficky přístupný v rámci sady Network Utilities v macOS; tyto nástroje byly od vydání macOS Big Sur zastaralé.

ReactOS a Microsoft Windows nabízejí program nazvaný tracert, který implementuje podobnou funkci sledování trasy. Operační systémy založené na Windows NT také nabízejí PathPing, který může kombinovat funkčnost příkazu ping s tracert. Edice ReactOS byla integrována společností Get Murphy a je licencována pod licencí GPL.

Ve výchozím nastavení odesílá traceroute pořadí paketů UDP (User Datagram Protocol) na operačních systémech podobných Unixu s cílovými čísly portů v rozmezí od 33434 do 33534. Implementace traceroute dodávané s macOS, DragonFly BSD, OpenBSD, NetBSD, FreeBSD a Linux mají možnost využívat pakety ICMP Echo Request, jako jsou TCP a UDP pomocí paketů ICMP nebo TCP SYN. Ve výchozím nastavení přenáší tracert pakety ICMP Echo Request ve Windows namísto přenosů UDP paketů traceroute.

Použití traceroute

Většina implementací má alespoň některé možnosti, jak definovat počet dotazů k přenosu na jeden skok, dobu čekání na odpověď, limit skoku a použitý port. Pokud nevyvoláme traceroute se zadanými volbami, zobrazí se seznam dostupných voleb, zatímco příkaz man traceroute představuje více podrobností, jako jsou příznaky chyb.

Původ traceroute

Manuálová stránka traceroute uvádí, že skutečný program traceroute byl specifikován Van Jacobsonem v roce 1987 na základě doporučení Steva Deeringa se specificky přesvědčivými opravami a doporučeními od C. Philipa Wooda, Kena Adelmana a Tima Seavera. Mike Muuss, autor programu ping, uvádí, že traceroute byl specifikován s podporou jádra ICMP, které dříve nakódoval pro aktivaci nezpracovaných ICMP soketů, zatímco původně specifikoval program ping.

Omezení traceroute

Omezení traceroute jsou nechvalně známá a je třeba je vzít v úvahu při používání tohoto nástroje. Například traceroute rozpoznává cesty na úrovni rozhraní, ale ne na úrovni trasy. K dalším omezením dochází, když směrovače nereagují na kontrolu nebo když směrovače obsahují omezení pro odpovědi ICMP.

c# datum a čas

Traceroute může představovat cestu, která při existenci vyrovnávání dopravní zátěže neexistuje. Pro minimalizaci tohoto problému je k dispozici modifikace traceroute známá jako Paris-traceroute, která spravuje identifikátor toku vyšetření tak, aby ignoroval vyrovnávání zátěže.

Nainstalujte příkaz traceroute

Traceroute není výchozí nástroj pro Linux Systém. Abychom mohli používat traceroute, musíme jej nainstalovat ručně. Chcete-li jej nainstalovat, spusťte jeden z následujících příkazů:

 sudo apt install inetutils-traceroute sudo apt install traceroute 

Výše uvedené příkazy nainstalují obslužný program traceroute do našeho systému. Po úspěšné instalaci bude výstup vypadat následovně:

Linux traceroute

Jak to funguje?

Chcete-li sledovat trasu připojeného síťového hostitele, předejte název serveru nebo IP adresu, ke které se chcete připojit. Chcete-li například sledovat trasu serveru 'javatpoint.com', proveďte následující příkaz:

 traceroute javatpoint.com 

Výše uvedený příkaz zobrazí skoky, pakety a mnoho dalších informací o dané trase. Zvažte následující výstup:

Linux traceroute

Z výše uvedeného výstupu můžeme vidět několik věcí. pojďme pochopit každou část výstupu:

  • První řádek zobrazuje název hostitele a IP adresu, které má být dosaženo, skoky, o které se příkaz traceroute pokusí, a velikost paketů, které mají být odeslány.
  • Od druhého řádku každý řádek zobrazuje skok do cíle. A název hostitele následovaný IP adresou hostitele, doba zpáteční cesty. Doba zpáteční cesty je součet času, který trvá odeslání signálu, a času, který trvá odpověď hostiteli.
  • Ve výchozím nastavení odesílá tři pakety pro každého hostitele, takže jsou uvedeny tři doby odezvy.
  • Symbol '*' představuje ztrátu paketu. Ke ztrátě paketů dochází kvůli výpadku sítě, vysokému zatížení sítě nebo možná, že firewall snižuje provoz. Při velké ztrátě paketu traceroute zobrazí chybu jako „cíl není dosažen“.

Trasování trasy pomocí IPv6

Možnost '6' se používá ke sledování trasy k hostitelské síti pomocí protokolu Ipv6. Zvažte níže uvedený příkaz:

 traceroute6 google.com 

Výše uvedený příkaz bude sledovat cestu na 'google.com' pomocí protokolu Ipv6. Zvažte následující výstup:

Linux traceroute

Trasování trasy pomocí Ipv4

Možnost '4' se používá ke sledování trasy k hostitelské síti pomocí protokolu Ipv6. Zvažte níže uvedený příkaz:

 traceroute 4 google.com 

Výše uvedený příkaz bude sledovat cestu na 'google.com' pomocí protokolu Ipv6. Zvažte následující výstup:

Linux traceroute

Zakázat mapování IP adresy a názvu hostitele

Volba 'n' se používá k deaktivaci mapování IP adresy a názvu hostitele. Zvažte níže uvedený příkaz:

herec zeenat aman
 traceroute n google.com 

Výše uvedený příkaz vytvoří výstup takto:

Linux traceroute

Nastavte Počet dotazů na skok

Volba '-q' se používá k nastavení počtu dotazů na skok. Zvažte níže uvedený příkaz:

 traceroute -q 2 google.com 

Výše uvedený příkaz vytvoří výstup takto:

Linux traceroute

Nastavte dobu čekání na odpověď

Volba '-w' se používá k nastavení doby čekání odezvy ve traceroute. Určí dobu čekání v sekundách pro reakci na sondu. Zvažte níže uvedený příkaz:

 traceroute -w 1 google.com 

Z výše uvedeného příkazu je čekací doba odezvy 1 sekunda. Výstup vytvoří následovně:

Linux traceroute

Zadejte rozhraní, které chcete použít

Volba 'i' se používá k nastavení síťového rozhraní, které má traceroute používat. Pokud není nastaveno, nastaví rozhraní podle směrovací tabulky. Zvažte níže uvedený příkaz:

 traceroute i wlp3s0b1 google.com 

Výše uvedený příkaz vytvoří výstup takto:

Linux traceroute

Nastavte počáteční hodnotu TTL

Počáteční hodnotu TTL (time to live) můžeme nastavit jinou než výchozí hodnotu. Přeskočí to nějaké poskoky. Obvykle je pro příslušnou sadu testů nastavena na jeden, dva, tři atd. Pokud ji tedy nastavíme na sedm, první test se pokusí o skok sedm a přeskočí skoky z jedničky na šestku. Zvažte níže uvedený příkaz:

 traceroute -f 7 google.com 

Výše uvedený příkaz přejde přímo na skok sedm. Zvažte následující výstup:

faktoriální java
Linux traceroute

Nastavte Maximální počet skoků

Volba '-m' se používá k nastavení maximálního počtu skoků, aby paket dosáhl cíle. Výchozí hodnota pro maximální počet skoků je 30. Zvažte následující příkaz:

 traceroute -m 7 google.com 

Výše uvedený příkaz nastaví 7 maximálních skoků, aby paket dosáhl cíle. Zvažte následující výstup:

Linux traceroute

Získání pomoci

Chcete-li zobrazit příručku s nápovědou, která obsahuje souhrn použití a podporovaných možností, spusťte níže uvedený příkaz:

 traceroute --help 

Výše uvedený příkaz zobrazí nápovědu. Výstup vytvoří následovně:

Linux traceroute

K manuálovým stránkám se můžeme dostat také provedením příkazu man následovně:

 man traceroute 

Výše uvedený příkaz zobrazí manuálovou stránku příkazu traceroute. Bude to vypadat následovně:

Linux traceroute

Posouváním stránky si přečtěte více a stisknutím klávesy 'q' opusťte stránku manuálu.