Eu preciso de um script que faça ping em um grupo de ips e retorne como resultado o online, ele irá ecoar por exemplo 10.10.10.10 está on-line
10.10.10.11 está on-line
10.10.10.15 está on-line
Sem usar nenhum pacote ou utilitário de terceiros!
Qualquer ajuda ?
Responder1
Não há necessidade de um roteiro.nmappode fazer isso por você.
Por exemplo, para verificar uma rede 10.10.10.0/24, faça
nmap -sn 10.10.10.0/24
Isso reportará que os hosts estão ativos com base na resposta a uma solicitação de eco ICMP, conhecida como 'ping'. Um exemplo de saída:
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
Responder2
O script abaixo fará um loop em uma sub-rede ips e retornará como resultado apenas o online:
#!/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
Observe a alteração 10.1.1. para sua sub-rede, um 1..255 informa ao script para iniciar em 10.1.1.1 e faz um loop em 10.1.1.255
Executar:
./ping_scan.sh