Script Multiping para Bash

AdriMcGrady 06/11/2021

Aprovechando temas tratados anteriormente os mostraré un script para hacer un multiping o ping múltiple a una lista de ips. Estas ips pueden venir de un fichero de texto y de parsear la salida del comando prips. Es cierto que hay herramientas alternativas y que se suelen usar para esto como nmap, fping u otras, pero con nuestro script no necesitarás instalar nada en tu servidor o equipo, solo copiar y ejecutarlo. Y además podrás adaptarlo a tus necesidades fácilmente. Además, podrás adaptarlo a tus necesidades y nos servirá para aplicar soluciones vistas aquí anteriormente:

multiping_bash.sh

multiping_bash.sh, más bien, 0008_multiping_bash.sh será nuestro script. Y como hemos dicho antes lo tenéis disponible en el repositorio. Básicamente lo que hace el script es, a partir de una lista de ips, comprobar cuales responden a ping y cuales no, mostrando un reporte final.

Usando multiping_bash.sh

La manera de ejecutar el script sería como la de cualquier otro, así que simplemente se copiaría al sistema donde se quiera ejecutar y se lanzaría con ./0008_multiping_bash.sh, bash 0008_multiping_bash o la manera que cada uno prefiera.

Pero hay que tener en cuenta que tiene dos modos de funcionamiento dependiendo de como se reciba la lista de ips:

  • Vía pipe y el comando prips. Por ejemplo: prips RED/MASCARA | ./0008_multiping_bash.sh [-r] [-d]
  • Mediante un fichero de ips. Por ejemplo: /0008_multiping_bash.sh -f FICHERO-IPS [-r] [-d]

A continuación se describen las opciones del script:

  • -f: Si no se pasan las ips vía pipe y prips esta opción es obligatoria. Así como también es obligatorio indicar una ruta a un fichero de ips que tenga una ip por linea. Puedes consultar un ejemplo aquí
  • -r: Parámetro opcional. Se usa para habilitar que el script muestre un reporte final.
  • -d: Parámetro opcional. Se usa para habilitar la salida de depuración.
  • -h: Muestra ejemplos de uso.

Ejemplos de uso

A continuación os dejo varios ejemplos de uso, así como su salida.

# Usar prips para pasar la salida al script de multiping y mostrar reporte final.
prips 192.168.0.32/29 | ./0008_multiping_bash.sh -r

multiping con prips

# Usar un fichero de ips para el script de multiping y mostrar reporte final.
./0008_multiping_bash.sh -f 0008_ejemplo_ips.txt -r

multiping con fichero entrada

Código fuente del script

Como ya os he comentado el script de multiping, así como todos los del blog, lo tenéis en el repositorio. Así que mejor que poner por aquí el código, podéis pasaros por el repositorio Noroute2host Files y echarle un ojo. ¡Y por supuesto es mejorable, modificable, ampliable y lo que se os ocurra!


Artículo anterior

Artículos relacionados: