Traceroute
je diagnostické příkazy počítačové sítě pro zobrazení možných tras (cest) a měření zpoždění přenosu paketů přes síť internetového protokolu (IP). Historie cesty je zaznamenávána jako časy zpáteční cesty paketů přijatých od každého následného hostitele (vzdáleného uzlu) na trase (cestě); součet středních časů v každém skoku je mírou celkového času stráveného navázáním spojení. Také vám ukáže, jak jsou systémy vzájemně propojeny, což vám umožní vidět, jak se váš ISP připojuje k internetu, a také jak je připojen cílový systém. Traceroute pokračuje, pokud nejsou všechny (obvykle tři) odeslané pakety ztraceny více než dvakrát; pak se spojení ztratí a trasu nelze vyhodnotit.
Když se připojíte ke vzdálenému počítači (IP) nebo doméně, váš provoz vždy prochází různými síťovými zařízeními, jako jsou směrovače a přepínače. Je to práce těchto směrovačů a přepínačů, které řídí, jak se vaše aktivita dostane do cíle.
Použití:
yum
příkazy lze použít zadáním těchto příkazů do terminálu:
traceroute [options]
traceroute domain
traceroute ip-address
Příklady:
traceroute citizix.com
traceroute 192.168.101.10
[email protected]:~# traceroute www.citizix.com traceroute to www.citizix.com (172.67.197.111), 30 hops max, 60 byte packets 1 vlan130vrrpmlag06.ikoula.com (178.170.10.252) 0.185 ms 0.136 ms 0.134 ms 2 be3.rc1.ikdc2.ikoula.com (213.246.32.128) 0.600 ms 0.422 ms be3.rc2.ikdc2.ikoula.com (213.246.32.142) 0.601 ms 3 be2.rc1.ikdc2.ikoula.com (213.246.32.132) 2.734 ms 2.661 ms 2.645 ms 4 et-t1.core15.rb.ikoula.com (213.246.32.135) 3.121 ms cloudflare.par.franceix.net (37.49.237.49) 3.578 ms et-t1.core15.rb.ikoula.com (213.246.32.135) 3.067 ms 5 cloudflare.par.franceix.net (37.49.237.49) 3.801 ms 172.67.197.111 (172.67.197.111) 2.983 ms 2.973 ms
ayum
příkazy se obvykle ve výchozím nastavení neinstalují. Tato příručka vám ukáže, jak ji nainstalovat do těchto distribucí Linuxu:Centos, Ubuntu, Debian, Fedora, Archlinux.Centos 7
Centos 7 používá
tracert
spravovat své balíčky. Použijeme yum k instalaci traceroute v centos 7.Nejprve zkontrolujte, který balíček poskytuje
yum
pomocí příkazu$ sudo yum whatprovides traceroute 3:traceroute-2.0.22-2.el7.x86_64 : Traces the route taken by packets over an IPv4/IPv6 network Repo : base 3:traceroute-2.0.22-2.el7.x86_64 : Traces the route taken by packets over an IPv4/IPv6 network Repo : @base
:yum whatprovides
Z výše uvedeného výstupu můžeme vidět, že jej poskytuje
yum
, nemusíte zadávat podrobnosti o verzi, pokud nehledáte konkrétní verzi. Nainstalujme jej pomocí tohoto příkazu:$ traceroute 10.2.11.8 traceroute to 10.2.11.8 (10.2.11.8), 30 hops max, 60 byte packets 1 ip-10-2-10-8.ap-southeast-1.compute.internal (10.2.10.8) 168.745 ms 168.707 ms 168.679 ms 2 ip-10-2-11-8.ap-southeast-1.compute.internal (10.2.11.8) 168.815 ms 168.785 ms 168.747 ms
Ověřte, zda je příkaz úspěšně nainstalován
sudo yum install traceroute -y
$ which traceroute /usr/bin/traceroute
příkaz pro správu jeho balíčků. K instalaciyum
použijte následující příkazapt
Pomocí
traceroute -w 1.0 www.citizix.com
ověřte, zda je příkaz úspěšně nainstalován :sudo apt install -y traceroute
traceroute google.com
Archlinux
Již brzy
Fedora
Již brzy
Použití příkazů nad rámec základního
Zakázat mapování IP adresy a názvu hostitele
Pokud chcete zakázat mapování IP adres na názvy hostitelů, můžete použít příznak
[email protected]:~# which traceroute /usr/sbin/traceroute
jako v tomto příkladu:[email protected]:~# traceroute google.com traceroute to google.com (216.58.215.46), 30 hops max, 60 byte packets 1 vlan130vrrpmlag06.ikoula.com (178.170.10.252) 0.156 ms 0.106 ms 0.124 ms 2 be3.rc1.ikdc2.ikoula.com (213.246.32.128) 0.561 ms 0.529 ms 0.476 ms 3 be2.rc2.ikdc2.ikoula.com (213.246.32.133) 3.101 ms et-t2.core14.ikdc1.ikoula.com (213.246.32.141) 2.722 ms 2.761 ms 4 eth-trunk3.core16.ikdc1.ikoula.com (213.246.32.57) 1.490 ms 1.705 ms et-t2.core14.ikdc1.ikoula.com (213.246.32.141) 2.635 ms 5 core11.th2.Eth-Trunk4.ikoula.com (213.246.50.194) 3.479 ms 3.629 ms 3.572 ms 6 core11.th2.Eth-Trunk4.ikoula.com (213.246.50.194) 3.802 ms 3.544 ms 3.405 ms 7 195.42.144.100 (195.42.144.100) 3.296 ms 108.170.245.1 (108.170.245.1) 4.827 ms 108.170.244.193 (108.170.244.193) 3.265 ms 8 108.170.244.193 (108.170.244.193) 3.243 ms 3.837 ms 108.170.245.1 (108.170.245.1) 4.511 ms 9 72.14.237.93 (72.14.237.93) 4.113 ms 4.027 ms par21s17-in-f14.1e100.net (216.58.215.46) 3.897 ms
Výstup:
-n
Výstup:
traceroute -n www.citizix.com
Výstup:
# traceroute -n www.citizix.com traceroute to www.citizix.com (104.21.82.63), 30 hops max, 60 byte packets 1 178.170.10.252 0.143 ms 0.114 ms 0.102 ms 2 213.246.32.128 0.645 ms 0.581 ms 0.542 ms 3 213.246.32.135 3.339 ms 3.290 ms 3.224 ms 4 213.246.32.135 3.160 ms 37.49.237.49 4.059 ms 213.246.32.135 3.281 ms 5 104.21.82.63 3.602 ms 3.589 ms 37.49.237.49 3.734 ms
Nakonfigurujte hodnotu TTL tak, aby začínala
Výchozí ttl nastavený pro
yum
je 1. Změňte tuto hodnotu pomocí parametru$ traceroute -w 1.0 www.citizix.com traceroute to www.citizix.com (104.21.82.63), 30 hops max, 60 byte packets 1 vlan130vrrpmlag06.ikoula.com (178.170.10.252) 0.194 ms 0.128 ms 0.124 ms 2 be3.rc2.ikdc2.ikoula.com (213.246.32.142) 0.623 ms be3.rc1.ikdc2.ikoula.com (213.246.32.128) 0.752 ms 0.633 ms 3 be2.rc1.ikdc2.ikoula.com (213.246.32.132) 2.906 ms 2.720 ms 2.665 ms 4 cloudflare.par.franceix.net (37.49.237.49) 9.047 ms et-t1.core15.rb.ikoula.com (213.246.32.135) 3.277 ms 3.406 ms 5 cloudflare.par.franceix.net (37.49.237.49) 3.680 ms 104.21.82.63 (104.21.82.63) 3.025 ms 3.735 ms ``` ## Configure Number of Queries per Hop `traceroute` utility sends 3 packets per hop to provide 3 round trip times. Use the `q` to change this config. The value given should always be an integer. Example: ```bash traceroute -q 5 citizix.com</code></pre> <p>Output:</p> <pre><code>$ traceroute -q 5 citizix.com traceroute to citizix.com (104.21.82.63), 30 hops max, 60 byte packets 1 vlan130vrrpmlag06.ikoula.com (178.170.10.252) 0.147 ms 0.102 ms 0.098 ms 0.096 ms 0.106 ms 0.101 ms 2 be3.rc2.ikdc2.ikoula.com (213.246.32.142) 0.639 ms be3.rc1.ikdc2.ikoula.com (213.246.32.128) 0.653 ms be3.rc2.ikdc2.ikoula.com (213.246.32.142) 0.490 ms be3.rc1.ikdc2.ikoula.com (213.246.32.128) 0.501 ms be3.rc2.ikdc2.ikoula.com (213.246.32.142) 0.431 ms 0.361 ms 3 et-t1.core15.rb.ikoula.com (213.246.32.135) 3.050 ms 3.001 ms 3.056 ms be2.rc1.ikdc2.ikoula.com (213.246.32.132) 2.741 ms et-t1.core15.rb.ikoula.com (213.246.32.135) 3.306 ms 3.232 ms 4 * cloudflare.par.franceix.net (37.49.237.49) 3.597 ms et-t1.core15.rb.ikoula.com (213.246.32.135) 3.082 ms * cloudflare.par.franceix.net (37.49.237.49) 3.742 ms et-t1.core15.rb.ikoula.com (213.246.32.135) 3.149 ms 5 * 104.21.82.63 (104.21.82.63) 3.636 ms * 2.940 ms * *</code></pre> <h2>Configure the TTL value to start with</h2> <p>The default ttl set for <code>traceroute</code> is 1. Change this value with the flag <code>-f</code></p> <p>Example:</p> <pre><code class="language-bash">traceroute -f 4 citizix.com</code></pre> <p>Output:</p> <pre><code class="language-bash">$ traceroute -f 4 citizix.com traceroute to citizix.com (104.21.82.63), 30 hops max, 60 byte packets 4 cloudflare.par.franceix.net (37.49.237.49) 3.842 ms et-t1.core15.rb.ikoula.com (213.246.32.135) 3.002 ms cloudflare.par.franceix.net (37.49.237.49) 9.145 ms 5 cloudflare.par.franceix.net (37.49.237.49) 6.766 ms 104.21.82.63 (104.21.82.63) 6.994 ms cloudflare.par.franceix.net (37.49.237.49) 4.871 ms ``` # Other Options To check on other `traceroute` command, use any of these options: - Use manpages ```bash man traceroute
Příklad:
traceroute -f 4 citizix.com
Výstup:
$ traceroute -f 4 citizix.comtraceroute na citizix.com (104.21.82.63), max. 30 skoků, 60bajtové pakety 4 cloudflare.par.franceix.net (37.49.237.49) 3842 ms et-t1.core15.rb.ikoula.com (213.1346.32.02.0 oblačnost ) 4,871 ms ```# Další možnostiChcete-li zkontrolovat další příkaz `traceroute`, použijte kteroukoli z těchto možností:- Použijte manpages```bashman traceroute
- Použijte možnost `–help`
traceroute --help
Výstup:
# traceroute --help
Usage:
traceroute [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,... ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w MAX,HERE,NEAR ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]
Options:
-4 Use IPv4
-6 Use IPv6
-d --debug Enable socket level debugging
-F --dont-fragment Do not fragment packets
-f first_ttl --first=first_ttl
Start from the first_ttl hop (instead from 1)
-g gate,... --gateway=gate,...
Route packets through the specified gateway
(maximum 8 for IPv4 and 127 for IPv6)
-I --icmp Use ICMP ECHO for tracerouting
-T --tcp Use TCP SYN for tracerouting (default port is 80)
-i device --interface=device
Specify a network interface to operate with
-m max_ttl --max-hops=max_ttl
Set the max number of hops (max TTL to be
reached). Default is 30
-N squeries --sim-queries=squeries
Set the number of probes to be tried
simultaneously (default is 16)
-n Do not resolve IP addresses to their domain names
-p port --port=port Set the destination port to use. It is either
initial udp port value for "default" method
(incremented by each probe, default is 33434), or
initial seq for "icmp" (incremented as well,
default from 1), or some constant destination
port for other methods (with default of 80 for
"tcp", 53 for "udp", etc.)
-t tos --tos=tos Set the TOS (IPv4 type of service) or TC (IPv6
traffic class) value for outgoing packets
-l flow_label --flowlabel=flow_label
Use specified flow_label for IPv6 packets
-w MAX,HERE,NEAR --wait=MAX,HERE,NEAR
Wait for a probe no more than HERE (default 3)
times longer than a response from the same hop,
or no more than NEAR (default 10) times than some
next hop, or MAX (default 5.0) seconds (float
point values allowed too)
-q nqueries --queries=nqueries
Set the number of probes per each hop. Default is
3
-r Bypass the normal routing and send directly to a
host on an attached network
-s src_addr --source=src_addr
Use source src_addr for outgoing packets
-z sendwait --sendwait=sendwait
Minimal time interval between probes (default 0).
If the value is more than 10, then it specifies a
number in milliseconds, else it is a number of
seconds (float point values allowed too)
-e --extensions Show ICMP extensions (if present), including MPLS
-A --as-path-lookups Perform AS path lookups in routing registries and
print results directly after the corresponding
addresses
-M name --module=name Use specified module (either builtin or external)
for traceroute operations. Most methods have
their shortcuts (-I' means
-M icmp' atd.) -O OPTS,... --options=OPTS,... Pro modul traceroute použijte specifickou volbu OPTS. Je povoleno několik OPTS oddělených čárkou. Pokud je OPTS "help", vytiskne informace o dostupných možnostech --sport=num Použít číslo zdrojového portu pro odchozí pakety. Znamená `-N 1' --fwmark=num Nastavit značku brány firewall pro odchozí pakety -U --udp Použít UDP na konkrétní port pro tracerouting (místo zvýšení portu pro každou sondu), výchozí port je 53 -UL Pro tracerout použít UDPLITE (výchozí cílový port je 53) -D --dccp Použít požadavek DCCP pro tracerouting (výchozí port je 33434) -P prot --protocol=prot Použít nezpracovaný paket protokolu prot pro tracerouting --mtu Zjistit MTU podél sledované cesty. Znamená `-F -N 1' --back Hádejte počet skoků ve zpětné cestě a vytiskněte, pokud se liší -V --version Vytiskněte informace o verzi a ukončete --help Přečtěte si tuto nápovědu a ukončete Argumenty:+ hostitel Hostitel ke traceroute to packetlen Úplná délka paketu (výchozí je délka hlavičky IP plus 40). Lze ignorovat nebo zvýšit na minimální povolenou hodnotu