Comando Traceroute: Cómo usarlo e interpretarlo
Dado que existen numerosas causas posibles de un problema de red, disponer de los conocimientos y las herramientas necesarias para solucionarlo ayudará a ahorrar tiempo.
Una de las herramientas más comunes y fáciles de usar para principiantes es el comando traceroute. Sin embargo, el informe producido a partir de un proceso de traceroute puede ser confuso de interpretar.
Con esto en mente, echaremos un vistazo más de cerca a cómo funciona el comando tracert o traceroute, cuándo usarlo y cómo decodificar su resultado.
Tabla de Contenidos
¿Qué es el comando Traceroute y cuándo utilizarlo?
Traceroute o tracert es un comando que ejecuta funciones de diagnóstico de red en sistemas operativos informáticos.
En general, ambos comandos funcionan igual. La diferencia radica en el sistema operativo: mientras que Linux y macOS utilizan el comando traceroute, Windows utiliza tracert.
El comando traceroute envía tres paquetes de sondeo a través de la red y supervisa cómo llegan al destino.
Un paquete de sondeo pasará por varios dispositivos, como routers y conmutadores, para llegar a la dirección IP de destino en un proceso denominado salto (hop). El comando traceroute mapea cada salto dentro de la ruta junto con su tiempo de ida y vuelta (RTT).
El registro también puede incluir otros detalles, como el nombre del dispositivo y la dirección IP de cada salto.
El comando traceroute tiene una funcionalidad similar al comando ping. Sin embargo, a diferencia del comando ping, traceroute permite una resolución de problemas más fácil en una red grande con más dispositivos como routers intermedios y puentes.
Utiliza el Protocolo de Mensajes de Control de Internet (ICMP) para detectar problemas durante una conexión de red e informar de la ubicación exacta de la pérdida de paquetes.
Por ejemplo, si el mayor retraso se produce en el router local, significa que debes empezar a solucionar el problema por ahí.
Cómo ejecutar el comando Traceroute (Tracert)
Los usuarios pueden iniciar el comando traceroute o tracert principalmente a través de la aplicación de línea de comandos incorporada. Sin embargo, el método exacto para ejecutarlo difiere en función del sistema operativo del ordenador.
Veamos cómo ejecutar el comando traceroute o tracert en Linux, macOS y Microsoft Windows.
Ejecutar Traceroute en macOS
Los usuarios de macOS pueden ejecutar el comando traceroute a través de la aplicación Terminal.
El comando traceroute en macOS funciona de forma similar al de Linux. El comando básico es traceroute
seguido del nombre de host o dirección IP de destino. La mayoría de las opciones avanzadas de tracert de macOS son similares a las de la versión de Linux, con pequeñas diferencias.
Ejecutar Traceroute en Linux
Los usuarios de Linux pueden ejecutar el comando traceroute en el terminal. Para ello, escribe esta línea de comandos con el siguiente formato:
traceroute [options] <hostname or IP> [packet length]
El uso más habitual de traceroute es escribir el comando seguido de la dirección de destino de traceroute. Puede ser una dirección IP o un nombre de dominio, como en este ejemplo:
traceroute www.google.com
Con esta línea de comandos, puedes rastrear la ruta que conecta tu ordenador con el sitio web de Google y los detalles de cada salto a lo largo del camino. Los resultados serán similares a los del ejemplo siguiente.
[root@server ~]# traceroute www.google.com
traceroute to www.google.com (216.58.212.132), 30 hops max, 60 byte packets
1 46.17.174.43 (46.17.174.43) 0.036 ms 0.016 ms 0.016 ms
2 te0-2-1-6.rcr21.vno01.atlas.cogentco.com (149.14.10.41) 0.614 ms 0.643 ms ip-217-117-27-137.bnk.lt (217.117.27.137) 2.055 ms
3 jupiteris-Q5.balt.net (213.197.128.45) 9.590 ms 9.595 ms be2842.ccr22.sto03.atlas.cogentco.com (130.117.51.162) 12.229 ms
También es posible añadir opciones avanzadas al comando traceroute para que los resultados sean más específicos. Estas son algunas opciones avanzadas de traceroute para Linux:
Comando | Descripción |
-I | El comando traceroute de Linux envía paquetes de sondeo UDP por defecto. Puedes usar esta opción para cambiarlos por paquetes ICMP. |
-n | Excluye nombres de dispositivos de los resultados de traceroute. |
-q number of packets | Por defecto, traceroute envía tres paquetes. Puedes cambiarlo utilizando esta opción, seguida del número de paquetes. |
-d | Activa la depuración a nivel de socket. |
-m max_ttl | Especifica el número máximo de saltos para el proceso de rastreo. El valor max_ttl por defecto es 30. |
-w wait_time | Define el tiempo máximo de espera para cada respuesta. |
-r | Evita las tablas de enrutamiento normales y envía los paquetes IP directamente al host en una red conectada directamente. |
-p | Establece el puerto de destino de la consulta. El puerto por defecto es 33434. |
-g gateway_addr | Dirige los paquetes salientes a una puerta de enlace especificada utilizando la opción de enrutamiento de origen IP. |
También puedes utilizar estas opciones avanzadas individualmente o combinarlas en una única configuración de traceroute. Por ejemplo:
traceroute -Inq 2 www.google.com
Utiliza el comando man traceroute
para consultar otra información sobre el comando traceroute, incluidas otras opciones disponibles y cómo utilizarlas.
Ejecutar Tracert en Microsoft Windows
Los usuarios de Windows pueden iniciar el comando tracert utilizando el Símbolo del sistema. Pulsa la combinación de teclas Windows + R para abrir el cuadro de diálogo Ejecutar y escribe cmd
en la barra de búsqueda.
Se abrirá una nueva ventana en la que podrás introducir varios comandos, incluido tracert.
Después de escribir tracert
y pulsar Enter, te mostrará cómo utilizar este comando correctamente. La forma más básica de hacerlo es escribir tracert
e incluir el nombre de dominio de destino o la dirección IP.
Para que el resultado sea más específico, utiliza las siguientes opciones.
Comando | Descripción |
-d | Evita que tracert resuelva las direcciones IP a sus respectivos nombres de host para cada salto. Esto suele permitir que el sistema muestre los resultados más rápidamente. |
-h maximum_hops | Especifica el número máximo de saltos incluidos en el proceso tracert. Si no cambias el valor de maximum_hops seguirá el máximo predeterminado de 30 saltos. |
-w timeout | Especifica el tiempo máximo de respuesta para cada salto antes de que se considere un timeout. Esta opción se mide en milisegundos. |
-n | Configura tracert para que no resuelva las direcciones IP a sus nombres de dominio. |
-4 | Fuerza el comando tracert a utilizar IPv4. |
-6 | Fuerza el comando tracert a utilizar IPv6. |
Algunas opciones como -j host-list
y -S
sólo funcionan en una versión IP específica. Asegúrate de escribir la opción entre el comando tracert
y antes del nombre del objetivo.
La consola ejecutará la función y te mostrará los resultados como en la imagen de abajo.
Lectura de los resultados de comando Traceroute
Tras ejecutar el comando tracert o traceroute, el sistema presentará los resultados en filas. El informe puede tener un aspecto ligeramente diferente en función de tu sistema operativo, pero en general muestran la misma información.
Un informe tracert o traceroute típico incluye varias filas que representan cada salto que da un paquete para llegar al host de destino. Cada fila se divide en columnas con información diferente. Examinemos cada columna y sus detalles.
Número de salto | RTT 1 | RTT 2 | RTT 3 | Dirección IP/nombre de host |
12 | 18 ms | 17 ms | 17 ms | 10.246.173.157 |
- Número de saltos: la primera columna representa el número de saltos de la fila concreta.
- RTT: el tiempo de ida y vuelta o RTT representa cuánto tarda cada paquete en llegar a una dirección IP concreta y volver a tu ordenador. Hay tres columnas RTT diferentes ya que el traceroute envía tres paquetes UDP por defecto.
- Dirección IP o nombre de host: esta columna representa la dirección IP o el nombre de host del dispositivo en ese salto concreto.
Si se produce un problema durante un salto, el informe de traceroute mostrará un mensaje de error basado en el tipo de problema. Hay tres tipos de mensajes de error comunes en traceroute:
- Solicitud agotada: normalmente representa un problema de red. Puede deberse a problemas en la ruta de retorno o a que el dispositivo de seguridad del destino bloquee tu solicitud.
- Símbolos de asterisco bajo las columnas RTT: significa que el dispositivo no ha podido responder a tu solicitud antes de que se supere el tiempo especificado.
- Red de destino inalcanzable: te informa de que los paquetes IP no han podido encontrar una ruta a la dirección de destino y han dejado de viajar dentro de la red. Las causas más comunes de este problema son un problema con el router o una dirección IP de destino inexistente.
Traceroute también puede mostrar algunas anotaciones después de cada salto que indican errores durante el proceso:
Anotación | Descripción |
!H | Host de destino inalcanzable |
!N | Red inalcanzable |
!P | Protocolo inalcanzable |
!S | Ruta de origen fallida |
!F | Fragmentación necesaria |
El elemento principal en el que debes centrarte al interpretar un resultado de traceroute es el tiempo de salto que aparece bajo las columnas RTT. Durante el traceroute, una conexión de red saludable y regular normalmente reporta tiempos consistentes, también conocidos como latencia.
Sin embargo, el aumento de la latencia no siempre significa un problema dentro de la red.
La mejor manera de leer un informe traceroute es observar el patrón en todo el informe en lugar de centrarte en saltos individuales.
Echemos un vistazo a cuatro patrones comunes de los resultados de traceroute y cómo se correlacionan con la condición de tu red.
Aumento de la latencia hacia el destino
Es posible que veas una latencia repentinamente alta en un salto y que siga aumentando hacia el host de destino. En algunos casos, también puedes ver asteriscos que indican pérdida de paquetes. Este patrón indica que el problema proviene del salto en el que la latencia empezó a aumentar.
Alta latencia en los saltos iniciales
Si ves números altos al principio del informe traceroute, puede que haya un problema en tu red local. Para solucionarlo, centra tus esfuerzos de resolución de problemas en los dispositivos de la red local, como routers, conmutadores y cables.
Tiempos muertos en los saltos iniciales
El resultado de traceroute puede mostrar mensajes de tiempo de espera en el primer o segundo salto, pero mostrar tiempos normales para el resto del salto. Esto es normal y no indica ningún problema, ya que algunos routers no están configurados para responder a una solicitud de traceroute.
Tiempos de espera al final del informe
Hay varias causas de los tiempos de espera al final del traceroute, incluyendo:
- El firewall o los dispositivos de seguridad del ordenador de destino bloquean la solicitud de traceroute.
- Un problema con la ruta de retorno desde el equipo de destino.
- Un posible problema de conexión en la dirección de destino.
Los dos primeros escenarios no afectarán a tu conexión a la red de destino, pero el tercero puede provocar un fallo en la conexión.
Estos patrones pueden ayudarte a identificar el origen de un problema de conexión y las medidas que debes tomar. Hay diferentes partes a las que puedes dirigirte en función de dónde se produzcan los tiempos de espera y la alta latencia en caso de que no puedas resolver el problema por ti mismo.
Los problemas en los primeros saltos significan que tendrás que ponerte en contacto con tu administrador de red. Los siguientes saltos representan a tu proveedor de servicios de Internet (ISP) y te animan a ponerte en contacto con su servicio de atención al cliente.
Los últimos saltos están dentro del área de red de destino, y hay dos posibilidades para este patrón. Si eres el usuario de la página web o de la aplicación web, puedes ponerte en contacto con su administrador o esperar a que se resuelva el problema.
Por otro lado, el propietario del sitio web puede ponerse en contacto con su proveedor de alojamiento y solicitar asistencia técnica para resolver el problema.
Conclusión
El comando traceroute es una herramienta de diagnóstico de red útil y fácil de ejecutar. Normalmente, es la primera forma de solucionar un problema de conexión.
El comando puede variar en función del sistema operativo: Linux y macOS utilizan traceroute, mientras que Windows utiliza tracert. Cada sistema operativo también tiene una forma ligeramente diferente de ejecutar el comando, ya sea utilizando el símbolo del sistema o el terminal.
Sin embargo, la función general y los datos presentados en el informe son similares. Un informe traceroute o tracert suele contener filas de saltos con RTT y direcciones IP o nombres de host del salto concreto.
La clave para interpretar un informe traceroute es observar el patrón y detectar las incoherencias. Comprender estos patrones puede ayudarte a reducir el origen del problema y determinar la siguiente acción posible.
Esperamos que este artículo te haya ayudado a utilizar y leer correctamente la función traceroute. Si tienes alguna pregunta o consejo adicional sobre este tema, háznoslo saber en la sección de comentarios más abajo.