Как получить traceroute на cygwin?

Реализация traceroute (tracert) отличается от Windows и Unix. Я хотел сравнить оба с Wireshark. Сейчас я на Windows 7, и мне очень хотелось быстро реализовать реализацию Unix traceroute.

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

Я также попытался найти «traceroute» с помощью поиска пакета Cygwin и нашел эту подстроку в списке файлов «zsh». Я установил zsh и попробовал traceroute и tcptraceroute без каких-либо результатов.

Какой пакет я должен проверить для установки traceroute и есть ли traceroute для Cygwin?

3 Solutions collect form web for “Как получить traceroute на cygwin?”

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

Если вы хотите сравнить tracert в стиле Windows в стиле traceroute стиле Unix, я бы рекомендовал запустить traceroute в Unix или Linux, потому что сетевые стеки разные; поэтому запуск traceroute стиле Unix в Windows не даст вам таких же сетевых трасс, как traceroute Unix в Unix.

Хорошо, поскольку Стивен Китт сказал, что нет готовых использовать двоичные файлы traceroute для Cygwin. Вот почему я попытался скомпилировать его сам.

Я вижу, что есть современный traceroute, но из его описания следует, что его нельзя использовать со старыми ядрами Linux, и для меня компиляция застряла в отсутствующем «dccp.h», и я сдался.

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

1 * * *

2 * * *

Возможно, для работы с Cygwin требуются некоторые исправления, и именно по этой причине для Cygwin нет пакета traceroute.

Я проверил с Wireshark и вижу, что он использует тестовые пакеты UDP, и соответствующие ответы ICMP поставляются правильно. Я хочу заметить, что этот старый traceroute работает медленно, как Tracert от Win («запрос» узлов один за другим). Современный traceroute дает результаты очень быстро.

Я смог построить порт mtr в Cygwin32, используя инструкции:

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

MTR – альтернативный инструмент traceroute с открытым исходным кодом. Он имеет интерфейс графического интерфейса пользователя и Ncurses. Это не совсем классический traceroute, но мне он больше нравится.

  • Почему мой трассировочный маршрут (mtr) связывает порт UDP при его запуске?
  • Скрипт для Ping IP и создание журнала, показывающего дату / время любого сбоя, раз более 500 мс, а traceroute - отказ
  • Невозможно traceroute на Kali Linux
  • У меня есть маршрут к сети, но с выхода traceroute он не покидает сервер
  • traceroute с явным выбором шлюза
  • Traceroute - подходите к месту с проблемами подключения
  • difficalty для сохранения вывода traceroute в переменной оболочки?
  • traceroute (с TCP) не фиксирует полученные ответы ICMP
  • Как оценить качество сетевого подключения сервера с помощью traceroute?
  • iptables - masqueraded NAT задерживает первый прыжок в traceroute
  • добавление дополнительных прыжков в traceroute6 на OpenBSD
  • Linux и Unix - лучшая ОС в мире.