Cara Menggunakan Perintah traceroute di Linux
Anda dapat menggunakan traceroute
perintah Linux untuk melihat perjalanan paket jaringan yang lambat dan memecahkan masalah koneksi jaringan yang lamban. Kami akan menunjukkan caranya!
Cara Kerja traceroute
Jika Anda menghargai cara traceroute
kerjanya, pemahaman hasil akan jauh lebih mudah. Semakin rumit rute yang harus diambil paket jaringan untuk mencapai tujuannya, semakin sulit untuk menunjukkan dengan tepat di mana pelambatan mungkin terjadi.
Jaringan area lokal (LAN) organisasi kecil mungkin relatif sederhana. Ini mungkin akan memiliki setidaknya satu server dan satu atau dua router. Kompleksitas meningkat pada jaringan area luas (WAN) yang berkomunikasi antara lokasi yang berbeda atau melalui internet. Paket jaringan Anda kemudian bertemu (dan diteruskan dan diarahkan oleh) banyak perangkat keras, seperti router dan gateway.
Header metadata pada paket data menjelaskan panjangnya, dari mana asalnya, ke mana tujuannya, protokol yang digunakan, dan sebagainya. Spesifikasi protokol menentukan header. Jika Anda dapat mengidentifikasi protokol, Anda dapat menentukan awal dan akhir setiap bidang di header dan membaca metadatanya.
traceroute
menggunakan protokol TCP / IP, dan mengirimkan paket User Datagram Protocol. Header berisi kolom Time to Live (TTL), yang berisi nilai integer delapan bit. Terlepas dari apa namanya, itu mewakili hitungan, bukan durasi.
Sebuah paket melakukan perjalanan dari asalnya ke tujuannya melalui router. Setiap kali paket tiba di router, itu mengurangi penghitung TTL. Jika nilai TTL pernah mencapai satu, router yang menerima paket akan mengurangi nilainya dan menyadari bahwa nilainya sekarang nol. Paket tersebut kemudian dibuang dan tidak diteruskan ke hop berikutnya dari perjalanannya karena telah "waktunya habis".
Router mengirimkan pesan Internet Message Control Protocol (ICMP) Time Exceeded kembali ke asal paket untuk memberi tahu bahwa paket habis waktunya. Pesan Time Exceeded berisi header asli dan 64 bit pertama dari data paket asli. Hal ini dijelaskan pada halaman enam dari Request for Comments 792.
Jadi, jika traceroute
mengirim paket, tetapi kemudian menetapkan nilai TTL ke satu, paket hanya akan sampai ke router pertama sebelum dibuang. Ini akan menerima pesan waktu ICMP terlampaui dari router, dan dapat merekam waktu yang dibutuhkan untuk perjalanan pulang pergi.
Ini kemudian mengulangi latihan dengan TTL diatur ke 2, yang akan gagal setelah dua lompatan. traceroute
meningkatkan TTL menjadi tiga dan mencoba lagi. Proses ini berulang hingga tujuan tercapai atau jumlah hop maksimum (30, secara default) diuji.
Beberapa Router Tidak Berfungsi dengan Baik
Beberapa router memiliki bug. Mereka mencoba meneruskan paket dengan TTL nol alih-alih membuangnya dan menaikkan waktu ICMP melebihi pesan.
Menurut Cisco, beberapa Penyedia Layanan Internet (ISP) membatasi jumlah pesan ICMP yang direlay router mereka.
Beberapa perangkat dikonfigurasi untuk tidak pernah mengirim paket ICMP. Ini sering kali untuk memastikan perangkat tidak dapat secara tidak sengaja dipaksa untuk berpartisipasi dalam penolakan layanan terdistribusi, seperti serangan smurf.
traceroute
memiliki batas waktu default untuk balasan lima detik. Jika tidak menerima respons dalam lima detik itu, upaya itu dibatalkan. Ini berarti respons dari router yang sangat lambat akan diabaikan.
Menginstal traceroute
traceroute
sudah diinstal di Fedora 31 tetapi harus diinstal di Manjaro 18.1 dan Ubuntu 18.04. Untuk menginstal traceroute
di Manjaro gunakan perintah berikut:
sudo pacman -Sy traceroute
Untuk menginstal traceroute
di Ubuntu, gunakan perintah berikut:
sudo apt-get install traceroute
Menggunakan traceroute
Seperti yang kita bahas di atas, traceroute's
tujuannya adalah untuk mendapatkan respons dari router di setiap hop dari komputer Anda ke tujuan. Beberapa mungkin bungkam dan tidak memberikan apa-apa, sementara yang lain mungkin akan menumpahkan kacang tanpa keraguan.
Sebagai contoh, kita akan menjalankan traceroute
situs web Kastil Blarney di Irlandia, rumah dari Batu Blarney yang terkenal. Legenda mengatakan jika Anda mencium Batu Blarney, Anda akan diberkati dengan “hadiah obrolan”. Mari berharap router yang kita temui di sepanjang jalan sangat kotor.
Kami mengetik perintah berikut:
traceroute www.blarneycastle.ie
Baris pertama memberi kita info berikut:
- Tujuan dan alamat IP-nya.
- Jumlah lompatan
traceroute
akan mencoba sebelum menyerah. - Ukuran paket UDP yang kami kirim.
Semua baris lainnya berisi informasi tentang salah satu hop. Namun, sebelum kita menggali detailnya, kita dapat melihat ada 11 lompatan antara komputer kita dan situs web Kastil Blarney. Hop 11 juga memberi tahu kita bahwa kita mencapai tujuan kita.
Format setiap garis hop adalah sebagai berikut:
- Nama perangkat atau, jika perangkat tidak mengidentifikasi dirinya sendiri, alamat IP.
- Alamat IP.
- Waktu yang dibutuhkan untuk setiap tiga tes. Jika ada tanda bintang di sini, artinya tidak ada respons untuk pengujian itu. Jika perangkat tidak merespons sama sekali, Anda akan melihat tiga tanda bintang, dan tidak ada nama perangkat atau alamat IP.
Mari kita ulas apa yang kita punya di bawah ini:
- Hop 1: Port of call pertama (no pun intended) adalah DrayTek Vigor Router di jaringan lokal. Beginilah cara paket UDP kami meninggalkan jaringan lokal dan masuk ke internet.
- Hop 2: Perangkat ini tidak merespons. Mungkin sudah dikonfigurasi untuk tidak pernah mengirim paket ICMP. Atau, mungkin itu merespons tetapi terlalu lambat, jadi
traceroute
waktunya habis. - Hop 3: Sebuah perangkat merespons, tetapi kami tidak mendapatkan namanya, hanya alamat IP-nya. Perhatikan bahwa ada tanda bintang di baris ini, yang berarti kami tidak mendapatkan respons untuk ketiga permintaan tersebut. Ini bisa menunjukkan kehilangan paket.
- Hop 4 dan 5: Hop lebih anonim.
- Hop 6: Ada banyak teks di sini karena perangkat jarak jauh yang berbeda menangani masing-masing dari tiga permintaan UDP kami. Nama dan alamat IP (agak panjang) untuk setiap perangkat dicetak. Hal ini dapat terjadi ketika Anda menemukan jaringan yang "kaya penduduk" di mana terdapat banyak perangkat keras untuk menangani volume lalu lintas yang tinggi. Hop ini berada dalam salah satu ISP terbesar di Inggris. Jadi, akan menjadi keajaiban kecil jika perangkat keras jarak jauh yang sama menangani tiga permintaan koneksi kami.
- Hop 7: Ini adalah hop yang dibuat oleh paket UDP kami saat mereka meninggalkan jaringan ISP.
- Hop 8: Sekali lagi, kami mendapatkan alamat IP tetapi bukan nama perangkat. Ketiga tes berhasil dikembalikan.
- Hops 9 dan 10: Dua lompatan anonim lainnya.
- Hop 11: Kami telah tiba di situs web Kastil Blarney. Kastil ini berada di Cork, Irlandia, tetapi menurut geolokasi alamat IP, situs webnya berada di London.
Jadi, itu adalah tas campuran. Beberapa perangkat memainkan bola, beberapa merespons tetapi tidak memberi tahu kami nama mereka, dan yang lainnya tetap sepenuhnya anonim.
Namun, kami berhasil mencapai tujuan, kami tahu jaraknya 11 lompatan, dan waktu pulang-pergi untuk perjalanan itu adalah 13,773 dan 14,715 milidetik.
Menyembunyikan Nama Perangkat
Seperti yang telah kita lihat, terkadang memasukkan nama perangkat mengarah ke tampilan yang berantakan. Untuk mempermudah melihat data, Anda bisa menggunakan opsi -n
(no mapping).
Untuk melakukan ini dengan contoh kami, kami mengetik yang berikut:
traceroute -n blarneycastle.ie
Ini membuatnya lebih mudah untuk memilih jumlah besar untuk pengaturan waktu pulang-pergi yang dapat menunjukkan kemacetan.
Hop 3 mulai terlihat sedikit mencurigakan. Terakhir kali, hanya merespons dua kali, dan kali ini hanya merespons satu kali. Dalam skenario ini, tentu saja di luar kendali kami.
Namun, jika Anda sedang menyelidiki jaringan perusahaan Anda, ada baiknya untuk menggali sedikit lebih dalam ke dalam simpul itu.
Mengatur Nilai Batas Waktu traceroute
Mungkin jika kita memperpanjang periode waktu tunggu default (lima detik), kita akan mendapat lebih banyak tanggapan. Untuk melakukan ini, kami akan menggunakan opsi -w
(waktu tunggu) untuk mengubahnya menjadi tujuh detik. (Perhatikan ini adalah angka floating-point.)
Kami mengetik perintah berikut:
traceroute -w 7.0 blarneycastle.ie
Itu tidak membuat banyak perbedaan, jadi tanggapannya mungkin sudah habis waktunya. Kemungkinan hop tanpa nama sengaja dibuat rahasia.
Mengatur Jumlah Tes
Secara default, traceroute
mengirimkan tiga paket UDP ke setiap hop. Kita dapat menggunakan opsi -q
(jumlah kueri) untuk menyesuaikan ini naik atau turun.
Untuk mempercepat traceroute
pengujian, kami mengetik berikut ini untuk mengurangi jumlah paket probe UDP yang kami kirim menjadi satu:
traceroute -q 1 blarneycastle.ie
Ini mengirimkan satu probe ke setiap hop.
Mengatur Nilai TTL Awal
Kita dapat mengatur nilai awal TTL menjadi selain satu, dan melewati beberapa lompatan. Biasanya, nilai TTL ditetapkan ke satu untuk rangkaian pengujian pertama, dua untuk rangkaian pengujian berikutnya, dan seterusnya. Jika kita mengaturnya menjadi lima, pengujian pertama akan mencoba untuk mendapatkan hop lima dan melewati hop satu sampai empat.
Karena kita tahu website Blarney Castle berjarak 11 hop dari komputer ini, maka kita ketik yang berikut ini untuk langsung menuju Hop 11:
traceroute -f 11 blarneycastle.ie
Itu memberi kami laporan yang bagus dan ringkas tentang status koneksi ke tujuan.
Jadilah Perhatian
traceroute
adalah alat yang hebat untuk menyelidiki perutean jaringan, memeriksa kecepatan koneksi, atau mengidentifikasi kemacetan. Windows juga memiliki tracert
perintah yang berfungsi serupa.
Namun, Anda tidak ingin membombardir perangkat yang tidak dikenal dengan torrent paket UDP, dan berhati-hatilah saat memasukkan traceroute
skrip atau pekerjaan tanpa pengawasan.
Beban yang traceroute
dapat ditempatkan di jaringan dapat berdampak buruk pada kinerjanya. Kecuali jika Anda berada dalam situasi sekarang, Anda mungkin ingin menggunakannya di luar jam kerja normal.