Check Gates

Выкладываю еще одну свою программу, вдруг пригодится кому. Программа называется

Check Gates

как нетрудно догадаться. Суть ее, опять же, исходит из названия.

История создания и назначение программы:
Тут всё очень просто — на работе у меня, в числе прочих, есть задача следить за работоспособностью всяких устройств. У некоторых из них, в силу интерьерного расположения, индикаторы состояния находятся не в поле моего зрения. Поэтому визуальный контроль сопряжен со скачками по стульям, что не есть хорошо. Простейший способ решить проблему -пинговать устройства. Ну не вручную же это делать. Надо написать утилиту, которая это будет делать за тебя и сообщать тебе же результаты.
Конечно, по сети полно подобных утилит. Но. Еще одна моя рабочая забота — безопасность сети. А кто знает, что в бесплатных утилитах в коде предусмотрено? Бэкдуры и прочие дуры допускать на работу нельзя. Но не дезасемблить же их. А своя тула будет делать только то, что надо и ничего лишнего и скрытого.
То есть, коротко, назначение программы Check Gates — пинговать заданный набор IP-адресов и доменов по заданному периоду времени, а так же оповещение о статусе пинга.

Про программу:
При первом запуске программа выглядит так:

ch000

Таймер пингования остановлен, список адресов пуст.
Первым делом надо ввести адреса, которые мы хотим пинговать. Для некоторого удобства есть кнопки «3» и «2». Это заполнения шаблона IP-адреса наиболее используемыми значениями. Нажав на кнопку «3» получим:

ch001

Осталось только ввести последнее значение адреса и нажать «Add IP». Если какое-то поле из обязательных не будет заполнено, программа «подсветит» его:

ch002

Если все поля корректно заполнены, то IP-адрес появится в списке:

ch003

Галка перед адресом обозначает выбор этого адреса для пингования. Если галку снять, то адрес не будет пинговаться.
Если необходимо сохранить список добавленных адресов, то надо нажать кнопку «Save».

ch004

Обратим внимание на опцию, находящуюся выше кнопки «Save». Это тип уведомления о проблемах с пингованием. Если галка стоит, то уведомления будут появляться всплывающей подсказкой над иконкой программы, находящейся в системном трее. Если она снята, то форма программы будет выскакивать на экран.
Кнопка «Ping» отвечает за разовое пингование тех адресов в списке, которые выбраны.

ch005

Результаты этого пингования сразу отображаются (и записываются) в логе.
Как уже говорилось, можно пинговать и сайты, например:

ch006

Для этого есть поле в котором вводится доменное имя и кнопка добавления в список «Add Host». После добавления сайта еще раз сделаем ручное пингование:

ch007

Запуск автоматического пингования начинается установки таймера — выставляется временной период, по истечении которого будет осуществлено пингование списка (опять-таки, выбранных в нем адресов):

ch008

После чего нажатием кнопки «START» запускается таймер:

ch009

Легко видеть, что кнопка «START» превратилась в кнопку «STOP». Их смысл, думаю понятен.
Статусы пинга я переводить не стал, ибо лень. Итак понятно, что «Success» — это хорошо 🙂 Если же что-то не хорошо, то статус будет, понятно, другим:

ch010

Обратим внимание на столбец под названием «Error event first time». Сюда будет записано время, когда первый раз был сбой пинга по данному адресу. Чтобы понимать (придя с утра на работу, например) сколько времени уже устройство «лежит», если пинг так и не восстановился.
После того, как информация станет не нужна, ее можно удалить нажав кнопку «Clear»:

ch011

Если какой-то адрес надо удалить из списка пингования совсем, то можно воспользоваться кнопкой «Delete», которая станет видимой после выделения адреса в списке:

ch012

Разумеется, будет уточняющий вопрос:

ch013

Напоминаю, для сохранения изменения списка после удаления или добавления адреса необходимо нажимать кнопку «Save». Таким образом можно добавлять временные адреса, которые «самоудалятся» при перезапуске (любым способом) программы.
Кнопка «Hide» — скрыть форму программы с экрана.

Как видно из скриншотов, общий статус пингования и статусы отдельных адресов представлены значками. Их расцветка говорит сама за себя. На всякий случай я заложил еще один цвет флажков — желтый. Он возникает в случае времени пинга более 500 мс. Что для локальной сети, например, повод проверить провода и разъемы 🙂

Про безопасность сети:
Как я уже говорил выше, я написал эту программу, так как не доверяю бесплатным программам, выложенным в интернете. Чем же тогда я отличаюсь от таких людей? Ответ простой — я выкладываю исходник программы. Для чего:
а) каждый может посмотреть код прежде чем скомпилирует эту программу для использования;
б) начинающий программист может использовать исходник как пример программы пингования и прочих элементов;
в) никаких копирайтов — называйте как хотите, модернизируйте как хотите , используйте в своих проектах и т.д.
А можете скачать сразу готовую программу, если Вы не такой параноик, как я на работе.

Единственно, поскольку я не программист с точки зрения профессии, то кодю я на VB 🙂

Файлы и системные требования:
Что-то мне подсказывает, что на виндусах начиная с висты, при всех установленных апдейтах программа запустится без проблем. Она, в сущности, примитивная, сделанная из стандартных элементов МС. Тем не менее, скажу, что:
1) проект создан на VS 2010;
2) компилировалась на опции «.Net Framework 4 Client Profile». Впрочем, это можно изменить в исходнике на любой доступный фрэймворк.

Готовый Check Gates скачать.
Исходник Check Gates скачать.

Спасибо за внимание! 🙂

Добавить комментарий

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