8

Мне нужно работать со скриптом, который использует команду ping с обычным синтаксисом Linux, ни пакет Cygwin по умолчанию, ни утилита Windows ping не подойдут. На данный момент я исправил сценарий для использования версии Windows (с некоторыми трудностями; исполняемый файл Windows не предоставляет полезных кодов возврата, поэтому мне нужно проанализировать вывод), но я бы хотел совместимость коробки и дополнительные возможности Linux ping. Прежде чем продолжить, позвольте мне заявить, что я запускаю Cygwin в режиме администратора; это не проблема привилегий. Это проблема версий.

Команда ping по умолчанию в Cygwin указана как версия 1.0-1 в диспетчере установки в пакете «ping: базовый сетевой инструмент для проверки подключения к IP-сети». Без аргументов выводит:

Usage:  ping [-dfqrv] host [packetsize [count [preload]]]

и описание man-страницы начинается с «Интернет DARPA - это большое и сложное объединение сетевого оборудования», что для меня выглядит более чем устаревшим. Это версия, установленная в /bin/ping .

Команда ping Windows находится в $SYSTEMROOT/system32/ping и выводит следующее сообщение при вызове без параметров.

Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
        [-r count] [-s count] [[-j host-list] | [-k host-list]]
        [-w timeout] target_name

Это, безусловно, более многофункциональный пинг (в частности, он включает тайм-ауты, что важно для меня), но это не та версия, которая доступна в современной установке Linux:

ping [ -LRUbdfnqrvVaAB] [ -c count] [ -i interval] [ -l preload] [ -p pattern] 
     [ -s packetsize] [ -t ttl] [ -w deadline] [ -F flowlabel] [ -I interface] 
     [ -M hint] [ -Q tos] [ -S sndbuf] [ -T timestamp option] [ -W timeout] 
     [ hop ...] destination

задокументировано онлайн здесь. Я не могу найти ссылки на версию ping для Cygwin, за исключением ссылки на Cygwin.

Я нашел эту древнюю ветку электронной почты, которая описывает раннюю версию Cygwin без пинга. Я не нашел ни одной версии iputils, предназначенной для Windows.

1 ответ1

3

Вы могли бы либо

  • попробуйте собрать ping из исходного кода, это часть пакета iputils. Но строить вещи на Cygwin может быть довольно хлопотно.

Или (и я бы попробовал это сначала)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .