Jenis paket yang dikirim berbeda tergantung pada implementasinya. Secara default Windows tracert
menggunakan ICMP dan Mac OS X dan Linux traceroute
menggunakan UDP. Saya tidak memiliki mesin BSD atau Solaris atau OS lain untuk memeriksa tetapi halaman manual untuk versi Mac OS X menyebutkan asalnya adalah BSD 4.3.
Versi Mac dan Linux yang saya tawarkan menawarkan kemampuan untuk memilih berbagai protokol yang berbeda termasuk paket ICMP, TCP, UDP dan GRE. Protokol lain dapat ditentukan dengan nama atau nomor mereka tetapi traceroute tidak tahu apa-apa tentang cara kerja protokol lain. Itu membabi buta mengirim mereka.
Mereka juga dapat mengubah muatan dan port sumber dan tujuan untuk menghindari firewall atau menemukan router mana di sepanjang jalur yang menjatuhkan paket dengan ukuran tertentu.
Semua versi traceroute mengandalkan respons ICMP tipe 11 (Waktu terlampaui) dari setiap lompatan di sepanjang rute. Jika respons ICMP tipe 11 diblokir oleh firewall Anda, traceroute tidak akan berfungsi. Paket-paket ini adalah inbound, bukan outbound.
ICMP tipe 30 dirancang khusus untuk traceroute dan dilabeli sebagai "Permintaan Informasi". Saya belum dapat menemukan di mana pun ini benar-benar digunakan. Halaman manual untuk versi Mac OS X dan Linux mengatakan bahwa -I
akan mengirim ICMP tipe 8 (permintaan gema). Wikipedia mengatakan bahwa Windows tracert
juga menggunakan permintaan gema ICMP. ICMP tipe 30 atau tipe 8 adalah paket keluar, bukan masuk.
ICMP tipe 0 (respon gema) dapat kembali sebagai paket terakhir ketika TTL persis sama dengan jumlah hop. Traceroute akan tahu bahwa itu telah selesai ketika menerima salah satunya. Ini adalah paket masuk.
Paket TCP SYN akan menyebabkan RST
paket atau SYN ACK
paket sebagai respons ketika mereka mencapai tujuannya. Jika Anda menerima SYN ACK
paket, sopan untuk menindaklanjuti RST
paket agar tidak meninggalkan koneksi setengah terbuka di server.
Dimungkinkan untuk mendapatkan respons ICMP tipe 3 kode 4 alih-alih respons ICMP tipe 11 jika Anda mengirim paket besar dengan set flag "Jangan pisah", namun ini hanya memungkinkan Anda untuk menemukan hop dengan MTU terkecil. . Anda biasanya hanya akan mendapatkan respons semacam ini dari satu lompatan di sepanjang rute. Tidak semuanya.