¿Un script para hacer ping a un grupo de IP y regresar solo con Online?

¿Un script para hacer ping a un grupo de IP y regresar solo con Online?

Necesito un script que haga ping a un grupo de ips y devuelva como resultado el que está en línea, hará eco, por ejemplo 10.10.10.10 está en línea

10.10.10.11 está en línea

10.10.10.15 está en línea

¡Sin utilizar ningún paquete o utilidad de terceros!

Alguna ayuda ?

Respuesta1

No es necesario un guión.nmapaInstalar nmappuede hacerlo por ti.

Por ejemplo, para escanear una red 10.10.10.0/24, haga

nmap -sn 10.10.10.0/24

Esto informará que los hosts están activos en función de la respuesta a una solicitud de eco ICMP, conocida como "ping". Un resultado de ejemplo:

Starting Nmap 5.21 ( http://nmap.org ) at 2014-01-30 00:40 CET
Nmap scan report for 10.10.10.1
Host is up (0.0061s latency).
Nmap scan report for 10.10.10.2
Host is up (0.00071s latency).
Nmap scan report for android (10.10.10.112)
Host is up (0.0087s latency).
Nmap scan report for laptop (10.10.10.134)
Host is up (0.00037s latency).
Nmap scan report for 10.10.10.151
Host is up (0.00094s latency).
Nmap scan report for 10.10.10.203
Host is up (0.00060s latency).
Nmap done: 256 IP addresses (6 hosts up) scanned in 3.41 seconds

Respuesta2

El siguiente script ejecutará un bucle en una subred ips y devolverá, como resultado, solo la información en línea:

#!/bin/bash

is_alive_ping()
{
  ping -c 1 $1 > /dev/null
  [ $? -eq 0 ] && echo Node with IP: $i is Online.
}

for i in 10.1.1.{1..255} 
do
is_alive_ping $i & disown
done

Nota cambio 10.1.1. a su subred, un 1..255 le dice al script que comience desde 10.1.1.1 y le dice en bucle a 10.1.1.255

Ejecutar:

./ping_scan.sh

información relacionada