Если программа, работу которой ты проверяешь, использует протокол на базе TCP (скажем, HTTP), ты можешь попробовать установить TCP-соединение на эту пару адрес:порт, не отправляя никаких данных. Уже можно будет понять, установилось соединение или было отвергнуто.
Если это не разовая задача, а периодическая, я советую использовать нормальные системы мониторинга. Хотя бы monit, чтобы не возиться с zabbix. Обе умеют проверять подобное.
Правда, всё выше сказанное верно только для заранее известных IP-адресов. Если у тебя ситуация в духе "где-то в подсети 192.168.69.0/24", то дело усложняется.