Herramientas

Tutorial básico de Traceroute

Entender cómo viajan los paquetes de un punto a otro en una red es básico para poder solucionar numerosos problemas de conectividad. Una de las herramientas más utilizadas para ello es Traceroute. El comando es similar a ping, pero ofrece una información más detallada, no solo indica si se llega al destino, sino que traza la ruta desde el origen al destino.

¿Qué es traceroute?

Tracerouter es una herramienta de diagnóstico de red con la que se puede seguir la ruta tomada por los paquetes de datos que viajan desde un dispositivo a su destino. Las transmisiones de datos en la red se dividen en pequeños paquetes que viajan de un servidor a otro antes de llegar a su destino final. Tracerouter revela cada uno de estos saltos, mostrando los puntos de tránsito intermedios y los tiempos en cada uno de ellos.

Instalación en Linux

Por defecto en Rocky Linux y otras distribuciones el comando traceroute no viene instalado por defecto, por lo que es necesario instalarlo. En el caso de Rocky Linux u otras distribuciones basadas en RHEL se puede usar el siguiente comando yum para ello

sudo yum install traceroute

Mientras que para las distribuciones basada en Ubuntu el comando que se debería ejecutar es el siguiente

sudo apt install traceroute

En macOS la herramienta ya se encuentra instalada mientras que en Windows se el comando se llama tracert en lugar de traceroute

Uso básico de traceroute

Una vez instalado Traceroute en el sistema solamente se tiene que escribir el comando seguido de la dirección a la que se desea acceder. Por ejmplo, para ver la ruta a Analytics Lane solamente se tendría que escribir

traceroute analyticslane.com

con lo que se debería obtener una salida como la siguiente

# traceroute analyticslane.com
traceroute to analyticslane.com (172.67.184.238), 30 hops max, 60 byte packets
 1  10.0.0.254 (10.0.0.254)  0.991 ms  0.907 ms  0.882 ms
 2  152.89.165.252 (152.89.165.252)  1.855 ms 152.89.165.253 (152.89.165.253)  1.598 ms 152.89.165.252 (152.89.165.252)  1.796 ms
 3  172.20.10.253 (172.20.10.253)  1.598 ms  2.323 ms  2.347 ms
 4  103.26.200.236 (103.26.200.236)  2.726 ms  1.933 ms 103.26.200.237 (103.26.200.237)  1.925 ms
 5  10.50.1.129 (10.50.1.129)  2.058 ms 10.50.1.130 (10.50.1.130)  2.406 ms  2.368 ms
 6  178.156.31.81 (178.156.31.81)  3.152 ms cloudflare.baja.espanix.net (193.149.1.56)  2.814 ms  2.711 ms
 7  172.70.60.5 (172.70.60.5)  2.755 ms 188.114.108.9 (188.114.108.9)  2.308 ms 172.70.60.5 (172.70.60.5)  2.284 ms
 8  172.67.184.238 (172.67.184.238)  2.011 ms  1.685 ms  1.833 ms

Lo que contiene la siguiente información

  • Lista de Saltos: Traceroute mostrará una lista de saltos numerados, cada uno representando un dispositivo en la ruta hacia el destino.
  • Direcciones IP: Junto a cada salto, verás la dirección IP del dispositivo intermedio. Esto te ayuda a identificar los nodos específicos por los que pasa la información.
  • Tiempo de Respuesta: Cada salto también muestra el tiempo que tarda el paquete de datos en llegar a ese punto. Los tiempos más largos pueden indicar congestión o problemas en ese nodo específico.
  • Estrellas o Asteriscos: Si ves asteriscos en lugar de tiempos de respuesta, significa que el nodo no responde a las solicitudes de Traceroute. Esto podría ser intencional o indicar un problema en ese punto de la red.
    En este caso han sido necesarios 8 saltos para llegar al destino y se han enviado tres paquetes, el valor por defecto, mostrando el tiempo que ha tardado cada uno de ellos. Incluso cuando van a través de diferentes rutas.

Opciones de configuración

Existen varias opciones que se pueden usar para adaptar el funcionamiento del comando a nuestras necesidades específicas

  • Tiempo de espera: El tiempo de espera predeterminado de Traceroute es de tres segundos, este es el tiempo que espera antes de saltar al siguiente paso. Para cambiar el tiempo de espera se puede usar el comando -w seguido del tiempo en segundos. Por ejemplo, para limitar a 5 segundos el comando sería:
traceroute -w 5 analyticslane.com
  • Paquetes enviados: De forma predeterminada Traceroute envía tres parques por salto, si se desea cambiar este comportamiento se puede usar el comando -q seguido del número de saltos. Por ejemplo, para enviar a 4 paquetes el comando sería:
traceroute -q 4 analyticslane.com
  • Limitar el número máximo de saltos: El número máximo de saltos por defecto es de 30, este valor se puede cambiar fácilmente con la opción -m seguido de la cantidad máxima deseada. Por ejemplo, para limitar a 5 saltos el comando sería:
traceroute -m 5 analyticslane.com
  • Deshabilitar la asignación del nombre del host: por defecto Traceroute muestra el nombre del host, esta opción se puede deshabilitar mediante la opción -n. Así, si no se desean mostrar los nombres de los hosts se tendría que usar:
traceroute -n analyticslane.com

Usos prácticos de traceroute

Algunos de los posibles usos de Traceroute son:

  • Resolución de Problemas de Conectividad: Traceroute es una herramienta con la que es posible identificar dónde se produce un problema de conexión. Si un sitio web no se carga correctamente, un vistazo a la ruta con Traceroute puede revelar dónde se encuentra la interrupción.
  • Optimización de Redes: Los administradores de red pueden utilizar Traceroute para optimizar rutas y minimizar los tiempos de respuesta. Esto es crucial para garantizar un rendimiento eficiente de la red.
  • Seguimiento de Paquetes: Si estás preocupado por la privacidad y la seguridad de tus datos, Traceroute te permite visualizar la ruta que toman tus paquetes de datos, lo que puede ser útil para asegurarte de que no atraviesen ubicaciones no deseadas.

Conclusiones

Traceroute es una herramienta esencial para analizar el enrutado de paquetes en las redes. Ya sea para solucionar problemas de conexión, optimizar redes o simplemente por curiosidad, esta herramienta proporciona una visión detallada del funcionamiento de la infraestructura.

Imagen de Bruno en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Linux

Recent Posts

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

1 día ago

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

6 días ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

1 semana ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

2 semanas ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

2 semanas ago

Cómo Comparar Dos Hipotecas con Todos los Gastos Incluidos

Comparar dos hipotecas parece sencillo: la que tenga el TIN más bajo es la mejor…

3 semanas ago

This website uses cookies.