cosa significa "***" quando traceroute


54

questo è il risultato del mio 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  * * *

Voglio sapere cosa significa *** e il risultato significa che ci sono davvero più di 30 hop tra il mio host e il server di destinazione?

Risposte:


46

Tutte le implementazioni di traceroute si basano sui pacchetti ICMP (tipo 11) inviati al mittente.

Questo programma tenta di tracciare il percorso avviando pacchetti di sonde UDP con un piccolo ttl (tempo di vita), quindi ascoltando una risposta ICMP "tempo superato" da un gateway. Inizia le sonde con un ttl di uno e aumenta di uno fino a quando non otteniamo una "porta non raggiungibile" ICMP (il che significa che dobbiamo "ospitare") o colpire un massimo (che per impostazione predefinita è di 30 hop e può essere modificato con il flag -m ). Tre sonde (cambia con -q flag) vengono inviate ad ogni impostazione ttl e viene stampata una linea che mostra il ttl, l'indirizzo del gateway e il tempo di andata e ritorno di ogni sonda (quindi tre *). Se non vi è alcuna risposta entro 5 secondi. intervallo di timeout (modificato con il flag -w), viene stampato un "*" per quel probe.

Quindi nel tuo caso possiamo concludere che abbiamo ottenuto risposta solo fino a 201.118.231.14. Successivamente i nodi non rispondono ai pacchetti ICMP (tipo 11) fino al hop 30 che è il tempo di vita massimo (numero massimo di hop). Puoi aumentare il tempo massimo di vita usando il flag -m.


34

Traceoute richiede una risposta dal server di destinazione e ciascuno degli hop intermedi per creare il proprio output. Se un router non genera una Time-to-live exceededrisposta, traceroute non saprà nulla di tale hop. Un hop che genera output * * *significa che il router in quel hop non risponde al tipo di pacchetto che stavi usando per il traceroute (di default è UDP su Unix-like e ICMP su Windows).

Se stai usando la stessa versione di traceroute che ho, puoi provare a usare l' -eopzione per cercare di eludere i firewall e l' -Popzione per usare i pacchetti ICMP, TCP o GRE invece di UDP. Puoi anche provare a specificare una porta particolare che è improbabile che venga filtrata (come 80 o 25) usando l' -popzione.

Potrebbero esserci altre opzioni che ti aiutano a ottenere una risposta. Controlla la pagina man per traceroute .

Per rispondere alla seconda parte della tua domanda, no, questo traceroute non significa che ci sono esattamente 30 hop tra te e il server di destinazione. Traceroute "si arrende" dopo un certo numero di salti. Ciò è stato fatto limitando il TTL massimo nei pacchetti che, per impostazione predefinita su Linux, è 30. È possibile modificarlo con l' -mopzione. Potrebbero esserci più o meno salti ma dal momento che nessuno di loro dopo il sesto sta rispondendo, semplicemente non lo sappiamo.


2
Per aggiungere: Fondamentalmente, se per qualsiasi motivo hop 30 è tornato con una risposta; allora sapremmo che abbiamo almeno 30 luppoli. (Ignorando qualsiasi trucco)
user606723
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.