Traceroute - Command Linux - Unix Command

traceroute - cetak paket laluan yang dibawa ke hos rangkaian

Sinopsis

traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g gateway ]

[ -i iface ] [ -m max_ttl] [ -p port ]

[ -q nqueries ] [ -s src_addr ] [ -t tos ]

[ -w waime ] [ -z pausemsecs ]

tuan rumah [ packetlen ]

Penerangan

Internet adalah pengagregatan perkakasan rangkaian yang besar dan kompleks, disambungkan bersama oleh gerbang. Mengesan laluan paket seseorang mengikut (atau mencari gerbang pelanggar yang membuang paket anda) boleh menjadi sukar. Traceroute menggunakan medan IP `masa untuk hidup 'dan cuba mendapatkan maklum balas ICMP TIME_EXCEEDED dari setiap pintu masuk sepanjang jalan ke sesetengah tuan rumah.

Parameter wajib ialah nama hos destinasi atau nombor IP . Panjang datagram probe lalai adalah 40 bait , tetapi ini boleh ditingkatkan dengan menyatakan panjang paket (dalam bait) selepas nama hos destinasi.

Pilihan lain ialah:

-f

Tetapkan masa awal untuk hidup yang digunakan dalam paket penyelidikan keluar pertama.

-F

Tetapkan sedikit "pecahan".

-d

Dayakan debug tahap peringkat soket.

-g

Tentukan gerbang laluan sumber longgar (8 maksimum).

-i

Tentukan antara muka rangkaian untuk mendapatkan alamat IP sumber untuk paket probe yang keluar. Ini biasanya hanya berguna pada hos pelbagai rumah. (Lihat bendera -s untuk cara lain untuk melakukan ini.)

-I

Gunakan ICMP ECHO bukan datagram UDP.

-m

Tetapkan maksimum masa untuk hidup (bilangan maksimum hop) yang digunakan dalam paket probe yang keluar. Lalai adalah 30 hop (sama lalai yang digunakan untuk sambungan TCP).

-n

Alamat cetak hop berangka secara numerik dan bukannya secara simbolik dan berangka (menjimatkan nama pelayan yang mencari alamat-ke-nama bagi setiap gerbang yang terdapat di jalan).

-p

Tetapkan nombor port UDP asas yang digunakan dalam probe (lalai ialah 33434). Traceroute berharap tiada apa yang didengar di pelabuhan UDP berdasarkan pangkalan + nhops - 1 di tuan rumah destinasi (jadi mesej ICMP PORT_UNREACHABLE akan dikembalikan untuk menamatkan pengesanan laluan). Sekiranya sesuatu sedang mendengar pada port dalam julat lalai, pilihan ini boleh digunakan untuk memilih julat port yang tidak digunakan.

-r

Bypass jadual routing biasa dan hantar terus ke host pada rangkaian yang dilampirkan. Jika hos tidak berada pada rangkaian yang dilampirkan secara langsung, ralat dikembalikan. Pilihan ini boleh digunakan untuk mengosongkan tuan rumah setempat melalui antara muka yang tidak mempunyai laluan melaluinya (mis., Selepas antara muka dijatuhkan oleh routed (8C)).

-s

Gunakan alamat IP berikut (yang biasanya diberikan sebagai nombor IP, bukan nama hos) sebagai alamat sumber dalam paket probe yang keluar. Mengenai hos pelbagai rumah (yang mempunyai lebih daripada satu alamat IP), opsyen ini boleh digunakan untuk memaksa alamat sumber untuk menjadi sesuatu selain daripada alamat IP antaramuka paket siasatan dihantar. Jika alamat IP bukan antara alamat antara muka mesin ini, ralat dikembalikan dan tiada apa yang dihantar. (Lihat bendera -i untuk cara lain untuk melakukan ini.)

-t

Tetapkan jenis-perkhidmatan dalam paket probe ke nilai berikut (default zero). Nilai itu mestilah integer perpuluhan dalam julat 0 hingga 255. Pilihan ini boleh digunakan untuk melihat sama ada keputusan jenis-perkhidmatan yang berbeza dalam laluan yang berlainan. (Jika anda tidak menjalankan 4.4bsd, ini mungkin akademik sejak perkhidmatan rangkaian biasa seperti telnet dan ftp tidak membenarkan anda mengawal TOS). Tidak semua nilai TOS adalah sah atau bermakna - lihat spec IP untuk definisi. Nilai berguna mungkin ` -t 16 '(kelewatan rendah) dan` -t 8 ' (high throughput).

-v

Keluaran berbahaya. Menerima paket ICMP selain daripada TIME_EXCEEDED dan UNREACHABLEs disenaraikan.

-w

Tetapkan masa (dalam saat) untuk menunggu tindak balas kepada siasatan (lalai 5 saat).

-x

Togol ip checksums. Biasanya, ini menghalang traceroute daripada mengira cek cek ip. Dalam sesetengah kes, sistem operasi boleh menimpa sebahagian daripada paket keluar tetapi tidak mengira semula checksum (oleh itu dalam beberapa kes lalai adalah untuk tidak mengira cek dan menggunakan -x menyebabkan mereka menjadi calcualted). Perhatikan bahawa cek biasanya diperlukan untuk hop lepas apabila menggunakan probe ICMP ECHO ( -I ). Jadi mereka sentiasa dikira apabila menggunakan ICMP.

-z

Tetapkan masa (dalam milisaat) untuk jeda di antara probe (default 0). Sesetengah sistem seperti Solaris dan router seperti Ciscos had had icmp mesej. Nilai yang baik untuk digunakan dengan ini ialah 500 (misalnya 1/2 saat).

Program ini cuba untuk mengesan laluan paket IP akan mengikuti sesetengah host internet dengan melancarkan paket penyelidikan UDP dengan ttl kecil (waktu untuk hidup) kemudian mendengar untuk ICMP "melampaui masa" balasan dari gerbang. Kami memulakan probe kami dengan ttl satu dan bertambah satu sehingga kami mendapat ICMP "port unreachable" (yang bermaksud kita mendapat "host") atau memukul max (yang default ke 30 hop & boleh diubah dengan -m bendera). Tiga probe (perubahan dengan bendera -q ) dihantar pada setiap tetapan ttl dan garisan dicetak menunjukkan ttl, alamat gerbang dan masa perjalanan bulat setiap siasatan. Sekiranya jawapan siasatan datang dari gerbang yang berbeza, alamat setiap sistem bertindak balas akan dicetak. Jika tidak ada jawapan dalam masa 5 saat. selang masa (berubah dengan bendera -w ), "*" dicetak untuk siasatan itu.

Kami tidak mahu hos destinasi untuk memproses paket penyelidikan UDP supaya pelabuhan destinasi ditetapkan pada nilai yang tidak mungkin (jika ada kancing di destinasi menggunakan nilai itu, ia boleh ditukar dengan bendera -p ).

Penggunaan sampel dan output mungkin:

[yak 71]% traceroute nis.nsf.net. traceroute ke nis.nsf.net (35.1.1.48), 30 hops max, 38 byte packet 1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32. 216.1) 39 ms 39 ms 19 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms 5 ccn -nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms 6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms 7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms 8 129.140. 70.13 (129.140.70.13) 99 ms 99 ms 80 ms 9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms 10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms 11 nic.merit.edu (35.1 .1.48) 239 ms 239 ms 239 ms

Perhatikan bahawa garisan 2 & 3 adalah sama. Ini disebabkan oleh kernel buggy pada sistem hop ke-2 - lbl-csam.arpa - yang meneruskan paket dengan ttl sifar (bug dalam versi terdistribusi 4.3BSD). Perhatikan bahawa anda perlu meneka jalan apa yang diambil oleh paket yang merentas negara sejak NSFNet (129.140) tidak membekalkan terjemahan alamat ke nama untuk NSSesnya.

Contoh yang lebih menarik ialah:

[yak 72]% traceroute allspice.lcs.mit.edu. traceroute ke allspice.lcs.mit.edu (18.26.0.115), 30 hops max 1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 19 ms 19 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 19 ms 39 ms 39 ms 5 ccn-nerif22 .Berkeley.EDU (128.32.168.22) 20 ms 39 ms 39 ms 6 128.32.197.4 (128.32.197.4) 59 ms 119 ms 39 ms 7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 39 ms 8 129.140.70.13 ( 129.140.70.13) 80 ms 79 ms 99 ms 9 129.140.71.6 (129.140.71.6) 139 ms 139 ms 159 ms 10 129.140.81.7 (129.140.81.7) 199 ms 180 ms 300 ms 11 129.140.72.17 (129.140.72.17) 300 ms 239 ms 239 ms 12 * * * 13 128.121.54.72 (128.121.54.72) 259 ms 499 ms 279 ms 14 * * * 15 * * * 16 * * * 17 * * * 18 ALLSPICE.LCS.MIT.EDU (18.26 .0.115) 339 ms 279 ms 279 ms

Perhatikan bahawa pintu masuk 12, 14, 15, 16 & 17 melepaskan sama ada tidak menghantar mesej "masa melebihi" ICMP atau menghantarnya dengan ttl terlalu kecil untuk sampai kepada kami. 14 - 17 sedang menjalankan kod MIT C Gateway yang tidak menghantar "masa melebihi" s. Tuhan hanya tahu apa yang berlaku dengan 12.

Gerbang senyap 12 di atas mungkin disebabkan oleh bug dalam 4. [23] Kod rangkaian BSD (dan derivatifnya): 4.x (x <= 3) menghantar mesej yang tidak dapat diakses menggunakan apa sahaja yang tetap dalam asal datagram. Oleh kerana, untuk gerbang, baki ttl adalah sifar, masa "ICMP melebihi" dijamin tidak akan kembali kepada kami. Tingkah laku bug ini sedikit lebih menarik apabila muncul pada sistem destinasi:

1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1 ) 19 ms 39 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms 5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms 6 csgw. Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 rip.Berkeley.EDU (128.32.131.22) 59 Cik ! 39 ms! 39 ms!

Perhatikan bahawa terdapat 12 "gerbang" (13 adalah destinasi terakhir) dan separuh daripada mereka yang terakhir adalah "hilang". Apa yang sebenarnya berlaku ialah rip (Sun-3 yang menjalankan Sun OS3.5) menggunakan ttl dari datagram kami yang tiba sebagai ttl dalam jawapan ICMPnya. Oleh itu, jawapan akan berlarutan pada laluan kembali (tanpa notis yang dihantar kepada sesiapa sejak ICMP tidak dihantar untuk ICMP) sehingga kita menyiasat dengan tll yang sekurang-kurangnya dua kali panjang jalan. Ya, rip sebenarnya hanya 7 hop. Tanggapan bahawa pulangan dengan ttl 1 adalah petunjuk masalah ini wujud. Traceroute mencetak "!" selepas masa jika ttl adalah <= 1. Oleh kerana vendor menghantar banyak perisian usang (DEC's Ultrix, Sun 3.x) atau perisian tidak standard (HPUX), mengharapkan untuk melihat masalah ini dengan kerap dan / atau menjaga memilih sasaran tuan rumah pemeriksaan anda.

Lain-lain anotasi yang mungkin selepas masa itu ! H ,! N , atau ! P (tuan rumah, rangkaian atau protokol tidak dapat dihubungi),! S (laluan sumber gagal) ! F- (fragmentasi diperlukan - RFC1191 Path MTU Discovery value displayed) ! X (komunikasi secara administratif dilarang) ,! V (pelanggaran pendahuluan pendahuluan),! (Cakera terdahulu berkuatkuasa), atau ! (Kod tidak dapat dihubungi ICMP). Ini ditakrifkan oleh RFC1812 (yang menggantikan RFC1716). Sekiranya hampir semua kuar menghasilkan sesuatu yang tidak dapat dicapai, traceroute akan menyerah dan keluar.

Program ini bertujuan untuk digunakan dalam ujian, pengukuran, dan pengurusan rangkaian. Ia harus digunakan terutamanya untuk pengasingan kesalahan manual. Kerana beban yang boleh dikenakan pada rangkaian, tidak bijak menggunakan traceroute semasa operasi normal atau dari skrip automatik.

Lihat juga

pathchar (8), netstat (1), ping (8)