Apa perbedaan signifikan antara tracepath dan traceroute?

58

Baru-baru ini saya membaca sedikit artikel tentang HowToGeek yang membuat saya sedikit menggaruk-garuk kepala. Tapi saya punya sedikit pengalaman dengan Linux, jadi maafkan saya jika ini adalah entry-level:

"Perintah tracepath mirip dengan traceroute, tetapi tidak memerlukan hak akses root."

http://www.howtogeek.com/108511/how-to-work-with-the-network-from-the-linux-terminal-11-commands-you-need-to-know/

Bagaimana traceroute dan tracepath melakukan fungsi serupa, secara berbeda?

Apa yang dilakukan traceroute, yang membutuhkan hak root, yang tidak dimiliki tracepath?

Apakah ada skenario di mana seseorang harus memilih tracepath daripada traceroute, atau sebaliknya?

Iszi
sumber

Jawaban:

57

Bagaimana traceroute dan tracepath melakukan fungsi serupa, secara berbeda?

Kedua program pada dasarnya melakukan satu hal: mengirim dan menerima paket IP tertentu.

Anda dapat menggunakan soket soket normal untuk melakukan ini, atau Anda dapat memanipulasi paket mentah dari antarmuka. API soket tidak memerlukan hak akses root, karena cukup aman. Ada mekanisme yang dibangun untuk mencegah satu program mengakses paket IP yang dibuat oleh program lain.

Tracepath menggunakan sockets API untuk semua fungsionalitasnya. Traceroute memanipulasi paket mentah untuk beberapa fungsinya.

Apa yang dilakukan traceroute, yang membutuhkan hak root, yang tidak dimiliki tracepath?

Itu memanipulasi paket mentah.

Untuk memanipulasi paket mentah, Anda memerlukan hak akses root karena dengan melakukan ini, Anda melewati mekanisme keamanan API soket. Anda memperoleh akses ke komunikasi dari semua proses lain dan pengguna yang menggunakan antarmuka itu. Coba pikirkan apa yang bisa dilakukan virus jika dia bisa memanipulasi paket mentah.

Apakah ada skenario di mana seseorang harus memilih tracepath daripada traceroute, atau sebaliknya?

Satu perintah lanjutan yang tersedia di Traceroute adalah kemampuan untuk menjalankan jejak jaringan menggunakan protokol IPv4 atau IPv6. Dimungkinkan juga untuk memilih antara format data ICMP, TCP atau UDP untuk suatu penyelidikan. Traceroute dapat memilih perutean sumber spesifik untuk probe dan memilih dari port mana akan dikirim. Itu dapat menetapkan batas TTL minimum dan maksimum untuk menerima dari probe keluar. Selain itu, Traceroute dapat menunjukkan waktu tunggu untuk ping respons serta mengatur berapa banyak paket yang dikirim dalam setiap probe dan berapa banyak probe untuk dikirim. Beberapa dari perintah ini mungkin tidak didukung oleh perangkat keras jaringan di sepanjang jalan, yang dapat menghentikan penyelidikan sebelum mencapai tujuan target.

sumber: 1 2 3

Galgalesh
sumber
1
Akhirnya, jawaban dengan masalah keamanan yang sah yang memengaruhi sistem lokal. Terima kasih!
Iszi
10

Anda dapat menggunakan tracerouteuntuk penelusuran jaringan tingkat lanjut, Anda dapat memilih antara protokol IPv4 dan Ipv6, Anda juga dapat memilih antara format data ICMP, TCP atau UDP untuk sebuah penyelidikan.

Jadi traceroutememiliki opsi lebih maju daripada tracepathyang menggunakan paket UDP untuk melacak.

Sekarang tentang hak pengguna super :

Anda dapat menggunakan traceroutedengan pengguna normal dan pengguna super yang tergantung pada opsi yang ingin Anda gunakan, berikut adalah contohnya:

masukkan deskripsi gambar di sini

Di sini kita menggunakan paket UDP yang tidak membutuhkan hak superuser

masukkan deskripsi gambar di sini

Di sini kita menggunakan paket gema ICMP yang membutuhkan hak istimewa.

Dengan paket ICMP Anda dapat melakukan serangan DDOS.

Untuk mempelajari tentang opsi ICMP Traceroute Man Page

Untuk melihat tracerouteopsi ketikkan terminalman traceroute

ICMP membutuhkan hak istimewa pengguna super, untuk memastikan administrator dapat menggunakan beberapa opsi, karena dapat digunakan untuk melakukan ping kematian dan mengumpulkan informasi tentang jaringan tertentu, hak istimewa di sini akan memberikan kemampuan super pengguna untuk mengubah opsi menggunakan ICMP paket.

Anda dapat melihatnya, ketika Anda mencoba melakukan ping ke situs web www.microsoft.com, ping Anda akan gagal bahkan online, dan itu karena router Microsoft memblokir ICMP_requests.

Jadi linux melindungi sistem dari pengguna yang tidak berhak, sehingga mereka tidak dapat menggunakan perintah ini untuk menyerang.

nux
sumber
3
Biasanya, pembatasan terhadap pengguna yang tidak memiliki hak pribadi digunakan untuk melindungi sistem dari serangan - bukan dari digunakan sebagai vektor untuk menyerang sistem lain. Ini tidak masuk akal bagi saya - apakah Anda tahu ada dokumentasi yang mendukung ini?
Iszi
3

saya pikir Anda harus membaca ini http://www.ehow.com/list_7526520_differences-between-traceroute-tracepath.html

Dari tautan di atas:

TracePath

Tracepath melacak jalur ke alamat jaringan yang ditunjuk, melaporkan "time to live" atau TTL lag dan unit transmisi maksimum (MTU) di sepanjang jalan. Perintah ini dapat dijalankan oleh pengguna lain dengan akses ke prompt baris perintah.


Dasar-Dasar Traceroute

Traceroute pada dasarnya sama dengan Tracepath kecuali secara default, Traceroute hanya akan memberikan nilai TTL. Jika Anda ingin data tambahan, Anda harus meminta variabel-variabel itu di baris perintah. Juga, traceroute membutuhkan akses superuser untuk menjalankan perintah pada kotak Linux, dan beberapa permintaan data tingkat lanjut mungkin tidak didukung oleh semua router di sepanjang jalur. Di lingkungan Windows, setiap pengguna dengan akses ke baris perintah dapat menjalankan Traceroute.

rɑːdʒɑ
sumber
Terima kasih atas tautannya, tetapi bisakah Anda menaruh beberapa konten aktual dalam jawaban Anda?
Iszi
Halo bodhi.zazen, terima kasih telah memperbaiki posting saya. :)
rɑːdʒɑ
5
Terimakasih atas klarifikasinya. Namun, jawabannya di sini (belum sempat meninjau tautannya) masih hilang dua bagian dari pertanyaan: Mengapa memang traceroutememerlukan akses superuser (terutama karena tampaknya itu memang kurang daripada tracepathsecara default)? Dan, selain dari skenario di mana Anda bukan superuser, mengapa Anda harus memilih yang satu dari yang lain?
Iszi
1

pingdan traceroutegunakan protokol ICMP. Seperti UDP dan TCP ini dapat diakses melalui API soket normal. Hanya nomor port UDP dan TCP yang kurang dari 1024 yang dilindungi dari penggunaan, selain oleh root. ICMP tersedia secara bebas untuk semua pengguna.

Jika Anda benar-benar ingin melihat cara kerja ping dan traceroute, Anda dapat mengunduh contoh penerapan kode C untuk mereka dari CodeProject .

Singkatnya, mereka sederhana membuka soket ICMP, dan traceroute mengubah kenaikan TTL menggunakan setockopt hingga target tercapai.

Sumber: Tautan

Ahmadgeo
sumber
Juga; tracepath menggunakan UDP yang -di samping opsi UDP di traceroute itu sendiri, tidak memerlukan hak-hak tinggi.
Ahmadgeo