Я бы предложил использовать fping с параметром маски, поскольку вы не ограничиваете себя в пинге.
fping -g 192.168.1.0/24
Ответ будет легко разобрать в скрипте:
192.168.1.1 is alive
192.168.1.2 is alive
192.168.1.3 is alive
192.168.1.5 is alive
...
192.168.1.4 is unreachable
192.168.1.6 is unreachable
192.168.1.7 is unreachable
...
Примечание: использование аргумента -a
ограничит вывод доступными IP-адресами, вы можете использовать его, иначе fping также выведет недостижимые адреса:
fping -a -g 192.168.1.0/24
От человека:
fping отличается от ping тем, что вы можете указать любое количество целей
в командной строке или укажите файл, содержащий списки целей
пинговать Вместо отправки одной цели до истечения времени ожидания или
Ответы: fping отправит пакет проверки связи и перейдет к следующему
цель в круговой манере.
Подробнее: http://fping.org/