Як отримати traceroute на cygwin?


14

Реалізація traceroute (tracert) відрізняється в Windows та Unix. Я хотів порівняти обидва з Wireshark. Зараз я перебуваю на Windows 7, і мені хотілося швидко отримати реалізацію Unix traceroute.

Моя перша ідея полягала в тому, щоб отримати його за допомогою MSYS або Cygwin. Я встановив Cygwin з перевіреними пакетами "inetutils *", але в ньому немає команди traceroute та відповідного виконуваного файлу /usr/bin/.

Я також спробував шукати "traceroute" за допомогою пошуку пакетів Cygwin і знайшов цю підрядку в списку "zsh" файлів. Я встановив zsh і спробував tracerouteі tcptracerouteбез результатів.

Який пакет я повинен перевірити на встановлення traceroute і чи існує sploh traceroute для Cygwin?

Відповіді:


15

У tracerouteпакунках Cygwin немає, оскільки tracertвін завжди доступний у Windows. Дивіться https://cygwin.com/ml/cygwin/2005-12/msg00443.html для теми, коротко обговорюючи це. Ви можете спробувати скласти стиль Unix tracerouteз джерела, призначеного Cygwin.

Якщо ви хочете порівняти стиль Windows tracertз Unix-стилем traceroute, я б рекомендував запустити tracerouteна Unix або Linux, оскільки мережеві стеки різні; тому запуск стилю Unix tracerouteв Windows не дасть вам абсолютно однакових мережевих слідів, як у Unix-стилі tracerouteв Unix.


3
pingтакож існує в Windows, але доступний для Cygwin :) У будь-якому випадку, дякую за вашу відповідь. Можливо, я спробую скласти tracerouteдля Cygwin вручну.
Кирило

4
Справедливий момент, і tracerouteпропонує досить багато функцій, ніж tracert.
Стівен Кітт

4

Добре, як сказав Стівен Кітт, немає готова використовувати бінарні файли traceroute для Cygwin. Ось чому я спробував скласти це сам.

Я можу побачити, що існує сучасна traceroute, але з цього опису випливає, що його не можна використовувати зі старими ядрами Linux, і для мене компіляція застрягла на відсутньому "dccp.h", і я відмовився.

Мені вдалося скомпілювати стару реалізацію , але вона працює так, що не може побачити перевищення відповідей ICMP на TTL (замість результатів є зірочки):

1 * * *

2 * * *

Можливо, для роботи над Cygwin потрібні певні виправлення, і це є причиною, чому для Cygwin не існує пакета traceroute.

Я перевірив програму Wireshark і бачу, як він використовує тестові пакети UDP і відповіді відповідей ICMP доставлені правильно. Хочу зауважити, що ця стара трасея працює повільно, як Уїн tracert(«запитування» вузлів по черзі). Сучасна трасея дає результати дуже швидко.


2

Мені вдалося створити порт mtrв Cygwin32, використовуючи інструкції:

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

MTR - це альтернативний інструмент прослідкування з відкритим кодом. Він має графічний інтерфейс і графічний інтерфейс, і Ncurses. Це не зовсім класичний мікроконтроль, але мені це більше подобається.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.