Простой монитор сети

ОБНОВЛЕНО (см. ниже)

Постоянно сталкиваюсь в разных областях деятельности с более-менее одной и той же проблемой: нужно какую-то тривиальную задачу решить быстро и просто, но погуглив и скачав несколько готовых решений я натыкаюсь на то, что инструментарий для этого в интернете хоть и есть, его много, но он настолько навороченный, что про «быстро и просто» можно сразу забыть. На одну только настройку такой программы уйдет больше времени, чем на решение моей задачи абсолютно вручную. Вот, например, мне для рабочей задачи понадобилось иметь на экране статус присутствия в сети сорока компьютеров (то есть айпи-адресов и ДНС-имён), мне для этого вполне достаточно их просто пинговать время от времени. Задача очень простая, но в интенете для её решения чуть ли не Zabbix предлагают подымать. А мне не надо мерить температуру процессора на каждой из этих машин, чтобы аж до Заббикса дело доводить, мне нужен банальный пакетный пинг, чтобы его результат в минимально возможном окне висел сбоку экрана и не мешал, причем мне нужно это всего на пару дней, а потом всё равно всё сносить. Довольно быстро я в очередной раз понял, что проще и быстрее написать себе инструмент самому, чем настраивать чей-то «швейцарский нож», который, конечно, в сто раз круче моего, но мне от него нужно ровно «одно лезвие».

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

На этом скриншоте она с конфигом, который я набросал от балды, в моем рабочем конфиге строк, конечно, в десять раз больше. Думаю, разберетесь. Ничего особо интересного там точно нет, но в этом и была цель.

P.S. если прога ругается, можно попробовать положить в её папку вот эту библиотеку или запустить от имени Администратора.

UPD: Добавил сворачивание в трей в версии 1.0.1, ссылку поменял, можно перескачать.

UPD2: В общем, когда количество хостов, за которыми мне по рабочей задаче требуется наблюдать, достигло сотни, я понял, что мне приходится запускать прогу, затем подставлять другой конфиг и запускать еще одну копию проги. В результате я кое-что переделал: убрал кнопку «выход» для экономии места, поместив эту функцию в появившееся теперь меню программы, и добавил возможность подгружать другой конфиг на лету, а за одно — подгружать конфиг при загрузке программы через командную строку. То есть можно создать несколько конфигов, в которых будут разные хосты, а так же создать к программе несколько ярлыков, запускающих netmon2.exe с параметром, например, config2.cfg, затем с config3.cfg и так далее — и несколько инстансов программы будет показывать разные хосты соответственно содержанию этих конфигов. Я понимаю, что задача становится всё более специфичной и всё меньше тех, кому еще утилита может быть полезна, но прежний функционал никто не отменял. Всё перечисленное теперь можно так же делать через правый клик мышкой по значку программы в трее.

52 комментария

    • Bocha Март 17, 2017 12:31 пп  Ответить

      Хорош — да, прост — далеко нет, супермного лишнего для моей задачи.

      • Никита Чуркин Март 17, 2017 12:35 пп  Ответить

        Ну его можно перевести в службу. И далее просто прописать нужных адреса , потом пустить пинг.

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

        Но за прогу спасибос полезная вещица.

  1. Михаил Март 17, 2017 12:38 пп  Ответить

    Абнаружена Ачипятка:
    «#Всё довольно нагдяно»

  2. Евгений Проскурин Март 17, 2017 12:38 пп  Ответить

    Может пригодится, только я библиотеку msvbvm60.dll укомплектовал версии 6.0.98.15. Я так понял она может потребоваться если UAC будет включен?

  3. Zenitur Март 17, 2017 12:53 пп  Ответить

    Есть специалисты? Есть комп, на нём Wi-Fi, запущен hostapd. Всё — комп теперь роутер.

    1. Интересно смотреть кто сейчас подключен. На настоящем роутере так можно
    2. Шейпинг трафика. Допустим, весь канал это 50 мегабит, и мне не хочется чтобы кто-нибудь всё «отожрал»
    3. uPNP. На настоящем роутере «из коробки», а тут?
    4. А ещё мой телефон обнаруживает hostapd и говорит «Защита WPA2» и настоящий роутер «Защита WPA2, WPS». Что за WPS такой? Я тоже хочу!

    • Krey Март 21, 2017 10:34 пп  Ответить

      В спортлото пиши.

      • Zenitur Март 22, 2017 10:51 пп  Ответить

        Странно ты ЛОР и прочие айти-форумы назвал!

    • Zenitur Март 30, 2017 2:11 пп  Ответить

      По пункту 3 — сделал с помощью miniupnpc. По пункту 4 — это авторизация путём нажатия кнопки вместо ввода пароля. Мне не нужно.
      Остаются актуальными пункты 1 и 2. Хочу ограничить скорость интернета — одним мегабитом для каждого клиента.

  4. Павел Март 17, 2017 1:14 пп  Ответить

    Дмитрий, в чём и на чём писали (IDE, язык), если не секрет? Просто интересно.

    • Bocha Март 17, 2017 1:41 пп  Ответить

      это vb6 и его родной ide, там в свойствах бинарника, да и по приложенной в посте библиотеке это понятно. Интересно, справедлив был бы текст этого поста, если бы писать такую тулзу на Крестах? Мне кажется, что нет.

      • Гость Март 18, 2017 2:28 дп  Ответить

        Дмитрий отчасти этот текст может быть справедлив для PowerShell, там так же можно получить окошки через .NETовский WinForms/WPF. Конечно если этот скриптовый язык и данный стек технологий знаком тому перед кем стоит такая задача. Если знаком с VB6 можно попробовать реализовать такое же через VB.NET/C#.

        По самому мониторингу интересует такой вопрос, а в сети есть хосты с Windows 8.1/10? Если есть, то насколько знаю политика безопасности по умолчанию (правила в брандмаундер) блочат пинг. Это поведение изменено? Или все машины в сети помечены как доверительные хосты (выбрана сеть нужного типа)?

        Спасибо.

  5. Qraizer Март 17, 2017 1:40 пп  Ответить

    Ну вот, а говорил, что не программист )). Вообще, подобные вещи легко пишутся в оболочке. Под виндой тут WSH самое то, фактически тот же VB, но скриптовый. Какая-нибудь *nix обязательно имеет bash в той или иной ипостаси. Но есть одно но: это пока не нужен GUI. Мне неизвестны красивые способы подружить скрипты с гуём.
    Zenitur, это Wi-Fi Protected Setup. Погугли, если интересно.
    Павел, VB6 очевидно же.

    • Гость Март 18, 2017 2:32 дп  Ответить

      Qraizer Microsoft в качестве скриптового языка для Windows продвигает PowerShell, а у последнего есть доступ к .NET, на основе которого он и работает (с версии 2.0 так точно), в котором GUI можно рисовать или через WinForms или WPF.

  6. Doomguy Март 17, 2017 1:59 пп  Ответить

    Неплохой монитор. Простой донельзя

  7. Doomguy Март 17, 2017 2:05 пп  Ответить

    А вот чего ему действительно не хватает, так это сворачивания в трей

    • Bocha Март 17, 2017 2:07 пп  Ответить

      Я скорее всего прикручу эту функцию, потому что она, мне, видимо, понадобится.

  8. Doomguy Март 17, 2017 3:05 пп  Ответить

    Такой уже и в автозагрузку не стыдно добавить))

  9. Евгений Март 17, 2017 3:22 пп  Ответить

    Тю, так взяли бы NetMap, для такой задачи. Очень простая в настройке пинговалка кучи хостов.

    • Bocha Март 17, 2017 9:15 пп  Ответить

      Он хорош, пока эта «куча хостов» в пределах десятка-двух. Когда их 50 — он уже слишком много пространства на мониторе начинает занимать. Да и моя поделка тоже не справилась, пришлось дописывать фичи.

  10. Макс Март 17, 2017 10:28 пп  Ответить

    Чувааааааааак!!!!! Это круто, очень нужно. Мне точно понадобится. Спасибо, Дмитрий.

  11. Василий Пупкин Март 17, 2017 11:16 пп  Ответить

    У меня машин 18. И я написал простой баш скрипт который ежескундно нмапом смотри все сети и потом грепом их этого вывода я проверяю нужные мне айпишники. В авторане запускается консолька со скрипотм на одной из машин и я всё вижу. Вы ещё не пользуетесь башем? За вами выехали!1

  12. Тойво Март 18, 2017 3:44 дп  Ответить

    А исходный код под лицензией BSD? )))

    Ладно, попробую сам написать.
    Вот скрипт понимающий формат конфига netmon:

    https://paste.kde.org/parsvv3tt

  13. ddddd Март 18, 2017 3:19 пп  Ответить

    В часе 3600 секунд, а не 36000

  14. just_thor Март 18, 2017 5:27 пп  Ответить

    Молодец, Дим, думаю пора уже добавить её меню:
    «2 МОИ ИГРЫ И СОФТ» =)

  15. ddddd Март 18, 2017 11:00 пп  Ответить

    Можно добавить всплывающую подсказку «Узел * недоступен», когда программа свёрнута в трей и с узлом теряется связь

  16. sEr... Март 19, 2017 12:17 дп  Ответить

    А исходников, что нет?

  17. Сергей Токаренко Март 19, 2017 8:03 пп  Ответить

    А можно глупый вопрос — зачем их пинговать ? Какой в этом смысл?

    Если для целей проактивного обнаружения проблемы, и переключатся на резервный канал, то лучше уже настроить ip sla на какой-то циске а не руками это делать

  18. Илья Ганин Март 20, 2017 6:41 дп  Ответить

    Еще один баг. В Win 10 ее стопит SmartScreen, и зависает рабочий стол. При отключении SmartScreen в Диспетчере — все робает как надо.

    • Илья Ганин Март 20, 2017 6:44 дп  Ответить

      Если что — версия проги 1.0.7

  19. Janealter Март 20, 2017 3:30 пп  Ответить

    comdlg32.ocx не зарегистрирован в системе, из-за этого программа не запускается, Windows 10

    • Гость Март 21, 2017 11:40 пп  Ответить

      Да, Janealter, такая проблема есть при запуске программы в Windows 10.
      Одно из решений — скачать установщик Microsoft Visual Basic 6.0 Common Controls https://www.microsoft.com/en-us/download/details.aspx?id=10019 и распаковать (через 7z например), а не установить, нужный от туда файлов и зарегистрировать его через regsvr32 .

      • Евгений Проскурин Март 23, 2017 4:02 пп  Ответить

        Позвольте поделиться своим решением проблемы. Я использую RuntimePack Lite. Там comdlg32.ocx версии 6.1.98.41, а в предложенном Вами вариантом 6.0.81.6. Да и не нужно вручную закидывать в SysWOW64 и регистрировать.

        • Janealter Март 27, 2017 3:16 дп  Ответить

          Спасибо за решение!

  20. Макс Март 20, 2017 5:44 пп  Ответить

    15 минут убил чтобы написать этот комментарий.
    Я наверное тут один такой кто рискнул с Пентиума 150 мгц зайти на сайт Димы. К слову, это 98 винда и браузер SeaMonkey версии 1.1.18.
    Вообще не верил в успех этого предприятия:)
    Дима, привет тебе!
    И, да , твоя аватарка в 256 цветах на S3Trio 1Mb, выглядит экзотически, ты на ней лет этак 30 прибавил. 🙂

    • Doomguy Март 21, 2017 9:03 пп  Ответить

      Я на третьем пне и win98SE Сюда заходил=))

      • Макс Март 22, 2017 12:01 дп  Ответить

        Doomguy, мы одной крови )))
        А теперь, раздели те ощущения на 3 и поймешь, какого это было у меня 🙂
        Почему на 3? Самый медленный P3 имел частоту в 450 мгц и 9.5 мил. транзисторов, это ровно в три раза больше.

  21. Артём Друзь Март 30, 2017 6:35 пп  Ответить

    На Ubuntu 16.04 под Wine запускается, но пинги якобы не проходят.
    Возможно я совсем самонадеянный, но буду пытаться написать аналог на Qt.

    • Bocha Май 23, 2017 1:17 пп  Ответить

      Да, я почитываю Уголок, видел ваш пост, прогу еще не пробовал, но поставил бы вам лайк, здорово.

Leave a comment

Войти с помощью: 

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