Necesito trabajar con un script que use el ping
comando con su sintaxis ordinaria de Linux, ni el paquete predeterminado de Cygwin ni la utilidad de ping de Windows funcionarán. Por ahora, he parcheado el script para usar la versión de Windows (con cierta dificultad; el ejecutable de Windows no proporciona códigos de retorno útiles, por lo que tengo que analizar el resultado), pero me gustaría que el fuera de la- compatibilidad de cuadro y características adicionales del ping de Linux. Antes de continuar, permítanme decir que estoy ejecutando Cygwin en modo administrador; No es un problema de privilegios. Es un problema de versiones.
El ping
comando predeterminado de Cygwin aparece como versión '1.0-1' en el administrador de configuración, en el paquete 'ping: una herramienta de red básica para probar la conectividad de red IP'. Sin argumentos, genera:
Usage: ping [-dfqrv] host [packetsize [count [preload]]]
y la descripción de la página de manual comienza con "Internet DARPA es una agregación grande y compleja de hardware de red" , que me parece que está un poco desactualizado. Esta es la versión instalada en /bin/ping
.
El ping
comando de Windows se encuentra en $SYSTEMROOT/system32/ping
, y muestra el siguiente mensaje en la invocación sin parámetros.
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
Este es ciertamente un ping más rico en funciones (en particular, incluye tiempos de espera, lo cual es importante para mí), pero no es la versión disponible en una instalación moderna de 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
documentado en línea aquí . Parece que no puedo encontrar referencias a la versión cygwin de ping, excepto en referencia a Cygwin.
Encontré este antiguo hilo de correo electrónico que describe una versión anterior de Cygwin sin ping. No he encontrado ninguna versión de iputils diseñada para Windows.
#include <linux/filename.h>
de#include <cygwin/filename.h>
y similares, que más tarde se descubrió que los conductores de la toma de Cygwin también se carece de características que necesitan los iputils. No se trata solo de construir iputils para Cygwin, también se trata de construir Cygwin para que funcione con iputils. Lo intentaré más tarde si tengo algo de tiempo libre.