Necesito trabajar con un script que use el ping
comando con su sintaxis normal de Linux; ni el paquete predeterminado de Cygwin ni la utilidad 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 obtener la versión lista para usar. compatibilidad de caja ycaracterísticas adicionalesdel ping de Linux. Antes de continuar, permítanme decirles que estoy ejecutando Cygwin en modo administrador; No es una cuestión de privilegios. Es un problema de versiones.
El comando predeterminado de Cygwin ping
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 la red IP'. Sin argumentos, genera:
Usage: ping [-dfqrv] host [packetsize [count [preload]]]
y la descripción de la página de manual comienza con"DARPA Internet es una agregación grande y compleja de hardware de red",, lo que me parece más que un poco desactualizado. Esta es la versión instalada en /bin/ping
.
El comando de Windows ping
se encuentra en $SYSTEMROOT/system32/ping
y genera el siguiente mensaje al invocarlo 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 con más 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íneaaquí. 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ónicoque describe una versión temprana de Cygwin sin ping. No he encontrado ninguna versión de iputils diseñada para Windows.
Respuesta1
tú podrías
- Intente crear ping desde la fuente, es parte delpaquete iputils. Pero construir cosas en cygwin puede ser bastante complicado.
O (y yo probaría esto primero)
- Pruebe con otra implementación de ping, como esta de Perl en Perl.Red::Pingouno de los otros en CPAN