La orden traceroute

Esta orden se utiliza para imprimir la ruta que los paquetes siguen desde nuestro sistema hasta otra máquina; para ello utiliza el campo TTL (Time To Live) del protocolo IP, inicializándolo con valores bajos y aumentándolo conforme va recibiendo tramas ICMP de tipo TIME/SMALL>_EXCEEDED. La idea es sencilla: cada vez que un paquete pasa por un router o una pasarela, esta se encarga de decrementar el campo TTL en una unidad; en el caso de que se alcance un valor 0, se devuelve un paquete TIME/SMALL>_EXCEEDED y se descarta la trama. Así, traceroute inicializa a 1 este campo, lo que ocasiona que el primer router encontrado ya devuelva el mensaje de error; al recibirlo, lo inicializa a 2, y ahora es el segundo router el que descarta el paquete y envía otro mensaje de error, y así sucesivamente. De esta forma se va construyendo la ruta hasta un determinado host remoto:
luisa:~# traceroute www.altavista.com
traceroute to altavista.com (204.152.190.70), 30 hops max, 40 byte packets
 1  annex4.net.upv.es (158.42.240.191)  156.251 ms  144.468 ms  139.855 ms
 2  zaurac-r.net.upv.es (158.42.240.250)  159.784 ms  149.734 ms  149.809 ms
 3  atlas.cc.upv.es (158.42.1.10)  149.881 ms  149.717 ms  139.853 ms
 4  A1-0-3.EB-Valencia1.red.rediris.es (130.206.211.185)  149.863 ms  
    150.088 ms  149.523 ms
 5  A0-1-2.EB-Madrid00.red.rediris.es (130.206.224.5)  189.749 ms  
    159.698 ms  180.138 ms
 6  A6-0-0-1.EB-Madrid0.red.rediris.es (130.206.224.74)  179.518 ms  
    159.678 ms  189.897 ms
 7  194.69.226.13 (194.69.226.13)  259.752 ms  249.664 ms  259.83 ms
 8  * * 195.219.101.1 (195.219.101.1)  290.772 ms
 9  195.219.96.34 (195.219.96.34)  1680.33 ms  1660.36 ms  1669.83 ms
10  * 195.66.225.76 (195.66.225.76)  1660.68 ms  1650.33 ms
11  core1-linx-oc3-1.lhr.above.net (216.200.254.81)  2009.88 ms  1970.32 ms *
12  iad-lhr-stm4.iad.above.net (216.200.254.77)  2050.68 ms * *
13  sjc-iad-oc12-2.sjc.above.net (216.200.0.22)  2440.89 ms  2170.29 ms  
    2579.81 ms
14  pao-sjc-oc12-2.pao.above.net (207.126.96.65)  2441.19 ms  2140.32 ms *
15  mibh-above-oc3.pao.mibh.net (216.200.0.10)  2200.57 ms * *
16  * * www.altavista.com (204.152.190.70)  1810.56 ms
luisa:~#
traceroute se utiliza para realizar pruebas, medidas y administración de una red; introduce mucha sobrecarga, lo que evidentemente puede acarrear problemas de rendimiento, llegando incluso a negaciones de servicio por el elevado tiempo de respuesta que el resto de aplicaciones de red pueden presentar. Además, se trata de un programa contenido en un fichero setuidado, por lo que es interesante resetear el bit de setuid de forma que sólo el root pueda ejecutar la orden: hemos de pensar que un usuario normal rara vez tiene que realizar pruebas sobre la red, por lo que el bit setuid de traceroute no es más que un posible problema para nuestra seguridad; aunque con ping sucede lo mismo (es un fichero setuidado), que un usuario necesite ejecutar traceroute es menos habitual que que necesite ejecutar ping (de cualquier forma, también podríamos resetear el bit setuid de ping).
© 2002 Antonio Villalón Huerta