ping -c1, ждать всех ответов от трансляции

Я хочу отправить один пакет на широковещательный адрес, но жду всех ответов.

Если я выполняю ping -c 1 192.168.1.255 , он отправляет только один пакет, но он завершает работу после получения первого ответа.

Как бы ping знал, что ответы на них действительно есть все ?

Чтобы узнать, какие хосты в подсети заняты , что-то вроде nmap хорошо подходит. См. Аргумент -sn для обнаружения хоста :

-sn (Нет сканирования портов)

Этот параметр указывает Nmap не выполнять сканирование портов после обнаружения узла и распечатывать только доступные хосты, которые ответили на проверку. Это часто называют «сканирование ping», […]

Системные администраторы часто считают этот параметр ценным. Его можно легко использовать для подсчета доступных компьютеров в сети или для проверки доступности сервера. Это часто называют ping sweep и более надежным, чем проверка широковещательного адреса, поскольку многие хосты не отвечают на широковещательные запросы.

Эта быстрая проверка для хостов, возможно, не работает в настоящее время. Все большее число операционных систем блокирует входящий ICMP / ping по умолчанию. Возможно, есть лучшие и, возможно, более быстрые способы достижения вашей цели.

Если у вас есть доступ к SNMP-чтению к задействованному маршрутизатору (-ам), вы можете получить информацию (количество хостов в сети) простым SNMP-get-запросом соответствующей таблицы статистики трафика.