Bagaimana cara mendapatkan traceroute di cygwin?

14

Implementasi traceroute (tracert) berbeda pada Windows dan Unix. Saya ingin membandingkan keduanya dengan Wireshark. Saya menggunakan Windows 7 sekarang dan saya ingin mendapatkan implementasi traceroute Unix dengan cepat.

Ide pertama saya adalah mendapatkannya menggunakan MSYS atau Cygwin. Saya menginstal Cygwin dengan "inetutils *" paket diperiksa, tetapi tidak ada perintah traceroute dan sesuai dieksekusi di /usr/bin/.

Saya juga mencoba mencari "traceroute" dengan pencarian paket Cygwin dan menemukan substring ini dalam daftar file "zsh". Saya menginstal zsh dan mencoba traceroutedan tcptraceroutetanpa hasil.

Paket mana yang harus saya periksa untuk instalasi traceroute dan apakah ada traceroute untuk Cygwin?

Kirill
sumber

Jawaban:

14

Tidak ada traceroutedalam paket Cygwin, karena tracertselalu tersedia di Windows. Lihat https://cygwin.com/ml/cygwin/2005-12/msg00443.html untuk utas yang membahas secara singkat hal ini. Anda dapat mencoba mengkompilasi gaya Unix traceroutedari sumber usign Cygwin.

Jika Anda ingin membandingkan Windows-style tracertdengan Unix-style traceroute, saya akan merekomendasikan berjalan traceroutedi Unix atau Linux, karena tumpukan jaringan berbeda; jadi menjalankan gaya Unix traceroutedi Windows tidak akan memberi Anda jejak jaringan yang sama dengan gaya tracerouteUnix di Unix.

Stephen Kitt
sumber
3
pingjuga ada di Windows, tetapi tersedia untuk Cygwin :) Bagaimanapun, terima kasih atas jawaban Anda. Mungkin saya akan mencoba mengkompilasi tracerouteuntuk Cygwin secara manual.
Kirill
4
Titik yang adil, dan traceroutemenawarkan beberapa fitur lebih banyak daripada tracert.
Stephen Kitt
4

Oke, seperti kata Stephen Kitt, tidak ada binari traceroute yang siap digunakan untuk Cygwin. Itu sebabnya saya mencoba mengkompilasinya sendiri.

Saya dapat melihat ada traceroute modern tetapi dari uraiannya berikut, bahwa itu tidak dapat digunakan dengan kernel Linux lama dan bagi saya kompilasi terjebak pada "dccp.h" yang hilang dan saya menyerah.

Saya bisa mengkompilasi implementasi lama , tetapi berfungsi seperti tidak bisa melihat balasan ICMP pada TTL terlampaui (ada tanda bintang, bukan hasil):

1 * * *

2 * * *

Mungkin perlu beberapa perbaikan untuk bekerja di Cygwin dan itulah alasan mengapa tidak ada paket traceroute untuk Cygwin.

Saya memeriksa dengan Wireshark dan melihatnya menggunakan paket uji UDP dan balasan ICMP yang sesuai dikirimkan dengan benar. Saya ingin memperhatikan bahwa traceroute lama ini bekerja lambat seperti tracertsimpul Win ("kueri" satu per satu). Traceroute modern memberikan hasil sangat cepat.

Kirill
sumber
2

Saya dapat membangun port mtrdi dalam Cygwin32 menggunakan instruksi:

https://github.com/traviscross/mtr/

MTR adalah alat traceroute open source alternatif. Ini memiliki antarmuka teks GUI dan Ncurses. Ini bukan traceroute klasik, tapi saya lebih menyukainya.

LatinSuD
sumber