¿Qué significa "***" cuando traceroute

54

este es el resultado de mi traceroute

traceroute 211.140.5.120

 1  141.1.31.2 (111.1.31.2)  0.397 ms  0.380 ms  0.366 ms
 2  141.1.28.38 (111.1.28.38)  3.999 ms  3.971 ms  3.982 ms
 3  142.11.124.193 (112.11.124.133)  1.315 ms  1.533 ms  1.455 ms
 4   (201.141.0.261)  2.615 ms  2.749 ms  2.572 ms
 5   (201.141.0.82)  2.705 ms  2.564 ms  2.680 ms
 6   (201.118.231.14)  5.375 ms  5.126 ms  5.252 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Quiero saber qué significa *** y el resultado significa que realmente hay más de 30 saltos entre mi host y el servidor de destino.

larry
fuente

Respuestas:

46

Todas las implementaciones de traceroute se basan en paquetes ICMP (tipo 11) que se envían al originador.

Este programa intenta rastrear la ruta iniciando paquetes de sonda UDP con un pequeño ttl (tiempo de vida) y luego escuchando una respuesta ICMP "tiempo excedido" desde una puerta de enlace. Inicia las sondas con un ttl de uno y aumenta en uno hasta que obtengamos un "puerto inalcanzable" ICMP (lo que significa que tenemos que "alojar") o alcanzar un máximo (que por defecto es de 30 saltos y se puede cambiar con el indicador -m ) Se envían tres sondas (cambio con el indicador -q) en cada configuración de ttl y se imprime una línea que muestra la ttl, la dirección de la puerta de enlace y el tiempo de ida y vuelta de cada sonda (es decir, tres *). Si no hay respuesta en 5 segundos. intervalo de tiempo de espera (cambiado con el indicador -w), se imprime un "*" para esa sonda.

Entonces, en su caso, podemos concluir que obtuvimos respuesta solo hasta 201.118.231.14. Luego, los nodos no responden a los paquetes ICMP (tipo 11) hasta el salto 30, que es el tiempo máximo de vida (número máximo de saltos). Puede aumentar el tiempo máximo de vida usando el indicador -m.

Sachin Divekar
fuente
34

Traceoute requiere una respuesta del servidor de destino y cada uno de los saltos intermedios para crear su salida. Si un enrutador no genera una Time-to-live exceededrespuesta, traceroute no sabrá nada sobre ese salto. Un salto que salga * * *significa que el enrutador en ese salto no responde al tipo de paquete que estaba usando para el traceroute (por defecto es UDP en Unix-like e ICMP en Windows).

Si está usando la misma versión de traceroute que tengo, puede intentar usar la -eopción para tratar de evadir los firewalls y la -Popción de usar paquetes ICMP, TCP o GRE en lugar de UDP. También puede intentar especificar un puerto en particular que es poco probable que se filtre (como 80 o 25) utilizando la -popción.

Puede haber otras opciones que lo ayuden a obtener una respuesta. Consulte la página de manual para traceroute .

Para responder a la segunda parte de su pregunta, no, este traceroute no significa que haya exactamente 30 saltos entre usted y el servidor de destino. Traceroute "se rinde" después de un cierto número de saltos. Esto se hace limitando el TTL máximo en los paquetes que, por defecto en Linux, es 30. Puede cambiar esto con la -mopción. Puede haber más o menos saltos, pero dado que ninguno de ellos después del sexto responde, simplemente no lo sabemos.

Ladadadada
fuente
2
Para agregar: Básicamente, si por alguna razón el salto 30 regresó con una respuesta; entonces sabríamos que tenemos al menos 30 saltos. (Ignorando cualquier truco)
user606723