Скрипт для пингования группы IP-адресов и возврата только статуса «Онлайн»?

Скрипт для пингования группы IP-адресов и возврата только статуса «Онлайн»?

Мне нужен скрипт, который пингует группу IP-адресов и возвращает в качестве результата тот, который находится в сети, например, он будет отображаться эхом 10.10.10.10 в сети

10.10.10.11 в сети

10.10.10.15 в сети

Без использования каких-либо пакетов или сторонних утилит!

Любая помощь ?

решение1

Сценарий не нужен.нмапУстановить nmapможем сделать это для вас.

Например, чтобы просканировать сеть 10.10.10.0/24, выполните:

nmap -sn 10.10.10.0/24

Это сообщит о хостах, которые работают, на основе ответа на ICMP Echo Request, известный как 'ping'. Пример вывода:

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

решение2

Приведенный ниже скрипт будет зацикливаться на IP-адресах подсети и возвращать в качестве результата только данные о состоянии «онлайн»:

#!/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

Обратите внимание, что изменение 10.1.1. на вашу подсеть, 1..255 указывает скрипту начинать с 10.1.1.1 и циклически указывает 10.1.1.255

Выполнять:

./ping_scan.sh

Связанный контент