Skip to main content

Com utilitzar el comandament 'traceroute' a Linux

Anonim

L'ordre traceroute s'utilitza a Linux per assignar el trajecte que un paquet d'informació emprèn des del seu origen fins a la seva destinació. Un dels usos per traceroute és localitzar quan la pèrdua de dades es produeix a través d'una xarxa, el que podria significar un node que està a la baixa.

Atès que cada salt en el registre reflecteix un nou servidor o enrutador entre la PC que origina i l'objectiu previst, la revisió dels resultats d'una exploració de traceroute també permet identificar punts lents que poden afectar negativament el trànsit de la vostra xarxa.

Com funciona

L'avaluació de la ruta específica que segueix el trànsit de la xarxa (o la cerca d'una passarel·la que elimina els paquets) presenta diversos reptes de solució de problemes. Traceroute utilitza el protocol IP temps per viure field per sol·licitar una resposta ICIME TIME_EXCEEDED de cada porta d'enllaç al llarg de la ruta d'accés a un host de destinació.

L'únic paràmetre que heu d'incloure quan executeu la comanda traceroute és el nom de l'amfitrió o l'adreça IP de la destinació.

Sintaxi i Interruptors Traceroute

traceroute -dFInrvx -f first_ttl -g porta d'entrada -i afronto -m max_ttl -p port -q nqueries -s src_addr -t tos -w waittime -z pausemsecs host packetlen

Tot i que l'anterior és com s'ha d'escriure la comanda traceroute per treballar a la línia d'ordres, es pot canviar el rendiment o la sortida de l'ordre especificant un o més interruptors opcionals.

  • -f: Estableix el temps inicial de vida utilitzat en el primer paquet de sonda sortint.
  • -F: Estableix el bit "no fragment".
  • -d: Activa la depuració del nivell del sòcol.
  • -g: Especifiqueu una passarel·la de ruta d'origen solt (màxim 8).
  • -i: Especifiqueu una interfície de xarxa per obtenir l'adreça IP d'origen dels paquets de sonda sortints. Normalment només és útil en un host multi-host. (Vegeu el-s marca una altra manera de fer-ho.)
  • -I: Utilitzeu ICMP ECHO en comptes de datagrames UDP.
  • -m: Establiu el temps màxim de vida (nombre màxim de salt) que s'utilitza en paquets de sonda sortints. El valor predeterminat és de 30 llums (el mateix valor predeterminat que s'utilitza per a les connexions TCP).
  • -n: Imprimeix les adreces de salt numèricament en lloc de simbòlicament i numèricament (es guarda una cerca d'adreça per nom per cada porta d'enllaç que es troba a la ruta).
  • -p: Estableix el número de port base UDP utilitzat en sondes (per defecte és 33434). Traceroute espera que res s'escolta als ports UDP base a base + nops - 1 a l'amfitrió de destinació (de manera que es retornarà un missatge ICMP PORT_UNREACHABLE per finalitzar el seguiment de la ruta). Si hi ha alguna cosa que està escoltant en un port en el rang per defecte, aquesta opció es pot utilitzar per triar un interval de ports no utilitzat.
  • -r: Omita les taules d'encaminament normals i envieu-les directament a un amfitrió en una xarxa adjunta. Si l'amfitrió no es troba en una xarxa directament associada, es torna un error. Aquesta opció es pot fer servir per fer ping a un amfitrió local a través d'una interfície que no té cap ruta a través d'ella (p. Ex., Després de la interrupció de la interfície enrutament (8C)).
  • -s: Utilitzeu la següent adreça IP (que normalment es proporciona com a número d'IP, no un nom d'amfitrió) com a adreça d'origen en paquets de sonda sortints. En els ordinadors multi-host (aquells amb més d'una adreça IP), aquesta opció es pot utilitzar per forçar l'adreça d'origen a ser una altra cosa que l'adreça IP de la interfície en què s'inverteix el paquet de la sonda. Si l'adreça IP no és una de les adreces d'interfície d'aquesta màquina, es torna un error i no se n'envia res. (Vegeu el-i marca una altra manera de fer-ho.)
  • -t: Estableix el tipus de servei en paquets de sonda al següent valor (zero predeterminat). El valor ha de ser un enter decimal en el rang de 0 a 255. Aquesta opció es pot utilitzar per veure si diferents tipus de servei donen lloc a diferents rutes. (Si no executeu 4.4bsd, pot ser acadèmic, ja que els serveis de xarxa normals com telnet i ftp no us permeten controlar el TOS.) No tots els valors de TOS són legals o significatius: vegeu l'especificació IP per definicions. Probablement, els valors útils '-t 16 '(baix retard) i `-t 8 ' (alt rendiment).
  • -v: Verbose output. Es mostren els paquets ICMP rebuts que no siguin TIME_EXCEEDED i UNREACHABLE.
  • -w: Estableix l'hora (en segons) per esperar una resposta a una sonda (per defecte 5 seg.).
  • -x: Canvia les sumes de verificació d'IP. Normalment, això evita que el traceroute calculi les sumes de verificació de la IP. En alguns casos, el sistema operatiu pot sobreescriure parts del paquet sortint però no tornar a calcular la suma de comprovació; per tant, en alguns casos, el valor predeterminat és no calcular les sumes de verificació i l'ús-x fa que es calculin. Tingueu en compte que generalment es requereixen sumes de verificació per a l'últim salt quan s'utilitzen sondes ICMP ECHO (-I), de manera que sempre es calculen quan s'utilitza ICMP.
  • -z: Estableix l'hora (en mil·lisegons) per fer una pausa entre les sondes (per defecte 0). Alguns sistemes com Solaris i els enrutadors de Cisco, els missatges de límit de velocitat icmp. Un bon valor per utilitzar amb això és de 500 (p. Ex., 1/2 segon).

Interpretació dels resultats

Traceroute descriu el camí que segueix un paquet d'IP a un servidor d'Internet mitjançant el llançament de paquets de sonda UDP amb un TTL petit (temps per viure) i després escoltar un "temps superat" per a la resposta d'una passarel·la ICMP. Comencem les nostres sondes amb una TTL d'una i augmentem per una fins que obtinguem un "port inabastable" ICMP (el que significa que el paquet ha arribat al seu destí) o s'afegeix un valor màxim d'intents, que per defecte és de 30 lliures i es pot canviar amb el-m bandera

Quan s'executa traceroute, envia tres proves a cada configuració de TTL i després imprimeix una línia a la consola que mostra el TTL, l'adreça de la porta d'enllaç i el temps de viatge rodó de cada sonda. Si les respostes de la sonda provenen de diferents portes d'accés, s'imprimeix l'adreça de cada sistema que respon. Si no hi ha cap resposta dins d'un interval de temps de caducitat de cinc segons (canviat amb el-w bandera), s'imprimeix un asterisc per a aquesta sonda.

Per impedir que el processament de paquets de sonda UDP estigui aclaparat per l'amfitrió de destinació, el port de destinació està establert en un valor improbable que utilitzi aquest dispositiu. Si una xarxa o servei a la destinació utilitza aquest port, canvieu el valor usant el-p bandera

Un ús i sortida de mostra retornarà resultats semblants a aquest exemple:

Yak 71% traceroute nis.nsf.net. traceroute a nis.nsf.net (35.1.1.48), 30 hops màx., 38 byte paquet 1 helios.ee.lbl.gov (128.3.112.1) 19 ms. 19 ms. 0 ms. 2 lilac-dmc.Berkeley.EDU (128.32. 216.1) 39 ms 39 ms 19 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms 5 ccn -nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms 6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms 7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms 8 129.140. 70.13 (129.140.70.13) 99 ms 99 ms 80 ms 9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms 10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms 11 nic.merit.edu (35.1 .1.48) 239 ms 239 ms 239 ms

Tingueu en compte que la segona i tercera línies són iguals. Aquest resultat es refereix a un nucli de buggy en el segon sistema de salt-lbl-csam.arpa-que envia paquets amb zero TTL (un error en la versió distribuïda de 4.3 BSD). Heu d'endevinar quina és la ruta que els paquets prenen a través de països, ja que el NSFNet (129.140) no proporciona traduccions d'adreça per nom per als NSS.

Un exemple més interessant és:

Yak 72% traceroute allspice.lcs.mit.edu. traceroute a allspice.lcs.mit.edu (18.26.0.115), 30 hops max 1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 19 ms 19 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 19 ms 39 ms 39 ms 5 ccn-nerif22 .Berkeley.EDU (128.32.168.22) 20 ms 39 ms 39 ms 6 128.32.197.4 (128.32.197.4) 59 ms 119 ms 39 ms 7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 39 ms 8 129.140.70.13 ( 129.140.70.13) 80 ms 79 ms 99 ms 9 129.140.71.6 (129.140.71.6) 139 ms 139 ms 159 ms 10 129.140.81.7 (129.140.81.7) 199 ms 180 ms 300 ms 11 129.140.72.17 (129.140.72.17) 300 ms 239 ms 239 m 12 * * * 13 128.121.54.72 (128.121.54.72) 259 ms 499 ms 279 ms 14 * * * 15 * * * 16 * * * 17 * * * 18 ALLSPICE.LCS.MIT.EDU (18.26 .0.115) 339 ms 279 ms 279 ms

Tingueu en compte que les passarel·les a 12, 14, 15, 16 i 17 hops no envien missatges ICMP "excedint el temps" o els envien amb un TTL massa petit per arribar-hi. Les línies 14 a 17 estan executant el codi de la passarel·la MIT C que no envia missatges de "temps excedit".

La porta silenciosa 12 de l'exemple anterior pot ser el resultat d'un error en el codi de xarxa 4. 23 BSD i els seus derivats: les màquines que executen el codi 4.3 i anteriors envien un missatge inalcanzable utilitzant el TTL que roman en el datagrama original. Atès que, per a passarel·les, el TTL restant és zero, es garanteix que "el temps sigui superior" a ICMP no ens torni a fer. El comportament d'aquest error és una mica més interessant quan apareix al sistema de destinació:

1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1 ) 19 ms 39 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms 5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms 6 csgw. Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 rip.Berkeley.EDU (128.32.131.22) 59 Senyora ! 39 ms! 39 ms!

Tingueu en compte que hi ha 12 "portes d'accés" (13 són la destinació final), i la meitat d'ells no es troba. El que realment passa és que el servidor anomenat descansi en pau (un Sun-3 amb Sun OS 3.5) està utilitzant el TTL del nostre datagrama arribant com a TTL en la seva resposta ICMP. De manera que la resposta respondrà a la ruta de retorn (sense cap notificació enviada a ningú, ja que els ICMP no s'envien als ICMP) fins que provem amb un TTL que sigui almenys el doble de la longitud de la ruta, és a dir, el rip és realment només set llops lluny.

Una resposta que retorna amb una TTL de 1 és una pista que existeix. Traceroute imprimeix un "!" després del temps si la TTL és menor o igual que 1. Atès que els proveïdors envien un munt de programari obsolet (DEC, Ultimate, Sun 3.x) o no estàndard (HPUX), esperem veure amb freqüència aquest problema i tenir cura de seleccionar el host objectiu de les vostres proves.

Altres anotacions possibles després del tempsH, N!, oP (host, xarxa o protocol inabastable),S! (la ruta d'origen no funciona),F- (es necessita fragmentació: es mostra el valor RFC1191 Path MTU Discovery),X (comunicació prohibida administrativament),V (violació de precedència de host),C (efecte de tall de precedència), o! (Codi ICMP inabastable). Aquests codis es defineixen per RFC1812, que substitueix RFC1716. Si gairebé totes les sondes produeixen algun tipus d'amfitrió inabastable, el traceroute es donarà per vençut i sortirà.

Aquest programa està destinat a la seva utilització en proves, mesuraments i gestió de xarxes. S'ha d'utilitzar principalment per a l'aïllament manual de fallades. Degut a la càrrega que pot imposar a la xarxa, és imprudent utilitzar traceroute durant operacions normals o des de seqüències d'ordres automatitzades.