Tracert o Traceroute: qué es, cómo funciona o cómo se utiliza

La conectividad se ha vuelto crucial para nuestra vida diaria, desde una consulta en un sitio web, la transacción o autorización en una operación, hasta la vista en tiempo real de inventarios o entrega de productos. Detrás de todo esto está el funcionamiento de la red, por lo que es importante contar con herramientas y el conocimiento para entender qué puede estar provocando problemas en su funcionamiento.

¿Qué es Tracert o Traceroute?

Un recurso es el comando Tracert o Traceroute, que es una herramienta de diagnóstico de red que se utiliza para rastrear la ruta seguida y los tiempos de ida y vuelta por un paquete de datos en una red, desde el origen hasta su destino IP o hops (saltos) en los routers, switches o cualquier dispositivo que maneje y reenvíe tráfico IP.

Disponibilidad en sistemas operativos Windows, GNU/Linux y Mac

Ahora bien, Tracert y Traceroute son prácticamente lo mismo: Tracert es el comando que se usa para ambientes Windows; en tanto que Traceroute, se usa en GNU/Linux y Mac.

Funciones Principales de Traceroute

  • Diagnóstico de problemas en redes domésticas o empresariales.
  • Identificación de puntos de error en la conexión a Internet.

Traceroute tiene dos funciones principales:

Diagnóstico de problemas en redes domésticas o empresariales, mediante el análisis de los resultados obtenidos tras la ejecución de esta herramienta, pues nos permite analizar la secuencia de saltos que toma desde el origen hasta el destino IP.
Esto nos permite averiguar información sobre la topología de la red por la que los paquetes pasan y qué dispositivos se ven involucrados en su enrutamiento.

Identificación de puntos de error en la conexión a Internet, mediante la detección de los tramos donde se producen demoras o pérdidas de paquetes de datos, ya que se puede visualizar los tiempos de respuesta de cada salto a través de toda la ruta. Se pueden identificar los tramos con enlaces congestionados o donde está tomando demasiado tiempo de respuesta. Esto ayuda a saber dónde podría ser necesaria una actualización o ajuste de configuración para su mejor funcionamiento. También nos permite detectar los puntos de desconexión cuando los paquetes de datos no lleguen al destino final, mostrando un mensaje de error o una línea de asteriscos.
Más allá de identificar problemas en la red o puntos de fallo, Traceroute ayuda también a anticipar posibles degradaciones en la red, de manera que el equipo de TI puede tomar acciones preventivas que garanticen estabilidad y el flujo constante y eficiente de la información.

¿Cómo Funciona Traceroute?

1. Uso de ICMP (Protocolo de control de mensajes de Internet)

Traceroute usa el Protocolo de Control de Mensajes de Internet (ICMP) para detectar algún problema durante la conexión de red y ubicar exactamente dónde se está produciendo la pérdida de paquetes. Por ejemplo, si el mayor retraso se produce en el router local, significa que debes empezar por ahí a solucionar el problema.
También, Traceroute funciona con el Protocolo de Datagramas de Usuario (UDP o User Datagram Protocol) si así se especifica.

2. Campo Time To Live (TTL) en la cabecera IP

Traceroute funciona enviando una serie de paquetes con valores crecientes de tiempo de vida (Time-To-Live, TTL) y rastreando la respuesta de cada dispositivo intermedio a lo largo de la ruta. La función de TTL es la de limitar la vida útil de un paquete. En caso de problemas en la red, TTL evita que los paquetes queden atrapados en una red en forma indefinida. El valor TTL inicial se establece en uno y se incrementa con cada nuevo paquete enviado. A medida que el paquete atraviesa la red, cada enrutador disminuye el valor TTL en uno. Esto se debe a que por cada enrutador que pasa el paquete, su TTL desciende hasta llegar a 0 y envía al remitente un mensaje ICMP de timeout (tiempo fuera).

3. Envío de mensajes a nodos específicos para obtener información

Para la recepción de información más específica podemos limitar el número de saltos a realizar, con el fin de limitar la búsqueda en una parte específica de la ruta o la red.
En sistemas operativos como Linux, también es posible especificar la interfaz de red de salida para el envío de paquetes, o incluso el puerto de destino si estamos enviando paquetes UDP.

Utilización de Traceroute

  • Ejecución desde el Símbolo de sistema o Windows PowerShell.
  • Comando básico: `tracert `.

Los usuarios pueden ejecutar el comando Traceroute o Tracert a través de la aplicación de la línea de comandos incorporada. El método para ejecutarlo está en función del sistema operativo del equipo, como sigue:

En Windows

Abre ejecutar presionando la tecla windows + R, escribe cmd y haz clic en Aceptar.

Se abre una ventana emergente de comandos en la que hay que escribir tracert, el dominio y luego dar enter. En caso de no escribir el dominio, saldrán las opciones de configuración que podemos utilizar:

  • -d : Ahorra saltos al no convertir las IP a nombres de servidor.
  • -h : Seguido de un número, serán los saltos máximos permitidos (por defecto es 30).
  • -j : Lista de hosts permitidos (solo sobre una IP).
  • -w : Tiempo máximo de espera en milisegundos para determinar si un punto no funciona.
  • -R : Sigue la ruta de retorno, se usa con IPv6.
  • -S : Seguido de la Source address (dirección fuente) se indica la dirección de origen en IPv6.
  • -4 : Fuerza que solo se siga la ruta IPv4.
  • -6 : Fuerza que solo se siga la ruta Ipv6.

Para uso de rutina, se ejecuta el comando, con el dominio y enter. Aparecerá una ventana que muestra cada salto, el tiempo de espera de cada uno de los paquetes y la IP o nombre de servidor, junto con la IP de cada punto de la red.

Al finalizar, se imprime el texto de “Trace Complete” o “Traza completa” para indicar que se ha llegado al destino. En caso de error, se generan tres mensajes diferentes en la columna de las IP o en los tiempos con asterisco:

  • Asterisco en la columna de los tiempos:Indica que en este punto de red se ha superado el tiempo de espera y se ha abandonado el envío de ese paquete. Puede suceder en uno, en dos o en los tres tiempos.
  • Tiempo de espera agotado para esta solicitud:Cuando se agota el tiempo para los 3 paquetes, este mensaje saldrá a la derecha, indicando también que ningún paquete ha pasado de este punto de la red. En estos casos, el comando lo reintenta hasta el número máximo de saltos (30, por defecto).
  • Red de destino inalcanzable:Los paquetes han llegado a un punto que no existe o hay algún error.

Veamos algunas pantallas a modo de ejemplo de lo que arroja el comando tracert:

1. Mostrando dirección IP y nombre de host si se resuelve:

2. Mostrando solamente dirección IP:

El comando básico es tracert , desde CMD o PowerShell. Basta con introducir el comando e indicar un nombre de dominio o IP de destino “tracert www.google.com”. Si queremos ver el manual de ayuda, sólo hay que ejecutar “tracert /?”, donde también podremos ver algunas opciones del comando para indicar la cantidad de saltos máximos para los paquetes, la instrucción de no convertir direcciones en nombres de hosts o indicar una ruta de hosts específicos por los cuales pasarán los paquetes, en lugar de seguir una ruta automática.

En Linux

Se escribe en la consola el comando traceroute seguido del dominio que queremos consultar:

Después del dominio, se puede añadir peticiones que ajusten la configuración del comando:

  • -I : Cambia de paquetes UDP a paquetes ICMP (que son los que usa Windows).
  • -n : Muestra los resultados sin el nombre del servidor, solo la IP.
  • -q : Después del número de paquetes, para enviar un número de paquetes distinto a 3.
  • -d : Activa depuración a nivel de socket.
  • -m : Seguido de un número para indicar el número máximo de saltos que, por defecto, es 30.
  • -w : Seguido de un número que son los milisegundos de espera máxima.
  • -r : Evita el enrutamiento normal y envía los paquetes de una forma más directa.
  • -p : Seguido del puerto, para cambiar el puerto por defecto de la consulta.
  • -g : Seguido de una dirección IP, para enviar los paquetes indicando una IP de origen específica.

Para un equipo Mac, necesitarás usar Terminal. Las especificaciones del comando son idénticas a las que hemos indicado para Linux.

Veamos algunas pantallas de ejemplo de la ejecución en Linux/Mac del comando traceroute:

1. Mostrando dirección IP y nombre de host si se resuelve

2. Mostrando solamente dirección IP

3. Visualización de la dirección IP real del dominio

4. Listado de nodos y routers con direcciones IP y latencia


Consideraciones y Limitaciones

Como en cualquier herramienta o recursos de TI, existen limitaciones y consideraciones que hay que tomar en consideración para no degradar el desempeño de la red ni exponer la seguridad de los equipos:

Limitaciones de tiempo

El tiempo para enviar paquetes y recibir respuestas puede variar. Esto significa que los resultados obtenidos pueden no ser precisos o consistentes. Si hay congestión en la red o los servidores están protegidos por firewalls, algunas respuestas pueden no llegar a tiempo o ser bloqueadas.

Rutas asimétricas

El comando muestra la ruta de un paquete de datos desde un dispositivo hasta el destino, pero no garantiza que la ruta de regreso sea la misma. Esto se debe a que existen sistemas de enrutamiento flexibles y es posible que los resultados obtenidos no sean representativos del camino completo.

Limitaciones en Seguridad

El comando Traceroute revela información sobre dispositivos y servidores en la ruta hacia el destino, lo cual resulta en un problema de privacidad, más aún si el comando se utiliza en redes públicas o los servidores almacenan información confidencial.

Limitaciones en los equipos

Hay que considerar que algunos equipos de la red pueden estar configurados para no responder a mensajes tracert. Si es así, seguramente recibiremos un mensaje de timeout en lugar de respuestas reales.

Los dispositivos también pueden tener limitada la cantidad de tráfico ICMP permitido, resultando en respuestas incompletas a lo largo de la ruta. También habrá que tener en cuenta que, en algunas redes que usan NAT, solo podríamos ver la dirección IP del último router antes de que el paquete de datos alcance el destino final. Esto sucede porque NAT reescribe las direcciones IP en los paquetes a medida que avanzan en la red.

Por último, si no usamos un listado de host, es probable que se haga uso de un enrutamiento automático, y la respuesta al comando podría variar, resultando en inconsistencias entre diferentes momentos o desde diferentes ubicaciones, como podemos ver si comparamos las capturas que hemos visto arriba en Windows y en Linux.

Aplicaciones prácticas de Traceroute

Diagnóstico de problemas de conexión a sitios web

Para el diagnóstico de problemas de conectividad nos permite visualizar rápidamente dónde se estaría produciendo dicho problema, ya que podemos ver la ruta exacta que siguen los paquetes hasta su punto de interrupción. Se podrá evaluar si el problema está relacionado con nuestra propia conexión a Internet, nuestro ISP o la infraestructura de la red en sí.

Identificación de pérdida de conexión en redes locales

En el caso de la red local, con Traceroute se puede identificar dónde se encuentran los cuellos de botella, los problemas potenciales de enrutamiento o los problemas derivados por la configuración de la red.

Diagnóstico de problemas con Pandora FMS

Las herramientas como traceroute nos ayudan a identificar los posibles problemas en la red, rutas asimétricas o con demoras sustanciales, entre otros. Sin embargo, esta no es la herramienta más importante ni la única que nos pueden ayudar a resolver problemas en la red. A continuación, enumeramos algunas de las herramientas de las que dispone Pandora FMS para resolver tus problemas de red:

  • Monitorización SNMP de interfaces de red.
  • Monitorización de tiempos de latencia (ICMP).
  • Monitorización de puertos TCP.
  • Monitorización de pérdida de paquetes.
  • Visualización de rutas (vía traceroute).
  • Conteo de saltos (vía traceroute). A través de un plugin de nuestra librería, que cuenta el número de saltos de un punto a otro.

Conclusiones sobre Traceroute

La conectividad significa comunicación que se requiere inmediatamente y sin fricciones por el impacto en la operación del negocio, la productividad de los colaboradores de la empresa, la respuesta del empleado a los clientes internos (otras unidades de negocio) y externos (cliente final, proveedores y socios de negocio). Por lo que resolver y anticipar problemas de red se ha convertido en una tarea de suma importancia. El comando Tracert o Traceroute es una parte fundamental en el diagnóstico del estado de la red, la identificación de problemas de conectividad entre el origen y el destino, así como también de las fallas en puntos específicos. Asimismo, Traceroute permite tomar acciones preventivas al identificar los tramos donde los enlaces están congestionados o donde el tiempo de respuesta es mayor al esperado.

FAQ´s sobre Traceroute

¿Son Traceroute y Tracert lo mismo?

Traceroute y Tracert cumplen la misma función general. La única diferencia significativa es que el comando “traceroute” se usa en sistemas GNU/Linux y Mac, mientras que “tracert” se usa en un sistema Windows. Desde luego, tienen sus diferencias, pero en esencia son herramientas muy similares, cuya función es analizar la ruta que siguen los paquetes de datos entre el origen y su destino. La estructura de la ejecución o los parámetros que se usan varía entre traceroute y tracert.

¿Qué es la ruta de seguimiento?

La ruta de seguimiento cuando usamos traceroute no es más que la secuencia de nodos, routers o saltos/hops por la que transitan los paquetes desde el origen hasta su destino. Con el envío de TTL creciente desde el origen y el decrecimiento por cada router que pasa, el usuario puede identificar los saltos por los cuales han pasado los paquetes de datos.

¿Cuál es la diferencia entre ping y traceroute?

Básicamente, el comando ping verifica la disponibilidad de un host específico, mientras que traceroute muestra la ruta seguida y el tiempo que toma cada salto hasta llegar a dicho host.

Habla con el equipo de ventas, pide presupuesto, o resuelve tus dudas sobre nuestras licencias