Traceroute a google.com
Tiempo total: 45 días con 23:37:21 hrs
El comando traceroute sirve para rastrear los saltos que debe de hacer un paquete IP para llegar a su destino, este comando es utilizado para verificar la conectividad entre dos dispositivos de distintas redes y encontrar una solución a posibles problemas.
Utilización
Después de hacer la configuración de una red, es necesario revisar la comunicación entre los distintos hosts de la red local y en redes externas, para esto se utiliza el comando ping.
Si el comando ping falla en un host que se encuentra en una red externa, será necesario utilizar el comando traceroute para verificar en qué punto ha ocurrido el error.
Aunque en el momento en que sea nuestro turno configurar una red, no será una con distintos routers (o talvez sí), es por cultura general que todo informático debe de saber utilizar esta herramienta.
Funcionamiento
El comando traceroute (en GNU/Linux, Cisco IOS y Mac OSX) y tracert en Windows, funciona enviando mensajes ICMP ping con la IP de destino del host objetivo, con la diferencia que reduce a 1 el campo TTL (Time t olive) o Limite de saltos (IPv6).
Con TTL=1 se logra que el primer router reduzca a 0 este campo y lo descarte, enviando un mensaje de tiempo superado. El siguiente paso es enviar otro mensaje hacia la IP destino pero con TTL=2, de esta manera la PC que envía los mensajes ICMP recibirá la respuesta de tiempo superado con la IP de origen del siguiente salto.
En resumen, traceroute envía mensajes IP utilizando el protocolo ICMP con el viejo truco de incrementar el valor TTL para conocer los saltos que debe de hacer para llegar al host destino.
Entendiendo tracert con Wireshark
Al utilizar el programa Wireshark, podemos ver la información de los paquetes que entran y salen de nuestra computadora. Al utilizar el comando tracert, podemos capturar la actividad y filtrar el contenido por ICMP.
Al seleccionar una trama en la parte superior, podemos ver en la parte inferior, la solicitud de ping con TTL=8 y su respuesta. En las respuestas (color de fondo negro) observamos que el router responde al mensaje ICMP de solicitud de ping (pong), pero con el código de error 11 (tiempo superado), en la cabecera IP se puede leer el host de origen (la IP del router que descarto la trama).
Tracert google.com
Sobre cómo utilizar tracert para solucionar un problema de red, queda al ingenio de cada quien. A continuación un pequeño ejemplo sobre la información que podemos obtener de este comando.
Al hacer ping a google.com, se muestran los saltos que se debieron realizar para poder llegar al host destino:
- 192.168.1.1
- 190.149.182.1
- 10.192.39.173
- 10.192.37.181
- 10.192.16.113
- 66.110.72.129
- 72.14.215.97
- 209.85.253.120
- 72.14.235.209
- 216.58.219.142
El #1 es el router local de mi casa, de #3 a #5 son routers locales del ISP que me provee el servicio en Guatemala.
Podemos hacer un mapa de las ubicaciones de los saltos realizados, al buscar la geoposicion de cada IP pública, para esto utilizamos la página:
http://whatismyipaddress.com/ip-lookup
El resultado es el siguiente: