apa artinya "***" saat traceroute

54

ini adalah hasil traceroute saya

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  * * *

Saya ingin tahu apa yang dimaksud dengan omong kosong dan apakah hasilnya berarti benar-benar ada lebih dari 30 hop antara host saya dan server target?

larry
sumber

Jawaban:

46

Semua implementasi traceroute bergantung pada paket ICMP (tipe 11) yang dikirim ke originator.

Program ini mencoba melacak rute dengan meluncurkan paket probe UDP dengan ttl kecil (waktu untuk hidup) kemudian mendengarkan ICMP "melebihi waktu" balasan dari gateway. Ini memulai probe dengan satu ttl dan meningkat satu per satu sampai kita mendapatkan "port unreachable" ICMP (yang berarti kita harus "host") atau menekan max (yang secara default 30 hop & dapat diubah dengan flag -m) ). Tiga probe (ganti dengan flag -q) dikirim pada setiap pengaturan ttl dan sebuah garis dicetak yang menunjukkan ttl, alamat gateway, dan waktu perjalanan pulang-pergi dari masing-masing probe (jadi tiga *). Jika tidak ada respons dalam 5 detik. interval waktu habis (diubah dengan tanda -w), "*" dicetak untuk probe itu.

Jadi, dalam kasus Anda, kami dapat menyimpulkan bahwa kami hanya mendapat respons hingga 201.118.231.14. Setelah itu node tidak menanggapi paket ICMP (tipe 11) hingga hop 30 yang merupakan waktu-hidup maksimum (jumlah hop maksimum). Anda dapat meningkatkan max-time-to-live menggunakan flag -m.

Sachin Divekar
sumber
34

Traceoute memerlukan respons dari server target dan masing-masing hop perantara untuk membuat outputnya. Jika router tidak menghasilkan Time-to-live exceededrespons, traceroute tidak akan tahu apa-apa tentang hop itu. Hop yang di-output * * *berarti router di hop itu tidak merespons pada tipe paket yang Anda gunakan untuk traceroute (secara default itu adalah UDP pada Unix-like dan ICMP pada Windows).

Jika Anda menggunakan versi traceroute yang sama dengan yang saya miliki, Anda dapat mencoba menggunakan -eopsi untuk mencoba menghindari firewall dan -Popsi untuk menggunakan paket ICMP, TCP atau GRE alih-alih UDP. Anda juga dapat mencoba menentukan port tertentu yang tidak mungkin difilter (seperti 80 atau 25) menggunakan -popsi.

Mungkin ada opsi lain yang membantu Anda mendapatkan respons kembali. Periksa halaman manual untuk traceroute .

Untuk menjawab bagian kedua dari pertanyaan Anda, tidak, traceroute ini tidak berarti bahwa ada tepat 30 hop antara Anda dan server target. Traceroute "menyerah" setelah sejumlah hop. Ini dilakukan dengan membatasi TTL maksimum dalam paket yang, secara default di Linux, adalah 30. Anda dapat mengubahnya dengan -mopsi. Mungkin ada lebih banyak atau lebih sedikit melompat tetapi karena tidak ada dari mereka setelah yang keenam merespons, kita tidak tahu.

Ladadadada
sumber
2
Untuk menambahkan: Pada dasarnya, jika karena alasan apa pun hop 30 kembali dengan tanggapan; maka kita akan tahu bahwa kita memiliki setidaknya 30 hop. (Mengabaikan tipu daya apa pun)
user606723