Как эффективно мониторить наличие компьютеров в сети (программа написана администратором этого сайта)

Недавно перед мной возникла задача постоянно контролировать наличие определенных компьютеров в сети и видеть тот момент, когда один или несколько из них с этой же сети пропадут. Поскольку пользоваться консолью Windows для постоянного или периодического пинга нескольких компьютеров (хостов) не является удобным способом, то пришлось поседеть, подумать и написать достаточно простую для пользования программу, которая будет пинговать нужные мне компы из списка и выводить текущую информацию по каждому из них. Возможно это приложение будет полезно не только мне.

Краткое описание приложения и его возможностей.

Сама программка состоит из трех окон.

Первое окно — это основное окно программы. На нем есть кнопки для доступа к параметрам и логу, а также кнопка для сворачивания программы в трей и кнопка для запуска самого пинга. Также ниже отображается главная таблица с названиями компьютеров (узлов, хостов) и их статусом (в ячейку статуса выводиться среднее время отклика узла).

В случае если за определенный интервал времени от узла не поступает ответ, то его ячейка окрашивается в красный цвет, а вместо интервала отклика отображается слово «FAIL».

Также программу для удобства ее пользованием можно свернуть в трей с помощью соответствующей кнопки на главном окне. Если все узлы откликаются на ваш пинг, то значок в трее имеет следующий вид:

Если же хоть один из узлов не будет отвечать на запросы, то значок будет иметь следующий вид:

Двойной щелчок мышки по ярлычку программы в трее вернет основное окно.

Второе окно программы — это окно с настройками. Оно доступно по нажатию на кнопку «Параметры». В этом окне вы сможете задать следующие настройки:

  • Интервал между пингами — это время между последовательностью запросов, а также время по истечению которого узел считается недоступен, если от него не поступил ответ. По умолчанию 1000 мс.
  • Time to live (TTL) — время жизни пакета данных в протоколе IP (предельно допустимое время его пребывания в системе). По умолчанию 128 мс.
  • Непосредственно сама таблица с именами компьютеров (узлов, хостов), их IP-адресами, а также портами по которым проводить процедуру пинга.

Порты — это не обязательный параметр и может не задаваться. Если вы не задали порт для хоста, то он будет игнорироваться программой. Обязательными же являются название хоста и его IP-адрес, поскольку имя хоста участвует в формировании результата, а IP-адрес — это адрес компьютера по которому производиться процедура пинга.

Для того чтобы в таблицу добавить новую запись с именем компьютера и его IP-адресом необходимо нажать на кнопку «Добавить хост». Появиться новая пустая строчка с ее порядковым номером.

Для того чтобы удалить запись о каком-то компьютере необходимо ввести в пустую ячейку порядковый номер этой записи в таблице и нажать на рядом находящуюся кнопку «Удалить хост под номером»

Для того чтобы все ваши изменения применить для программы необходимо нажать на клавишу «Применить». Без нее все ваши изменения не сохраняться и вам придется вводить все заново при следующем запуске.

Примечание: Перед тем как выполнять пинг всегда нажимайте на клавишу «Применить», если вы выполняли изменения в таблице с хостами.

Третье окно программы — это окно с логом. Оно доступно из главного окна по нажатию клавиши «Лог». В этом окне выводиться такая же информация, которую вы можете увидеть если будете выполнять процедуру пинга с консоли Windows.

PING-Win — выполняет процедуру пинга маленькими пакетами по 72 байта. Этот параметр стандартный и не изменяется.

В процессе своей работы PING-Win создает и изменяет 2 файла. Это конфигурационный файл config.txt, куда сохраняются все ваши настройки, чтобы они были доступны при следующем запуске программы и файл log.txt, в который пишется лог пингов.

Примечание: Хотя структура данных в файле очень проста, но если вы не хотите нарушить вашу конфигурацию программы, то не выполняйте изменений напрямую в файле config.txt. Сохранение конфигурации в файл производиться по нажатию кнопки «Применить» в окне параметров программы.

Ну вот и вся основная информация о программе PING-Win. Если в процессе эксплуатации у вас возникли замечания или пожелания, пишите. Буду стараться рассматривать все предложения.

Скачать программу PING-Win можно по следующей ссылке:

<<<СКАЧАТЬ PING-Win>>>

Оцените эту статью: 1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд6 Звезд7 Звезд8 Звезд9 Звезд10 Звезд (1 голосов, среднее: 10,00)
Загрузка...

28 Комментариев

  1. Rojer

    То что нужно в моей работе! Просто и эфективно! Респект!

  2. kaylas

    Именно то что искал спасибо. Вот только один вопрос. Почему компьютеры которые выключены пингуются в Вашей программе с откликом в 750 мс???

    1. administrator (Автор записи)

      А сколько хостов задействовано в программе, какой интервал пинга и как пингуються эти компы с консольки?

      1. kaylas

        Я тестировал на 5 компах из консоли они не пигуются

        но вот пример с одним компом которого нету.

        04.04.2011 16:04:52 Хост: 10.4.3.58 Интервал: 1000мс Число байт: 0 TTL: 0
        04.04.2011 16:04:53 Хост: 10.4.3.58 Интервал: 578мс Число байт: 0 TTL: 0
        04.04.2011 16:04:54 Хост: 10.4.3.58 Интервал: 1000мс Число байт: 0 TTL: 0
        04.04.2011 16:04:55 Хост: 10.4.3.58 Интервал: 625мс Число байт: 0 TTL: 0

        1. administrator (Автор записи)

          Ага, если честно то я подумал что узлы которые у вас пингуются нормально, в программе пингуются с большим интервалом.
          Если вы пингуете те узлы, которых заведома нет, или они не доступны, то действительно наблюдается такой момент, что как бы пинг проходит, но с большой задержкой.
          Я когда проверял работу программы, то тоже столкнулся с этим явлением, но в большинстве случаев пинг был за пределом ожидания и программа мне в 95% попыток возвращала FAIL, т.е. узел недоступен, это как бы сразу бросалось в глаза и я пренебрегал этими 5% как бы пинга. Скорее всего это связано с тем, что процедура пинга генерируется для каждого заданного вами узла в цикле с очень малым интервалом между попытками.
          На сколько я понял, у вас статистика не такая как было у меня, соответственно вы видите постоянно те узлы, которых нет в сети.
          Можете, к примеру, попробовать увеличить время между пингами. Поставте, например, 5000 мс или больше.

  3. Евгений

    Программулина просто СУПЕР! молодец! то что надо!
    а я уж то думал оббегать с блокнотиком все 150 машин чтоб создать базу IP-шников! а тут наткнулся на эту прогу!! спасибо огромное за сие творение мысли)

  4. kaylas

    Если ставлю 5000 мс то все компы которых нету пингуются с задержкой в 2000 мс.

    1. administrator (Автор записи)

      Интересно, пробовал у себя, пишет что «FAIL» для тех, кого нет в сети при интервале 5000 и 10000, а при каком интервале эти компы у вас уже не пингуются. Напрямую с консоли по этим IP получаете «Превышен интервал ожидания» ?

  5. Rod

    При старте пинга хостов пишет ошибку «Cannot allocate socket» и все…

  6. Rod

    разобрался… от админа надо… Хорошо бы функционал добавить — вкл\выкл ведение лога (мне, например, это не нужно, следить только чтобы лог не разросся), стартовать пинг каким-то рандомом — у меня 150 интернет-хостов — единовременный старт пинга это жесть для ван-канала

    1. administrator (Автор записи)

      Спасибо за пожелания.

  7. DeN

    Полезная программка! Спасибо автору! Столкнулся вот с чем: периодически появляется окно с ошибкой: non-echo type response received. Связывал с FAIL, тоесть когда пинг не получен, но эта ошибка появляется и при удачных запросах. Интересно, что это?

    1. administrator (Автор записи)

      Ну судя по самой ошибке, то буквально она говорит что получен ответ не на эхо запрос. То есть, я так понимаю пинг до нужного узла не дошел, но ему ответил по дороге до того же узла какой то роутер или фаерволл. Возможно вы пытаетесь пропинговать узел за фаерволом или за роутером в другой подсети, а сам проход ICMP трафика не разрешен между этими подсетями на маршрутизирующем устройстве.

  8. Александр

    Спасибо! Классная программа.

    Просятся сами некоторые функции:

    1. Пинговать автоматически после запуска (галка в настройках);
    2. Сворачивать в трей при запуске (галка в настройках);
    3. Контекстное меню при работе в трее (настройки, о программе, выход, это как минимум)
    4. При наведениеи мыша на иконку в трее отображаются результаты последнего пинга во всплывающем окне.

    Вообще цены не будет программке. Главное, что без всяких установок и в реестре не гадит.

    1. administrator (Автор записи)

      Спасибо за конструктивную критику, согласен с тем чего не хватает. Не уверен найдется ли время доделать, программа написана на Delphi, есть исходники.

  9. Valery

    Здравствуйте. Нужна Ваша программка, а скачать не удается. Обновите ссылочку, пожалуйста.

  10. Valery

    Уже скачал )

  11. serg

    а нельзя такуюже программку под линукс с уважением к автору.

    1. administrator (Автор записи)

      Ну, если удасться найти исходники и научиться их перекомпилировать под линукс…

  12. serg

    а нельзя такую под линукс?

    1. administrator (Автор записи)

      К сожалению нет, но под линукс, если поискать в интернете можно попробовать написать подобный скрипт…

  13. Сергей

    А не могли бы вы поделиться исходником? Очень прошу. Буду вам очень благодарен.

    1. administrator (Автор записи)

      Исходник есть, в принципе это не проблема. На этот e-mail можно отправить?

  14. Зинаида

    Программа просто класс!!!
    Респект и уважуха)))
    Можно по просить исходники, подправить)))
    Спасибо!

    1. administrator (Автор записи)

      Здравствуйте, а что конкретно Вам хотелось бы подправить?

  15. Зинаида

    Здравствуйте!!!
    1. Загрузка конфигурации из текста. При большом количестве адресов долго настраивать.
    2. Под win7 ускорить работу.
    3. Пинг с интервалом в 10 минут по паре пакетов и остановка.
    4. Добавить столбец рядом с хостом, ip адрес.
    5. Количество отправленных пакетов столбик.

    1. administrator (Автор записи)

      Ок, в таком случае прошу и Вас отправить мне результат ваших доработок, после завершения.

      1. Зинаида

        Ок

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Выполните действие! (обязательно) Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.