воскресенье, января 08, 2017

SNMP Trap на Android

Здравствуйте дорогие друзья! Сегодня в 0:54 утра, ко мне прилетел крик о помощи, от одной милой читательницы. Просьба звучала следующим образом: "Привет! Егор, я к тебе за помощью. У тебя на сайте читала статью о SNMP. Пытаюсь проделать тоже самое, но только в качестве агента выступает ПК, а смартфон в роли менеджера. В Google play скачала приложение SNMP Managment service, перехожу в SNMP Manager - trap receive - started trap receive, но никакие трапы не приходят. Если можешь - помоги, пожалуйста. Быть может подскажешь какую-нибудь другую ситуацию, которую необходимо создать, чтобы была отправка трапа на смартфон... + если не сложно, скинь установочник менеджера, по которому ты это проделывал на ПК. Заранее спасибо!". Ну что же попробуем помочь! 

С чего начнем. Берем в руки смартфон, в моем случае это Samsung J1(2016) c Android 5.1.1. Заходим в Play Маркет. Скачиваем  SNMP Managment service. Запускаем его. Переходим в раздел Interface.  В данном разделе видим все сетевые интерфейсы телефона, выбираем тот, который планируем использовать для обмена сообщениями SNMP. В моем случае - это беспроводной Wi-Fi интерфейс с IP адресом 192.168.1.83. Запоминаем этот IP адрес.
IP адрес сетевого интерфейса смартфона
IP адрес сетевого интерфейса смартфона
Далее, как ты и говорила, переходим в раздел SNMP Manager - Trap receive и запускаем прослушивание трапов, путем нажатия на кнопку Started trap receive. Обращаем внимание, что приложение по умолчанию слушает трапы на порту с номером 9000. На этом настройка приложения SNMP Managment service закончена.
Обращаем внимание на прослушиваемый порт
Обращаем внимание на прослушиваемый порт
Далее необходимо отправить трап с агента. Так как ты сказала, что тебе необходимо отправить trap c ПК, то будем использовать, уже полюбившуюся нам утилиту trapgen. Скачиваем ее с официального сайта. Закидываем в корень одного из дисков, для удобства работы (в моем случае в корень диска C). Далее переходим в консоль и выполняем следующие команды:

cd c:\
trapgen.exe -c public  -d 192.168.1.83:9000

Первой командой мы переходим в корень диска C. Второй командой запускаем из корня диска утилиту trapgen с параметрами. Параметр -с отвечает за имя community. По умолчанию приложение SNMP Managment service, для отлова трапов использует стандартное community с именем public. Где поменять имя используемого community, в настройках SNMP Managment service, я так и не нашел. Параметр -d отвечает за ip адрес на который необходимо отправить trap. Этот параметр имеет формат Ip адерс:порт.

После того как ты выполнишь данную команду на компьютере, на смартфоне в программе SNMP Managment service, ты увидишь что то вроде этого:
Получен первый SNMP Trap
Получен первый SNMP Trap
Ну или этого, если более детально рассмотреть этот trap:
Тот же трап но более детально
Тот же трап но более детально
Тут мы можем увидеть OID отправителя - 1.3.6.1.4.1.2854 (Вы спросите почему именно этот OID, мы же ничего такого не указывали при отправке трапа? Все просто, 1.3.6.1.4.1.2854  - является OIDом отправителя, заданным по умолчанию в утилите trapgen).







Ну а если хочется отправить чего то поинтереснее, то можно в trapgen задать команду вида:

trapgen.exe -c public -d 192.168.1.83:9000 -o 1.3.6.1.4.1.1824 -v 1.3.6.1.4.1.1824.1.0.0.1 STRING " This is my first trap "

Тогда в программе SNMP Managment service мы увидим следующее:
Получен наш более красивый SNMP Trap
И детальное содержание данного трапа
И детальное содержание данного трапа
Как видим, номер OID отправителя изменился на тот, который задали мы. Также, если попробовать приобразовать, 16-ричную галиматью, которая приведена в тексте сообщения в формат строки, то мы обнаружим, что в ней содержится сообщение - This is my first trap.

Надеюсь, что ответил на твой вопрос! Удачи!

3 коммент.:

У меня всё получилось!!! Счастью нет предела. Жалею, что не спросила тебя раньше об этом. Всё очень понятно описано. Сегодня нужно сдать работу - ты мне НЕРЕАЛЬНО помог! Сказать, что я счастлива - это ничего не сказать. СПАСИБО!!!

Для меня это мое новогоднее чудо)))))))))))))))))))))

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