GNU/Linux >> Znalost Linux >  >> Linux

16 Praktické příklady příkazu Traceroute v Linuxu

Internet je rozsáhlý síťový systém plný databází, serverů, směrovačů a dalších webových struktur. Když napíšete webovou adresu a stisknete tlačítko Enter ve webovém prohlížeči, přesměruje se přes vaše internetové připojení na adresu hostitele přes web. Uprostřed cíle, když váš paket zahájí cestu z počítače a dosáhne cílového serveru, hodně cestuje po webu. Mnoho nástrojů pro Linux, Windows a Mac vám umožňuje sledovat každý krok vašeho internetového paketu. Příkaz traceroute je jedním z nejpoužívanějších nástrojů, které můžete v Linuxu použít ke sledování každého kroku, aktuálního stavu, síly připojení, latence a mnoha dalších souvisejících s vašimi internetovými pakety.

Ping vs. příkaz Traceroute v systému Linux

Ping je bezpochyby nejpoužívanějším a nejjednodušším síťovým příkazem, který zobrazuje, zda je cílová adresa aktivní nebo ne. Rozdíl mezi příkazem Ping a příkazem traceroute je v tom, že příkaz Ping zjišťuje, zda je server nebo adresa aktivní nebo ne, pouze odesláním paketu a analýzou signálu.

Zatímco příkaz traceroute může udělat mnohem více problémů se sítí a určit cestu sítě k dosažení cílové adresy. Příkaz traceroute může také předvídat dobu načítání webové stránky, detekovat routery na webové adrese, názvy hostitelů, názvy serverů DNS a mnoho dalších.

Když spustíme příkaz Ping na síťovém systému, příkaz automaticky odešle čtyři pakety dat do cílového místa; a pokud jeden z nich dosáhne webu, příkaz určí, že web je připojitelný, a určí, kolik sekund trvalo vytvoření připojení.

Zde je formát příkazu příkazu Ping pro Linux: 

ping ping 

Příkaz traceroute nám říká více o cíli a kolik milisekund bude trvat, než se na místo dostaneme. Na rozdíl od příkazu Ping nám příkaz traceroute sděluje IP adresy každého zařízení a vypočítává čas zpětného přenosu dat z každého směrovače namísto měření jediného konečného cíle. Počítá také celkový počet skoků na cestě.

Zde je formát příkazu traceroute pro Linux: 

- -
traceroute 

Rozdíl mezi Traceroute a Mtr a Tracert na Linuxu

Jsem si jistý, že jste již slyšeli o příkazu traceroute, příkazu mtr a příkazu tracert pro sledování dat v síťovém modelu. V Linuxu a Macu můžeme použít příkaz traceroute, kde verzí příkazu traceroute pro Windows je příkaz tracert. V zásadě jsou traceroute a tracert stejné příkazy.

Nyní uvidíme rozdíl mezi příkazem traceroute a příkazem mtr. Úplná podoba MTR je Matt’s TraceRoute, což je upravený příkaz příkazu traceroute. V traceroute jsou pakety sledovány, když putují přes IP síť ke konkrétnímu hostiteli.

Příklad příkazu traceroute:

$ traceroute 1.1.1.1traceroute na 1.1.1.1 (1.1.1.1), max. 30 skoků, 60 bajtových paketů1  192.168.1.1 (192.168.1.1) X- 0.265 ms  0.248 X. *3 ms  0.208 . )  21,871 ms  22,061 ms  25,072 ms (další údaje zde)10  one.one.one.one (1.1.1.1)  24,072 ms  22,439 ms  21,497 ms

MTR je jediný síťový diagnostický nástroj kombinující funkce traceroute a ping. MTR vytiskne některé výstupy traceroute spolu s výsledky Ping.

Příklad příkazu MTR:

$ mtr 1.1.1.1 -C 5-reportStart:2019-08-09T15:13:28+0200Host:Ztráta černé díry% SNT poslední AVG nejlepší WRST STDEV 1. |-192.168.1.1 0,0% 5 0,2 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,0% 0,2 0,0 2. |-x-x-x-x.x.x 0,0% 5 9,7 9,0 8,4 9,7 0,5 3. |-x-x-x-x.x.x 0,0% 5 9,6 8,6 6,2 9,8 1,5 (více zde zde) 10. |-One.one.one. jedna            0,0 %     5   12,8  13,4  10,7  18,9   3,3

Jak funguje příkaz Traceroute v systému Linux?

Paket z našeho systému na adresu hostitele putuje přes router, přístupové body a síťová rozhraní. K určení skutečné cesty vašeho datového paketu používá příkaz traceroute IP hlavičku, Internet Control Message Protocol (ICMP) a nástroje TTL neboli time-to-live v síťovém systému.

Sledování internetového paketu může být méně obtížné, pokud ve svém systému používáte velmi malé připojení LAN. Při vstupu do rozlehlé sítě potřebujete příkaz traceroute ke čtení datové hlavičky pro měření délky, zdroje a cíle a protokolu.

Příkaz traceroute používá k navázání spojení protokol TCP. A 8bitová hodnota TTL nám také poskytuje čísla čítačů TTL, která určují celkový počet setkání mezi datovým paketem a cílem prostřednictvím směrovačů. Paket dostane chybu časového limitu, když je hodnota TTL jedna. A ICMP odešle zprávu ze zdroje do cíle balíčku, který zajistí vypršení časového limitu.

Syntaxe Traceroute v systému Linux

Zde uvidíme základní syntaxi příkazu traceroute v Linuxu. Pochopení syntaxe vám určitě pomůže pochopit všechny příklady příkazu traceroute, které uvedeme níže.

Zde je formát příkazu:

traceroute [options]  host_Address [pathlength]
  • -f, –first-hop=NUM:Nastaví vzdálenost mezi prvním skokem a dalším skokem.
  • -g, –gateways=GATES:V otevřeném směrování zobrazuje seznam bran.
  • -I, –ICMP:Jako sonda je specifikováno ICMP ECHO.
  • -m, –max-hop=NUM:Nastaví počet skoků; výchozí hodnota je 64.
  • -M, –type=METODA:Tracerouty se provádějí buď pomocí ICMP nebo UDP; výchozí metoda je UDP.
  • -p, –port=PORT:Definuje síťový port; výchozí hodnota je 33434.
  • -q, –tries=NUM:NUM testovacích paketů bude předáno na jeden skok.
  • –resolve-hostnames:Tuto syntaxi můžete použít k opravě názvů hostitelů.
  • -t, –tos=NUM:TOS nebo typ služby je definován v NUM
  • -w, –wait=NUM:Definuje dobu čekání v sekundách.
  • -? –help:Vytiskne nápovědu a příručky pro příkaz traceroute v systému Linux.
  • –použití:Zobrazuje použití ve stručném textu.
  • -V, –version:Vytiskne aktuální verzi příkazu traceroute v systému Linux.

Nainstalujte příkaz Traceroute v systému Linux

Proces instalace příkazu traceroute v distribucích Linuxu je snadný. V systémech Windows a Mac je nástroj traceroute předinstalovaný. V Linuxu jej musíte nejprve nainstalovat. Zde jsem uvedl instalační příkazy pro systémy Ubuntu/Debian, RedHat, Fedora a Arch Linux.

Instalovat příkaz traceroute v Arch Linuxu.

sudo pacman -Sy traceroute

Získejte příkaz traceroute na Ubuntu/Debian Linux.

sudo apt-get install traceroute

Nainstalujte nástroj traceroute na systémy Fedora a Red Hat Linux.

# yum nainstalovat traceroute -y

Po dokončení instalace můžete zkontrolovat verzi traceroute, abyste se ujistili, že je nástroj na vašem počítači se systémem Linux úspěšně nainstalován.

$ traceroute --version

Příklady příkazu Traceroute v systému Linux

Nyní uvidíme několik užitečných a praktických příkladů příkazu traceroute ze skutečného života, které byste se měli naučit. Příkaz traceroute funguje hladce se všemi hlavními distribucemi Linuxu na desktopu i na serveru.

1. Spusťte Traceroute a získejte přehled 

Níže uvedený příkaz traceroute nám ukazuje IP adresu, celkový počet skoků v celé cestě, celkovou dobu trvání spojení a velikost packerů.

traceroute ubuntupit.com

2. Skrytí názvů zařízení

Pokud chcete skrýt název síťových zařízení na výstupu příkazu traceroute, přidejte prosím  -n podepište příkaz.

traceroute -n  ubuntupit.com

3. Nastavení hodnoty časového limitu Traceroute

Přestože máte výchozí hodnotu časového limitu příkazu traceroute, můžete hodnotu časového limitu nastavit ručně sami. Níže uvedený příkaz traceroute ukazuje, jak nastavit hodnotu časového limitu na 7 sekund v Linuxu.

traceroute -w 7.0 ubuntupit.com

4. Nastavení počtu testů

Chcete-li nastavit počet testů nebo počet dotazů na jeden skok pro jedno provedení příkazu traceroute v systému Linux, můžete použít níže uvedený příkaz.

traceroute -q 1 ubuntupit.com

5. Nastavení počáteční hodnoty TTL

Použití syntaxe příznaku -f v příkazu traceroute vám umožní nastavit hodnotu TTL nebo hodnotu nástroje time-to-live v Linuxu.

traceroute -f 11 ubuntupit.com

6. Uložte výsledek do textového souboru

Výsledky příkazu traceroute můžete exportovat do textového souboru pomocí níže uvedeného příkazu v systému Linux.

traceroute google.com> results.txt

7. Trasování trasy pomocí IPv6

Pokud má vaše internetové připojení nastavení IPv6, můžete ke sledování připojení použít níže uvedený příkaz traceroute.

traceroute -6 ipv6.google.com

8. Trasování trasy pomocí Ipv4

Podobně můžete také definovat připojení IPv4 prostřednictvím níže uvedeného příkazu traceroute v systému Linux.

traceroute 4 google.com 

9. Zadejte rozhraní (NIC), které se má použít

Pokud má váš systém Linux více než jednu kartu síťového rozhraní (NIC), můžete jedné ze svých síťových karet přiřadit použití příkazu traceroute s parametrem -i, který uvádí název síťové karty.

traceroute -i enp8s0 google.com

Pokud potřebujete znát název vaší síťové karty, můžete spustit příkaz ifconfig.

$ ifconfig

10. Nastavte dobu čekání odezvy

Chcete-li změnit výchozí dobu čekání na odezvu příkazu traceroute, můžete použít parametr -w v příkazu traceroute v systému Linux. Tato malá úprava umožní vašemu datovému balíčku cestovat o něco více, než dosáhne cílové adresy.

traceroute -w 1 google.com

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

Chcete-li deaktivovat IP adresu a skrýt mapování hostitele v systému Linux, použijte v příkazu traceroute znak n. To uživateli umožní nevytisknout IP adresu hostitele a název hostitele.

traceroute n google.com 

12. Nastavte Maximální počet skoků

Ve výchozím nastavení je průměrný počet skoků příkazu traceroute 30. Hodnotu skoku v příkazu traceroute můžete změnit přidáním hodnoty skoku s parametrem -m k příkazu.

traceroute -m 7 google.com 

13. Nefragmentujte balíček

Pokud nechcete fragmentovat datový balíček na vašem systému Linux, použijte příznak -F v příkazu traceroute.

$ traceroute -F google.com

14. Nasměrujte paket skrz bránu

Pokud chcete směrovat příkaz traceroute přes požadovanou bránu, můžete použít znak -g spolu s příkazem k přidání brány do příkazu Linux.

$ traceroute -g 192.168.1.6 google.com

15. Nastavte Cílový port na Použít

Příkaz traceroute standardně používá síťový port 33434. Pokud potřebujete změnit síťový port, můžete na příkazu traceroute v systému Linux použít znak -p.

$ traceroute  -p 20292 google.com

16. Získání nápovědy

Pokud potřebujete další nápovědu a manuály pro příkaz traceroute, spusťte níže uvedené příkazy v shellu. Příručky vám určitě pomohou začít s nástrojem.

traceroute --help  man traceroute 

Problémy, se kterými se můžete setkat při používání příkazu Traceroute

Při používání příkazu traceroute v Linuxu se můžete setkat s některými problémy, pokud jste noví. Zde jsme sepsali několik nejčastějších problémů s příkazem traceroute různými uživateli z linuxové komunity.

1. Problém s -n Vlajka v T příkaz raceroute v systému Linux

Již dříve jsme viděli, že můžete použít příznak n s příkazem traceroute v Linuxu ke skrytí názvu zařízení. Pokud se při používání příznaku n na vašem shellu setkáte s jakýmkoli problémem a zobrazí vám neplatnou volbu, musíte se ujistit, že máte na svém systému nainstalovaný správný nástroj traceroute. Můžete také zkusit provést níže uvedené příkazy pro alternativní instalaci na váš systém.

Zde je ukázkový výstup.

$ sudo traceroute -n . Nefunguje$ traceroute:neplatná volba -- 'n'

Příkazy pro opravu nástroje traceroute na počítači se systémem Linux.

$ update-alternatives --display traceroute$ apt-get install traceroute$ update-alternatives --configure traceroute

2. Balíčky nelze ověřit:Problém s příkazem Traceroute

Pokud nelze nástroj traceroute ověřit ve vašem systému Linux, ujistěte se, že jste uživatelem sudo a máte správné oprávnění ke spuštění tohoto příkazu ve vašem systému. Poté, co se ujistíte, že je tento nástroj správně nainstalován, můžete nyní aktualizovat své úložiště balíčků pomocí níže uvedeného příkazu sudo update.

instalace sudo apt-get aktualizace traceroutesudo apt-get

Poté můžete provést požadovaný příkaz traceroute a doufejme, že vaše problémy budou vyřešeny.

3. Novější verze Traceroute mohou mít problémy

V některých případech, na některých starších zařízeních, může nejnovější verze příkazu traceroute vykazovat nějaké problémy. Pokud například chcete spustit příkaz traceroute s parametrem -A k definování cesty příkazu, můžete čelit problému.

Ukázkový chybový výstup:

~$ traceroute -A 8.8.8.8traceroute -m 30 -q 1 -w 3 -A 8.8.8.8traceroute:neplatná volba -- 'A' Zkuste 'traceroute --help' nebo 'traceroute --usage' pro více informací. -A     Proveďte vyhledávání cest AS ve směrovacích registrech a vytiskněte  výsledky          přímo za odpovídající adresy. 

Tento problém se často vyřeší automaticky po aktualizaci úložiště. Pokud se s tímto problémem stále potýkáte, restartujte prosím své zařízení, proveďte příkaz správně a ujistěte se, že váš příkaz neobsahuje žádné překlepy.

~$ traceroute -A 8.8.8.8 traceroute na 8.8.8.8 (8.8.8.8), max. 30 skoků, 60bajtové pakety

4. Chyba instalace Traceroute v Linuxu

Pokud narazíte na nějaký problém při instalaci příkazu traceroute na váš počítač se systémem Linux, ujistěte se, že cesta, kterou přiřazujete k instalaci, je k dispozici pro instalaci balíčku. Musíte se také ujistit, že máte oprávnění superuživatele k instalaci tohoto nástroje. Ve většině případů se uživatelé stále pokoušejí nainstalovat příkaz traceroute do zamčeného adresáře a zobrazí se chyba odepřená oprávnění.

Nelze otevřít soubor zámku /var/lib/dpkg/lock - otevřít (13:Oprávnění odepřeno)E:Nelze zamknout administrační adresář (/var/lib/dpkg/), jste root?

K vyřešení tohoto problému můžete spustit kteroukoli z níže uvedených sad příkazů. Nezapomeňte opravit chybějící úložiště a nainstalovat příkaz traceroute na Linux.

instalace sudo apt-get --chybějící oprava  aktualizace sudo apt-get &&sudo apt-get install traceroute 

Získejte vesmírné úložiště a nainstalujte příkaz traceroute.

sudo add-apt-repository universesudo apt-get updatesudo apt-get install inetutils-traceroute

5. Odebrat závorky () Kolem IP adresy na Traceroute v Linuxu

Někdy můžete získat výstupní IP adresu v první závorce nebo v závorkách v shellu terminálu.

Zde je ukázkový výstup:

traceroute -m2 8.8.8.8 |grep .net |awk '{print $3}'(207.225.112.2)

Chcete-li odstranit závorky z výstupu, proveďte níže uvedený příkaz.

$ traceroute -m 2 8.8.8.8 | awk '/net/{gsub(/\(|\)/,"");tisk $3}'             Nebo$ traceroute -m 2 8.8.8.8 | awk '/.net/{print $3}'  | tr -d '()'207.225.112.2

Poslední slova

Použití nástroje traceroute pro odstraňování problémů se sítí může váš úkol usnadnit a zefektivnit. Začátečníkům může pár dní trvat, než s tímto příkazem začnou, ale jakmile si na tento nástroj zvyknete, zjistíte, jak moc vás jeho používání v Linuxu baví.

V celém příspěvku jsme popsali spoustu věcí o příkazu traceroute v Linuxu. Snažil jsem se ilustrovat příkaz traceroute co nejjednodušeji. Doufám, že tento příspěvek byl pro vás užitečný; pokud ano, sdílejte prosím tento příspěvek se svými přáteli a linuxovou komunitou. Své názory na tento příspěvek můžete také napsat do sekce komentářů.


Linux
  1. cp Command v Linuxu:7 praktických příkladů

  2. Linux Shutdown Command:5 praktických příkladů

  3. 5 Praktické příklady příkazu dd v Linuxu

  1. 10 Praktické příklady příkazů Linux nm

  2. 7 Příklady příkazů Linux df

  3. sa Příklady příkazů v Linuxu

  1. 8 Příklady příkazů Linux TR

  2. Příklady příkazů rm v Linuxu

  3. Příklady příkazů ps v Linuxu