Introducción a traceroute
El comando traceroute de Linux es una utilidad de solución de problemas de red que nos ayuda a determinar la cantidad de saltos y la ruta de los paquetes necesarios para llegar a un destino. Se utiliza para mostrar cómo se transmiten los datos desde una máquina local a una máquina remota. Cargar una página web es uno de los ejemplos comunes de traceroute. La carga de una página web transfiere datos a través de una red y enrutadores. Traceroute puede mostrar las rutas, direcciones IP y nombres de host de los enrutadores en una red. Puede resultar útil para diagnosticar problemas de red.
En informática, tracert y traceroute son los comandos de diagnóstico de redes informáticas para mostrar posibles rutas y medir los retrasos en el tránsito de paquetes a través de la red IP. El historial de rutas se registra como el tiempo de ida y vuelta del paquete desde todos los hosts sucesivos de la ruta; la suma del tiempo medio en cada salto es la medida del tiempo total empleado para crear la conexión.
El comando traceroute continúa a menos que cada paquete enviado se pierda más de dos veces; la conexión se pierde y la ruta no se puede evaluar. Por otro lado, el comando ping solo mide los tiempos del último viaje de ida y vuelta por el punto de destino. A veces, la herramienta tiene un nombre similar, tracert6 y traceroute6, para IPv6.
Sintaxis:
traceroute [OPTION...] HOST
Opciones:
El comando traceroute admite las siguientes opciones de línea de comandos:
-f, --primer-salto=NUM: Se utiliza para establecer la distancia del salto inicial.
clasificación de burbujas java
-g, --gateways=PUERTAS: Se utiliza para mostrar una lista de puertas de enlace para enrutamiento de origen suelto.
-yo, --icmp: Se especifica utilizar ICMP ECHO como sonda.
-m, --max-hop=NUM: Se utiliza para establecer el recuento máximo de saltos; el valor predeterminado es 64.
-M, --tipo=MÉTODO: Especifica el MÉTODO (icmp o udp) para las operaciones de traceroute, el método predeterminado es udp.
-p, --puerto=PUERTO: Está definido para utilizar el puerto PUERTO de destino; el PUERTO predeterminado es 33434.
-q, --tries=NUM: Se utiliza para reenviar NUM paquetes de sonda por salto; el valor predeterminado es 3.
--resolve-nombres de host: Se utiliza para resolver los nombres de host.
-t, --tos=NÚMERO: Se utiliza para establecer el tipo de servicio (TOS) en NUM.
-w, --esperar=NUM: Se utiliza para esperar una respuesta en segundos, el valor predeterminado es 3.
cadena de entrada java
-?, --ayuda: Se utiliza para mostrar el manual de ayuda que contiene una breve descripción de las opciones y el uso de la línea de comandos admitidos.
--uso: Muestra un breve mensaje de uso.
-V, --versión: Se utiliza para mostrar la información de la versión de traceroute.
Echemos un vistazo al índice rápido del tema:
- Instalar el comando traceroute
- ¿Como funciona?
- Traza la ruta usando Ipv6
- Traza la ruta usando Ipv4
- Deshabilitar la asignación de dirección IP y nombre de host
- Establecer el número de consultas por salto
- Establecer el tiempo de espera de respuesta
- Especificar la interfaz a utilizar
- Establecer el valor TTL inicial
- Establecer el número máximo de saltos
- Obteniendo ayuda
Implementaciones de traceroute
El comando traceroute está disponible en varios sistemas operativos modernos. En sistemas tipo Unix como Linux, macOS y FreeBSD, está disponible como herramienta para la línea de comandos. Además, se puede acceder gráficamente a traceroute dentro de la suite Network Utilities en macOS; Estas utilidades han quedado obsoletas desde la publicación de macOS Big Sur.
ReactOS y Microsoft Windows ofrecen un programa llamado tracert que implementa una función similar de seguimiento de rutas. Además, los sistemas operativos basados en Windows NT ofrecen PathPing, que puede combinar la funcionalidad del comando ping con tracert. La edición ReactOS fue integrada por Get Murphy y tiene licencia GPL.
De forma predeterminada, traceroute envía una orden de paquetes UDP (Protocolo de datagramas de usuario) en sistemas operativos tipo Unix, con números de destino de puerto que van del 33434 al 33534. Las implementaciones de traceroute enviadas con macOS, DragonFly BSD, OpenBSD, NetBSD, FreeBSD y Linux tienen la opción de utilizar paquetes ICMP Echo Request como TCP y UDP usando paquetes ICMP o TCP SYN. De forma predeterminada, tracert transfiere paquetes ICMP Echo Request en Windows en lugar de las transferencias traceroute de paquetes UDP.
Uso de traceroute
La mayoría de las implementaciones tienen al menos algunas opciones para definir el recuento de consultas a transferir por salto, el tiempo de espera para una respuesta, el límite de saltos y el puerto utilizado. Si no invocamos traceroute con opciones específicas, muestra la lista de opciones disponibles, mientras que el comando man traceroute representa más detalles, como los indicadores de error.
Orígenes de traceroute
La página del manual de traceroute indica que el programa traceroute real fue especificado por Van Jacobson en 1987 a partir de una recomendación de Steve Deering, con correcciones y recomendaciones específicamente convincentes de C. Philip Wood, Ken Adelman y Tim Seaver. Mike Muuss, el autor del programa ping, afirma que la ruta de seguimiento se especificó con el soporte del ICMP del núcleo que había codificado anteriormente para activar sockets ICMP sin procesar mientras especificaba inicialmente el programa ping.
Limitaciones de traceroute
Las limitaciones de traceroute son notorias y deben tenerse en cuenta al utilizar la herramienta. Por ejemplo, un traceroute reconoce rutas en el nivel de interfaz pero no en el nivel de ruta. Otras limitaciones ocurren cuando los enrutadores no responden al examen o cuando los enrutadores incluyen una restricción para las respuestas ICMP.
Traceroute puede representar una ruta que no existe en caso de equilibrio de carga de tráfico. Para minimizar este problema, hay disponible una modificación de traceroute conocida como Paris-traceroute, que gestiona el identificador de flujo de examen para ignorar el equilibrio de carga.
Instalar el comando traceroute
traceroute no es una utilidad predeterminada del linux sistema. Para utilizar traceroute, debemos instalarlo manualmente. Para instalarlo, ejecute uno de los siguientes comandos:
sudo apt install inetutils-traceroute sudo apt install traceroute
Los comandos anteriores instalarán la utilidad traceroute en nuestro sistema. Después de la instalación exitosa, el resultado tendrá el siguiente aspecto:
¿Como funciona?
Para rastrear la ruta de un host de red conectado, pase el nombre del servidor o la dirección IP al que desea conectarse. Por ejemplo, para rastrear la ruta del servidor 'javatpoint.com', ejecute el siguiente comando:
traceroute javatpoint.com
El comando anterior mostrará saltos, paquetes y mucha otra información sobre la ruta determinada. Considere el siguiente resultado:
Ellos son cantantes
Del resultado anterior, podemos ver varias cosas. entendamos cada parte del resultado:
- La primera línea muestra el nombre de host y la dirección IP que se alcanzará, los saltos que intentará el comando traceroute y el tamaño de los paquetes que se enviarán.
- Desde la segunda línea, cada línea muestra un salto hasta el destino. Y el nombre del host seguido de la dirección IP del host, tiempo de ida y vuelta. El tiempo de ida y vuelta es la suma del tiempo que tarda en enviarse una señal y el tiempo que tarda en responder al host.
- De forma predeterminada, envía tres paquetes para cada host, por lo que se enumeran tres tiempos de respuesta.
- El símbolo '*' representa la pérdida de paquetes. La pérdida de paquetes se produce debido a una interrupción de la red, un alto tráfico hacia la congestión de la red o tal vez el firewall está reduciendo el tráfico. En caso de pérdida importante de paquetes, traceroute mostrará el error 'no se alcanzó el destino'.
Traza la ruta usando IPv6
La opción '6' se utiliza para rastrear la ruta a una red host utilizando el protocolo Ipv6. Considere el siguiente comando:
traceroute6 google.com
El comando anterior rastreará la ruta a 'google.com' utilizando el protocolo Ipv6. Considere el siguiente resultado:
Traza la ruta usando Ipv4
La opción '4' se utiliza para rastrear la ruta a una red host utilizando el protocolo Ipv6. Considere el siguiente comando:
traceroute 4 google.com
El comando anterior rastreará la ruta a 'google.com' utilizando el protocolo Ipv6. Considere el siguiente resultado:
Deshabilitar la asignación de dirección IP y nombre de host
La opción 'n' se utiliza para deshabilitar la dirección IP y la asignación de nombre de host. Considere el siguiente comando:
traceroute n google.com
El comando anterior producirá el resultado siguiente:
Establecer el número de consultas por salto
La opción '-q' se utiliza para establecer el número de consultas por salto. Considere el siguiente comando:
traceroute -q 2 google.com
El comando anterior producirá el resultado siguiente:
gratis versus gratis
Establecer el tiempo de espera de respuesta
La opción '-w' se utiliza para configurar el tiempo de espera de respuesta en traceroute. Especificará el tiempo de espera en segundos para responder a una sonda. Considere el siguiente comando:
traceroute -w 1 google.com
Según el comando anterior, el tiempo de espera de respuesta es de 1 segundo. Producirá el resultado de la siguiente manera:
Especificar la interfaz a utilizar
La opción 'i' se usa para configurar la interfaz de red que debe usar traceroute. Si no está configurado, configurará la interfaz de acuerdo con la tabla de enrutamiento. Considere el siguiente comando:
traceroute i wlp3s0b1 google.com
El comando anterior producirá el resultado siguiente:
Establecer el valor TTL inicial
Podemos establecer el valor TTL (tiempo de vida) inicial distinto del valor predeterminado. Saltará algunos saltos. Por lo general, se establece en uno, dos, tres, etc. para el conjunto de pruebas respectivo. Entonces, si lo configuramos en siete, la primera prueba intentará el salto siete y omitirá los saltos del uno al seis. Considere el siguiente comando:
traceroute -f 7 google.com
El comando anterior irá directamente al salto siete. Considere el siguiente resultado:
Establecer el número máximo de saltos
La opción '-m' se utiliza para establecer el número máximo de saltos para que el paquete llegue al destino. El valor predeterminado para el número máximo de saltos es 30. Considere el siguiente comando:
traceroute -m 7 google.com
El comando anterior establecerá 7 saltos máximos para que el paquete llegue al destino. Considere el siguiente resultado:
Obteniendo ayuda
Para mostrar el manual de ayuda que contiene un resumen del uso y las opciones admitidas, ejecute el siguiente comando:
edad de rihanna
traceroute --help
El comando anterior mostrará la ayuda. Producirá el resultado de la siguiente manera:
También podemos acceder a las páginas del manual ejecutando el comando man de la siguiente manera:
man traceroute
El comando anterior mostrará la página del manual del comando traceroute. Se verá así:
Desplácese por la página para leer más y presione la tecla 'q' para salir de la página del manual.