BI aka Veron
Guest
ping для сетки
Всем привет!
Возник вопрос - необходимо циклически проверять доступность сетевых устройств по некоторому перечню статических IP-адресов. Задача вроде как не нова, но есть проблемы:
1) Помимо рабочих машин (под ОСями Windows и QNX4) надо проверять и сетевое оборудование (маршрутизаторы Cisco, dsl-модемы Zelax и Nport-ы Moxa). Таким образом, использование сокетов отпадает - нет единого для них все порта (telnet подходит для оборудования, но не для рабочих тачек). Следовательно, надо проверять на сетевом уровне (как утилита ping)
2) Во всех примерах использования пингования я видел примерно одну и ту же конструкцию - system("ping $somehost"). К сожалению, функция не возвращает удобоваримого признака доступности сети - я получал result 0 и 1, причем 1 соотвествтовал недоступности сетевого адреса, а 0 - либо доступен, либо заблокирован маршрутизатором (возможно, есть другие коды возврата или дополнительные условия формирования - просто не нашел их).
Есть ли способ выполнить данную задачу? Повторюсь, главная цель - проверить ДОСТУПНОСТЬ IP-адреса.
Заранее спасибо
Всем привет!
Возник вопрос - необходимо циклически проверять доступность сетевых устройств по некоторому перечню статических IP-адресов. Задача вроде как не нова, но есть проблемы:
1) Помимо рабочих машин (под ОСями Windows и QNX4) надо проверять и сетевое оборудование (маршрутизаторы Cisco, dsl-модемы Zelax и Nport-ы Moxa). Таким образом, использование сокетов отпадает - нет единого для них все порта (telnet подходит для оборудования, но не для рабочих тачек). Следовательно, надо проверять на сетевом уровне (как утилита ping)
2) Во всех примерах использования пингования я видел примерно одну и ту же конструкцию - system("ping $somehost"). К сожалению, функция не возвращает удобоваримого признака доступности сети - я получал result 0 и 1, причем 1 соотвествтовал недоступности сетевого адреса, а 0 - либо доступен, либо заблокирован маршрутизатором (возможно, есть другие коды возврата или дополнительные условия формирования - просто не нашел их).
Есть ли способ выполнить данную задачу? Повторюсь, главная цель - проверить ДОСТУПНОСТЬ IP-адреса.
Заранее спасибо
