Qué es y para qué sirve el comando Tracert o Traceroute

Qué es y para qué sirve el comando Tracert o Traceroute

Oscar Espinosa

Muchas veces los usuarios nos podemos encontrar que no podemos acceder a un equipo de nuestra red, un sitio web, un recurso en la red, etc. Es por eso, por lo que una de las herramientas más útiles que tenemos para diagnosticar problemas de conexión es el llamado «tracert» o «traceroute» que nos permite saber por qué ruta pasamos hasta llegar al host de destino. En este artículo te vamos a explicar para qué sirve, cómo se puede utilizar y qué opciones tiene este comando disponible en todos los sistemas operativos.

Qué es Tracert o Traceroute

El comando Tracert se ejecuta en la consola de símbolo de sistema en los sistemas operativos Windows. Gracias a este comando, podremos seguir la pista a los paquetes que vienen desde un host. Cuando ejecutamos el comando «Tracert» obtenemos una estadística de la latencia de red de esos paquetes, lo que es una estimación de la distancia a la que están los extremos de la comunicación. Este comando no es exclusivo de los sistemas operativos Windows, en UNIX, Linux y OSX este comando se llama “Traceroute” y hace lo mismo que en los sistemas operativos Windows.

Cómo funciona el comando Tracert o Traceroute

El comando de diagnóstico Tracert nos determina la ruta a un destino introducido mediante el envío de paquetes «ICMP echo», usando el protocolo de mensajes de control de Internet más conocido como “ICMP” al destino host. Estos paquetes que se envían usan los valores de período de vida (TTL) por defecto, o que nosotros le indiquemos mediante las opciones del comando Tracert.

Cuando enviamos un paquete de datos, los routers disminuyen este TTL del paquete en una unidad antes de reenviar el paquete al siguiente punto del camino. Por eso, gracias al TTL podemos saber la cantidad de «saltos» que ha dado el paquete desde un origen hasta un destino. Sin embargo, cuando el TTL de un paquete llega al valor cero, sin alcanzar su destino final, el router devuelve al equipo de origen un mensaje ICMP de «Tiempo agotado».

El comando Tracert funciona enviando primero un paquete «ICMP echo» con un TTL de 1 y aumenta el TTL en 1 en cada transmisión posterior, hasta que llega al destino final o hasta que se alcanza el TTL máximo. Gracias a los routers intermedios que devuelven el mensaje ICMP de «Tiempo agotado», podemos saber la ruta que está siguiendo el paquete de datos enviado desde nuestro equipo hasta el host de destino. Sin embargo, puede ocurrir que algunos routers envíen paquetes de “Tiempo agotado” TTL sin avisar y estos paquetes son invisibles para el comando Tracert.

Una vez sabemos esto, podemos comprender que el comando Tracert funciona mostrando por pantalla, una lista ordenada de los enrutadores intermedios que devuelven el mensaje ICMP de «tiempo agotado». Veamos un ejemplo introduciendo el comando Tracert www.redeszone.net en la consola de símbolo de sistema:

En la imagen de arriba del comando Tracert hacia nuestra web www.redeszone.net, podemos ver que para llegar al servidor web de destino tiene que dar ocho saltos. Además, en cada salto nos muestra el tiempo mínimo, medio y máximo de cada salto del paquete de datos. En este caso concreto podemos observar como alguno de estos datos no los proporciona, y por eso muestra un asterisco.

Cómo podemos utilizar el comando TRACERT para detectar problemas

El comando Tracert nos puede ser muy útil para averiguar si hay algún problema en el camino hacia un equipo de la red interna, externa o sitio web. Imaginemos que queréis entrar en nuestro sitio web www.redeszone.net, y no os carga la web. Aparte de realizar por ejemplo un PING hacia nuestra web, podemos ejecutar también el comando Tracert para averiguar si la comunicación hacia el host de destino se pierde o interrumpe en algún punto del camino. Gracias a estos resultados, podemos averiguar en qué punto ocurre el problema e incluso avisar para que solucionen el problema en dicho router, o si es a nivel de red interna poder solucionarlo.

Tenemos que tener en cuenta que el comando tracert es muy útil en redes locales muy grandes, donde un paquete puede elegir diferentes caminos para llegar a su host de destino. Gracias a esto, podemos saber por cuáles equipos está pasando el paquete de datos enviado, y así poder mejorar el rendimiento de la red local. Ahora veremos un ejemplo de lo que sucede cuando el comando Tracert envía un paquete de datos que no puede llegar a su destino:

Como podemos observar el paquete va saltando de router a router, buscando el host de destino. Algunos routers muestran el mensaje de error de “tiempo de espera agotado”, esto es porque seguramente tengan limitado el tracert en sus equipos ya que forma parte de la red interna del operador.

Opciones del comando Tracert

Cuando usamos el comando Tracert, además de escribir en la consola de símbolo de sistema el comando Tracert y la dirección IP o nombre del servidor, podemos escribir una serie de opciones para modificar u obtener unos datos extra, para ello deberemos introducir el comando “Tracert” un espacio, y seguido una de las opciones que os indicamos debajo. Un ejemplo sería: Tracert -d 192.168.1.1

Veamos que opciones tenemos:

  • -d: Esta opción hace que el comando Tracert no efectúe una búsqueda de DNS en todas las direcciones IP. Es decir, en lugar de mostrar el nombre del router, nos mostrará solo su dirección IP.
  • -h: Esta opción nos permite especificar el número de saltos máximos que puede realizar el comando Tracert. Para ello deberemos introducir el comando de la siguiente manera. Tracert -h «número de saltos» «dirección ip o nombre del host».
  • -j: Esta opción sirve indicar al comando tracert cuál será el origen no estricto de la petición hacia el host. Para ello, deberemos introducir la opción -j, un espacio, seguido del host de origen que deseemos. Solo funciona con direcciones IP IPv4.
  • -w: Esta opción sirve indicar el tiempo de espera máximo en milisegundos en cada respuesta antes de dar fallo de conexión. Para ello deberemos introducir la opción -w, un espacio, y el tiempo en milisegundos que deseemos.
  • -R: Esta opción sirve para seguir la ruta de retorno. Sólo funciona con direcciones IP IPv6.
  • -S: Esta opción sirve para indicar al comando tracert qué dirección de origen queremos usar. Para ello deberemos introducir la opción -s, un espacio, seguido de la dirección IP de origen.
  • -4: Esta opción nos sirve para forzar el uso de direcciones IP IPv4.
  • -6: Esta opción nos sirve para forzar el uso de direcciones IP IPv6.

Como hemos podido ver, el comando Tracert no solo nos sirve para saber qué ruta sigue el envío de un paquete de datos hacia su destino host final. Sino que nos sirve también para diagnosticar el rendimiento de la red, si hay algún fallo en algún enrutador interno de nuestra red local, o si existe algún problema en algún enrutador externo hacia otro servidor. Sin lugar a dudas, el comando tracert puede aclararnos muchas dudas y cuestiones sobre un problema de red que tengamos. Si tenéis alguna duda, dejárnosla en los comentarios.