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.nmapapuede 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