¿Cómo puedo establecer un tiempo de espera breve con el comando ping?

Pregunta:

Estoy tratando de escribir una secuencia de comandos que enumere todos los hosts en mi LAN (hay alrededor de 20 de ellos) y escribe el estado del ping al lado de cada host. Tengo el archivo de arrendamientos DHCP, por lo que tengo todas las direcciones IP (por ejemplo, 10.0.0.1, 10.0.0.2, etc.), todo lo que necesito es el estado de ping para cada host.

Entonces, mi script lanza un solo ping para cada host:

ping -c 1 10.0.0.1

Desafortunadamente, cuando un host está fuera de línea, el ping tarda mucho en agotarse. Verifiqué man ping , parece que hay dos opciones para establecer el tiempo de espera: -w deadline y -W timeout . Creo que me interesa este último.

Entonces probé esto:

ping -c 1 -W 1 10.0.0.1

Pero esperar un segundo por cada host fuera de línea sigue siendo demasiado largo. Intenté configurarlo por debajo de un segundo, pero no parece tener en cuenta el parámetro en absoluto:

ping -c 1 -W 0.1 10.0.0.1  # timeout option is ignored, apparently

¿Hay alguna forma de establecer el tiempo de espera en un valor más bajo? Si no es así, ¿existen alternativas?

Editar

  • El sistema operativo es Debian Lenny.
  • Los hosts a los que estoy intentando hacer ping son en realidad puntos de acceso. Están en la misma VLAN y subred que los usuarios (para simplificar la implementación y el reemplazo). Es por eso que no quiero escanear toda la subred (con un ping -b por ejemplo).

Editar # 2

fping solución de fping (gracias por todas las demás respuestas). Este comando hace exactamente lo que estaba buscando:

fping -c1 -t500 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4

Este comando tarda como máximo 500ms en completarse y me da el estado de ping de todos los hosts a la vez:

10.0.0.1 : [0], 84 bytes, 5.71 ms (5.71 avg, 0% loss)
10.0.0.2 : [0], 84 bytes, 7.95 ms (7.95 avg, 0% loss)
10.0.0.3 : [0], 84 bytes, 16.1 ms (16.1 avg, 0% loss)
10.0.0.4 : [0], 84 bytes, 48.0 ms (48.0 avg, 0% loss)

10.0.0.1 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 5.71/5.71/5.71
10.0.0.2 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 7.95/7.95/7.95
10.0.0.3 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 16.1/16.1/16.1
10.0.0.4 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 48.0/48.0/48.0

En Debian Lenny, la instalación es trivial:

aptitude update
aptitude install fping

Respuesta:

fping podría ser una herramienta mejor que el ping de valores que está utilizando. ¿En qué sistema operativo estás?

  • "fping se diferencia de ping en que puede especificar cualquier número de objetivos en la línea de comando, o especificar un archivo que contenga las listas de objetivos para hacer ping".
  • "En lugar de enviar a un objetivo hasta que se agote el tiempo de espera o responda, fping enviará un paquete de ping y pasará al siguiente objetivo de forma rotatoria".
  • "A diferencia de ping, fping está destinado a ser utilizado en scripts, por lo que su salida está diseñada para ser fácil de analizar".

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım