GNU/Linux >> Znalost Linux >  >> Linux

5 UNIX / Linux Příklady příkazů Traceroute

Existují scénáře, ve kterých by člověk chtěl znát trasu, kterou spojení sleduje. Trasou zde rozumíme IP adresy všech přeposílání entit (jako jsou routery mezi nimi).

Ačkoli není zaručeno, že trasa zůstane stejná pro všechny pakety připojení, obvykle je stejná. Tyto informace týkající se trasy mohou být velmi užitečné při ladění problémů souvisejících se sítí.

Nástroj traceroute vytiskne kompletní trasu k určitému cíli. V tomto článku probereme, jak traceroute funguje, a uvidíme několik praktických příkladů.

Jak Traceroute funguje?

Než začneme s příklady, pojďme pochopit koncept, na kterém traceroute funguje.

Obslužný program Traceroute používá pole TTL v hlavičce IP k dosažení své činnosti. Pro uživatele, kteří jsou v poli TTL noví, toto pole popisuje, kolik skoků zabere konkrétní paket při cestování po síti.

To tedy efektivně nastiňuje životnost paketu v síti. Toto pole je obvykle nastaveno na 32 nebo 64. Pokaždé, když je paket zadržen na mezilehlém směrovači, sníží hodnotu TTL o 1. Když směrovač nalezne v přijatém paketu hodnotu TTL 1, pak tento paket není předán, ale místo toho vyřazeno.

Po zahození paketu směrovač odešle chybovou zprávu ICMP „Překročení času“ zpět do zdroje, odkud byl paket vygenerován. Paket ICMP, který je odeslán zpět, obsahuje adresu IP směrovače.

Takže nyní lze snadno pochopit, že traceroute funguje tak, že odesílá pakety s hodnotou TTL začínající od 1 a poté se pokaždé zvyšuje o jednu. Pokaždé, když router přijme paket, zkontroluje pole TTL, pokud je pole TTL 1, paket zahodí a odešle chybový paket ICMP obsahující jeho IP adresu, a to je to, co traceroute vyžaduje. Takže traceroute postupně načítá IP všech směrovačů mezi zdrojem a cílem.

Měli byste také rozumět polím záhlaví IP, o kterých jsme mluvili před časem.

Příklady Traceroute

1. Jak spustit traceroute?

$ traceroute <server-name>

Výše uvedený server-name je cílový název nebo IP adresa. Například traceroute se používá k nalezení síťové cesty z mého počítače na google.com:

$ traceroute google.com
traceroute to google.com (74.125.236.132), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  89.174 ms  89.094 ms  89.054 ms
2  115.255.239.65 (115.255.239.65)  109.037 ms  108.994 ms  108.963 ms
3  124.124.251.245 (124.124.251.245)  108.937 ms  121.322 ms  121.300 ms
4  * 115.255.239.45 (115.255.239.45)  113.754 ms  113.692 ms
5  72.14.212.118 (72.14.212.118)  123.585 ms  123.558 ms  123.527 ms
6  72.14.232.202 (72.14.232.202)  123.499 ms  123.475 ms  143.523 ms
7  216.239.48.179 (216.239.48.179)  143.503 ms  95.106 ms  95.026 ms
8  bom03s02-in-f4.1e100.net (74.125.236.132)  94.980 ms  104.989 ms  104.954 ms

Každý řádek poskytuje podrobnosti o interakci s každým nalezeným routerem. Vidíme tedy, že traceroute nedává pouze IP adresy zprostředkujících směrovačů, ale také tři zpáteční časy pro tento konkrétní směrovač, protože pro každý směrovač příkazy traceroute vystřelí tři pakety.

Pole „*“ ve výstupu

Jsou chvíle, kdy se ve výstupu můžete setkat se znakem „*“ spíše než s hodnotou. To ukazuje, že požadované pole nebylo možné načíst. Důvodem může být cokoli, od selhání zpětného vyhledávání DNS po pakety, které nezasáhnou cílový směrovač, až po ztrátu paketů na cestě zpět. Vidíme tedy, že důvodů může být mnoho, ale pro všechny tyto typy případů poskytuje nástroj traceroute ve výstupu *.

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

Traceroute poskytuje možnost, pomocí které je zakázáno mapování IP adres s názvem hostitele (který traceroute zkouší). Možnost, jak to udělat, je „-n“ . Následující příklad to ilustruje:

$ traceroute google.com -n
traceroute to google.com (173.194.36.7), 30 hops max, 60 byte packets
1  220.224.141.129  109.352 ms  109.280 ms  109.248 ms
2  115.255.239.65  131.633 ms  131.598 ms  131.573 ms
3  124.124.251.245  131.554 ms  131.529 ms  131.502 ms
4  115.255.239.45  131.478 ms  131.464 ms  199.741 ms
5  72.14.212.118  199.674 ms  199.637 ms  199.603 ms
6  209.85.241.52  199.578 ms  199.549 ms  209.838 ms
7  209.85.241.187  199.488 ms  177.264 ms  177.196 ms
8  173.194.36.7  177.159 ms  187.463 ms  187.434 ms

Vidíme tedy, že ve výstupu není zobrazen žádný název hostitele.

3. Nakonfigurujte dobu čekání na odezvu

Lze také nakonfigurovat dobu, po kterou obslužný program traceroute čeká po vydání sondy. To lze provést pomocí volby „-w“, kterou poskytuje. Volba -w očekává hodnotu, kterou obslužný program vezme jako dobu odezvy na čekání. V tomto příkladu je čekací doba 0,1 sekundy a obslužný program traceroute nemohl čekat na žádnou odpověď a vytiskl všechny *.

$ traceroute google.com -w 0.1
traceroute to google.com (74.125.236.101), 30 hops max, 60 byte packets
1  * * *
2  * * *
3  * * *
..
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Vidíme tedy, že traceroute zkusil 30 pokusů (maximální počet pokusů o skok) a pak to vzdal, protože za 0,1 sekundy nebyl přijat žádný ICMP paket.

4. Nakonfigurujte počet dotazů na skok

Jak již bylo vysvětleno dříve, obslužný program traceroute odešle 3 pakety na jeden skok, aby poskytl 3 zpáteční časy. Tato výchozí hodnota 3 je konfigurovatelná pomocí volby ‚-q‘. Tato volba očekává celé číslo, které nastaví jako novou hodnotu počtu sond na skok.

$ traceroute google.com -q 5
traceroute to google.com (173.194.36.46), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  91.579 ms  91.497 ms  91.458 ms  91.422 ms  91.385 ms
2  115.255.239.65 (115.255.239.65)  91.356 ms  91.325 ms  98.868 ms  98.848 ms  98.829 ms
3  124.124.251.245 (124.124.251.245)  94.581 ms  107.083 ms  107.044 ms  107.017 ms  106.981 ms
4  115.255.239.45 (115.255.239.45)  106.948 ms  106.918 ms  144.432 ms  144.412 ms  144.392 ms
5  72.14.212.118 (72.14.212.118)  115.565 ms  115.485 ms  115.446 ms  115.408 ms  115.381 ms
6  72.14.232.202 (72.14.232.202)  115.351 ms  87.232 ms  117.157 ms  117.123 ms  117.049 ms
7  209.85.241.189 (209.85.241.189)  126.998 ms  126.973 ms  126.950 ms  126.929 ms  126.912 ms
8  bom04s02-in-f14.1e100.net (173.194.36.46)  126.889 ms  95.526 ms  95.450 ms  95.418 ms  105.392 ms

Vidíme tedy, že po nakonfigurování počtu sond na 5 začal výstup ukazovat pět zpátečních časů na jeden skok.

5. Nakonfigurujte hodnotu TTL na začátek

Nástroj Traceroute je dostatečně flexibilní, aby přijal hodnotu TTL, se kterou chce uživatel nástroj spustit. Ve výchozím nastavení je jeho hodnota 1, což znamená, že začíná prvním routerem v cestě, ale pomocí volby „-f“ (která očekává novou hodnotu TTL) lze nastavit novou hodnotu pole TTL. Vyzkoušel jsem například normální operaci traceroute a pak jsem zkusil traceroute s jinou hodnotou TTL.

$ traceroute google.com
traceroute to google.com (74.125.236.132), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  89.181 ms  101.540 ms  101.503 ms
2  115.255.239.65 (115.255.239.65)  101.468 ms  101.431 ms  101.324 ms
3  124.124.251.245 (124.124.251.245)  121.373 ms  121.350 ms  158.694 ms
4  115.255.239.45 (115.255.239.45)  101.223 ms  141.135 ms  123.932 ms
5  72.14.212.118 (72.14.212.118)  123.867 ms  123.832 ms  123.802 ms
6  72.14.232.202 (72.14.232.202)  123.773 ms  123.742 ms  587.812 ms
7  216.239.48.179 (216.239.48.179)  587.723 ms  587.681 ms  587.642 ms
8  bom03s02-in-f4.1e100.net (74.125.236.132)  577.548 ms  577.524 ms  587.512 ms

$ traceroute google.com -f 8
traceroute to google.com (74.125.236.129), 30 hops max, 60 byte packets
8  bom03s02-in-f1.1e100.net (74.125.236.129)  96.961 ms  96.886 ms  96.849 ms

Vidíme tedy, že po použití volby -f s hodnotou 8 se zobrazil pouze poslední (8.) řádek z předchozího výstupu.


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

  2. 10 Příklady příkazů Xargs v Linuxu / UNIXu

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

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

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

  3. příklady příkazů tail v UNIX/Linux

  1. UNIX / Linux:10 příkladů příkazů Netstat

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

  3. Příklady příkazů „uname“ ke kontrole verze UNIX/Linux