Traceroute - Comando de Linux - Comando Unix

Traceroute: imprimiu els paquets de ruta a l'amfitrió de la xarxa

Sinopsi

traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g gateway ]

[ -i iface ] [ -m max_ttl] [ -p port ]

[ -q nqueries ] [ -s src_addr ] [ -t tos ]

[ -w waittime ] [ -z pausemsecs ]

host [ packetlen ]

Descripció

Internet és una gran i complexa agregació de maquinari de xarxa, connectat per gateways. El seguiment de la ruta que segueix els paquets (o la cerca de la porta d'enllaç que elimina els paquets) pot ser difícil. Traceroute utilitza el camp "temps per viure" del protocol IP i intenta obtenir una resposta ICIME TIME_EXCEEDED de cada porta d'enllaç al llarg de la ruta d'accés a algun host.

L'únic paràmetre obligatori és el nom de l'amfitrió de destinació o el número IP . La longitud de datagrama de la sonda per defecte és de 40 bytes , però això pot augmentar especificant una longitud de paquet (en bytes) després del nom de l'amfitrió de destinació.

Altres opcions són:

-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 la bandera- s per 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 a la base de ports UDP a base + nhops - 1 a l'amfitrió de destinació (per tant, 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 està en una xarxa directament associada, es torna un error. Aquesta opció es pot utilitzar per fer ping a un host local a través d'una interfície que no té ruta a través d'ella (per exemple, després de la interfície es va deixar caure en ruta (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 la bandera -i per 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 utilitzeu 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. Els valors útils són probablement ` -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

Commuta la suma de comprovacions ip. Normalment, això evita que el traceroute calculi sumes de verificació ip. En alguns casos, el sistema operatiu pot sobreescriure parts del paquet sortint però no tornar a calcular la suma de comprovació (de manera que en alguns casos el valor predeterminat és no calcular les sumes de comprovació i usar -x les fa que calcular). Tingueu en compte que generalment es requereixen sumes de verificació per a l'últim salt quan s'utilitzen les sondes ICMP ECHO ( -I ). Així, 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 routers com Ciscos limiten els límits de icmp. Un bon valor per utilitzar amb això és 500 (per exemple, 1/2 segon).

Aquest programa intenta rastrejar la ruta que un paquet d'IP seguirà a alguns amfitrions d'Internet mitjançant el llançament de paquets de sonda UDP amb un petit ttl (temps per a viure) i després escoltar un "temps superat" per la resposta d'una passarel·la ICMP. Comencem les nostres sondes amb un ttl d'un i augmentem un per aconseguir que un port ICMP "inabastable" (que significa que arribem a "host") o copieu un màxim (que per defecte es pot esperar amb 30 llops i es pot canviar amb el -m bandera). Les tres sondes (canvi amb la bandera- q ) s'envien a cada ajust de ttl i s'imprimeix una línia 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 portals, s'imprimirà l'adreça de cada sistema de resposta. Si no hi ha resposta dins d'un 5 segons. interval de temps d'espera (canviat amb la bandera -w ), s'imprimeix un "*" per a aquesta sonda.

No volem que l'amfitrió de destinació processi els paquets de la sonda UDP per tal que el port de destinació estigui configurat en un valor improbable (si un determinat codi de destinació utilitza aquest valor, es pot canviar amb el pavelló -p ).

Un ús i una sortida de mostra pot ser:

[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 les línies 2 i 3 són iguals. Això es deu a un nucli buggy del sistema 2nd hop (lbl-csam.arpa) que envia paquets amb zero ttl (un error a la versió distribuïda de 4.3BSD). Tingueu en compte que heu d'endevinar quina és la ruta que els paquets prenen a través del país ja que el NSFNet (129.140) no proporciona traduccions d'adreça per nom per als seus 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 12, 14, 15, 16 i 17 s'allunyen o bé no envien missatges ICMP "excedint el temps" o els envien amb un ttl massa petit per arribar-hi. 14 - 17 estan executant el codi MIT C Gateway que no envia "temps superat". Déu només sap què passa amb 12.

La passarel·la silenciosa 12 a dalt pot ser el resultat d'un error a la 4. [23] El codi de xarxa BSD (i els seus derivats): 4.x (x <= 3) envia un missatge inabastable utilitzant el ttl que roman a l'original datagrama Atès que, per a les portes d'entrada, el ttl restant és zero, es garanteix que "temps excedit" de l'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 la destinació final) i exactament l'última meitat d'ells són "desapareguts". El que està passant és que rip (un Sun-3 amb Sun OS3.5) està utilitzant el ttl del nostre datagrama arribant com el ttl en la seva resposta ICMP. De manera que la resposta respondrà a la ruta de retorn (sense cap notificació enviada a ningú des que ICMP no s'enviï per ICMP) fins que provem amb un ttl que sigui almenys el doble de la longitud de la ruta. És a dir, el rip és només de 7 cops de distància. Una resposta que retorna amb un ttl de 1 és una pista que existeix aquest problema. Traceroute imprimeix un "!" després del temps si el ttl és <= 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 / o tenir cura escollint l'objectiu amfitrió de les vostres sondes.

Altres anotacions possibles després del temps són ! H,! N , o ! P (host, xarxa o protocol inabastable),! S (origen de la ruta fallida), F- (fragmentació necessària: es mostra el valor RFC1191 Path MTU Discovery), ! X (comunicació prohibida administrativament) ,! V (violació de precedència de host),! C (límit de precedència en vigor), o ! (Codi ICMP inabastable). Estan definits per RFC1812 (que substitueix RFC1716). Si gairebé totes les sondes produeixen algun tipus d'accés inaccessible, 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. A causa de la càrrega que podria imposar a la xarxa, és imprudent utilitzar traceroute durant les operacions normals o des de les seqüències d'ordres automatitzades.

Vegeu també

pathchar (8), netstat (1), ping (8)