Snmp trap receiver windows

Snmp trap receiver windows

В этой статье будет показан пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing.

Строить систему обработки SNMP TRAP сообщений будем на ОС Windows XP.

Установка утилиты Trap Receiver

С сайта http://www.trapreceiver.com/ загружаем крайнюю версию утилиты. На данный момент – это 7.60. Распаковываем архив и запускаем setup.exe. Утилита будет установлена в каталог c:\Program Files\TRAP Receiver

Настройка утилиты Trap Receiver

Trap Receiver состоит из двух основных компонентов: Пользовательского интерфейса и сервиса, обрабатывающего SNMP TRAP сообщения. Для начала нужно проделать отверстие в Windows Firewall через которое snmp TRAP пакеты будут попадать в сервис Trap Receiver . Для этого открываем Start -> Control Panel -> Windows Firewall. В появившемся окне на вкладке Exceptions нажимаем на кнопку Add Program и добавляем c:\Program Files\TRAP Receiver\trThread.exe.

Следующий шаг – добавление MIB файлов вашего устройства NetPing в программу Trap Receiver . Этот шаг выполнять не обязательно, но желательно. С помощью MIB файлов от вашего устройства TRAP Receiver сможет конвертировать числовые OID в текстовые описания. MIB файлы доступны для скачивания на странице устройства на сайте производителя — http://www.netping.ru . В данном примере используется устройство UniPing Server Solution, в программу был импортирован MIB файл DKSF_50.11.11_MB.mib.

Для загрузки MIB файлов откройте пользовательский интерфейс Trap Receiver ( Trap Receiver GUI), используя ярлык на рабочем столе или в меню Start. В появившемся окне нажмите на кнопку Configure. В окне настроек переходим на вкладку MIBs, устанавливаем на этой вкладке галку Translate OIDs, нажимаем Load MIB и указываем на наш MIB файл. Если операция прошла успешно, утилита Trap Receiver покажет сообщение о том, что она импортировала файл.

Теперь всё готово к работе. Настраиваем устройство NetPing на отправку SNMP TRAP сообщений на адрес сервера с установленным TRAP Receiver. Для этого указываем IP адрес нашего сервера в поле «Адрес для посылки TRAP сообщений» на странице Настройки. Включаем генерацию тестовых трапов, для этих целей хорошо подходят температурные датчики. Переходим на страницу Термодатчики, берём канал «Датчик 1» (даже если к нему не подключен датчик), заполняем поле Памятка, в поле «Верхн. граница нормы, °C» указываем любое число, например, 61. В поле «Нижн. граница нормы, °C» указываем любое число, превышающее показания датчика, например 11 (если датчик не подключен его показания — 0). В поле «Периодическая посылка» выставляем значение 60. Нажимаем на кнопку «Применить изменения». Теперь NetPing присылает нам один раз в минуту SNMP TRAP сообщение.

Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddavee11d4857d578ace4fcf8267868f26bd.png» data-location=»NetPing devices, web publications > Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddavee11d4857d578ace4fcf8267868f26bd.png» data-image-height=»432″ data-image-width=»900″>

Рисунок 1. Пользовательский интерфейс Trap Receiver

Обработка SNMP TRAP сообщений. Теория

Теперь, когда мы умеем принимать TRAP сообщения, научимся их обрабатывать, а именно различать SNMP TRAP сообщения по типам и выполнять различные действия. Утилита TRAP Receiver позволяет различать SNMP TRAP по следующим полям:

  • SNMP Community;
  • Generic TRAP Type;
  • Specific TRAP Type;
  • Адрес отправителя SNMP TRAP;
  • OID;
  • OID переменной (VarBind);
  • Значение переменной (VarBind).
Читайте также:  Windows просит цифровую подпись

Устройства NetPing могут посылать различные SNMP TRAP . Для определения их типа удобно использовать поле OID. Вот список OID основных SNMP TRAP сообщений устройств NetPing:

  • 1.3.6.1.4.1.25728.8300.2 – TRAP сообщения от «датчика тока»;
  • 1.3.6.1.4.1.25728.8400.9 – TRAP сообщения от датчика влажности;
  • 1.3.6.1.4.1.25728.8800.2 – TRAP сообщения от температурных датчиков;
  • 1.3.6.1.4.1.25728.8900.2 – TRAP сообщения от IO линий.

TRAP Receiver позволяет выполнять следующие действия при получении TRAP сообщений:

  • Послать TRAP сообщение;
  • Запустить приложение с аргументами командной строки;
  • Послать e-mail;
  • Отфильтровать TRAP;
  • Подать звуковой сигнал (проиграть wav файл).

Обработка SNMP TRAP сообщений. Практика

Получив теоретические представления о возможностях утилиты TRAP Receiver, переходим к практической части – примерам применения.

Пример фильтрации TRAP сообщений

Как видно на рисунке 1, утилита Trap Receiver получает TRAP сообщения от температурных датчиков с двух устройств: 10.60.0.5 и 10.60.0.7. Необходимо отфильтровать сообщения, приходящие от устройства 10.60.0.7, при этом другие типы TRAP с этого устройства должны приниматься.

Выполняем следующие действия для получения необходимого результата. Открываем Trap Receiver GUI, нажимаем Configure. На вкладке Actions нажимаем кнопку Add и в появившемся окне заполняем поля в соответствии с рисунком 2.

Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddavc55a3355e78efebfbb00c95238c0e06d.png» data-location=»NetPing devices, web publications > Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddavc55a3355e78efebfbb00c95238c0e06d.png» data-image-height=»501″ data-image-width=»585″>

Рисунок 2. Настройки фильтрации TRAP сообщений по адресу

Нажимаем на кнопку Add, и затем на кнопку Apply конфигурационного окна. Мы создали правило, которое отбрасывает все SNMP TRAP сообщения от устройства 10.60.0.7, в соответствии с условием (Watch) – Sender IP. Следующим шагом уточним это правило, чтобы оно действовало только на TRAP сообщения от температурных датчиков. Для этого в конфигурационном окне на вкладке Actions нажимаем на кнопку Add ещё раз и заполняем поля в соответствии с рисунком 3.

Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddav27b0ae5bfbf67b4d0a061b27ef66335c.png» data-location=»NetPing devices, web publications > Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddav27b0ae5bfbf67b4d0a061b27ef66335c.png» data-image-height=»493″ data-image-width=»584″>

Рисунок 3. Настройки фильтрации TRAP сообщений по OID

Обратите внимание на установленную галку «No Actions – Part of AND Group». Это означает, что действие будет выполнено только тогда, когда верны условия всех правил с одинаковыми именами. В нашем случае оба правила имеют имя filter_termo. Одно из правил должно иметь действие, у остальных должна стоять галка » No Actions – Part of AND Group «. Законченная конфигурация этого примера показана на рисунке 4.

Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddav3d66168e92d6a4fe52954777b297e812.png» data-location=»NetPing devices, web publications > Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddav3d66168e92d6a4fe52954777b297e812.png» data-image-height=»692″ data-image-width=»614″>

Рисунок 4. Настройки фильтрации TRAP сообщений

Пример отправки e-mail

Рассмотрим пример отправки email уведомления при получении TRAP сообщения от температурного датчика. После применения фильтра из предыдущего примера Trap Receiver получает температурные TRAP сообщения только от 10.60.0.5. Будем отправлять письма при получении их.

Читайте также:  Драйвер lenovo g770 windows 10

Выполняем следующие действия для получения необходимого результата. Открываем Trap Receiver GUI, нажимаем Configure. На вкладке Email нажимаем кнопку Add и в появившемся окне заполняем поля в соответствии с рисунком 5. В данном примере используется сервис gmail для отправки электронной почты, вам потребуется аккаунт gmail.

Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddavb54a31c851bd9549aa7b177b083c35c2.png» data-location=»NetPing devices, web publications > Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddavb54a31c851bd9549aa7b177b083c35c2.png» data-image-height=»604″ data-image-width=»500″>

Рисунок 5. Настройка почтового сервера и параметров сообщения

Поле Subject заполнено следующим образом:

Получен termo TRAP от %SENDERIP% %VBDATA1% (%VBDATA6%) %VBDATA2%.

Поле Message заполнено следующим образом:

Получен termo TRAP от %SENDERIP% датчик %VBDATA1% (%VBDATA6%) температура %VBDATA2%.

Между двумя символами % указываются специальные переменные. TRAP Receiver заменит их данными, полученными из TRAP сообщения, перед отправкой письма. Полный список переменных и их описание можно найти на странице документации Trap Receiver .

В результате при получении температурного TRAP нам придёт e-mail со следующим заголовком и телом:

Subject: Получен termo TRAP от 10.60.0.5 1 (term1) 40
Message: Получен termo TRAP от 10.60.0.5 датчик 1 (term1) температура 40

Для завершения настройки добавим действие на вкладке Actions конфигурационного окна. Действие настраивается в соответствии с рисунком 6.

Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddavd66ba915099723781dc1f4d8a2d6a7ce.png» data-location=»NetPing devices, web publications > Пример использования утилиты Trap Receiver для получения и обработки SNMP TRAP сообщений от устройств NetPing > worddavd66ba915099723781dc1f4d8a2d6a7ce.png» data-image-height=»497″ data-image-width=»578″>

Рисунок 6. Действие для отправки email

Проверьте свой почтовый ящик – там уже должны быть письма.

Пример проигрывания звукового файла

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

Ловим snmp трапы mac-notification с устройств Cisco

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

Итак, mac notification — snmp уведомление, которое будет передавать серверу информацию о mac-адресе устройства на порту коммутатора при включении или отключении этого устройства. Весьма удобная штука, расширяющая возможности мониторинга сети через snmp.

Приступим к настройке

Настройка коммутатора не займет много времени:

Проверить правильность настройки можно в режиме дебага:

Если все настроено верно, то мы увидим что-то вроде этого:

Рассмотрим подробнее объект cmnHistMacChangedMsg, который передает шестнадцатеричную строку из 11 октетов (последние два нуля — всегда конец записи). Первый октет — состояние(01 — устройство добавлено,02 — устройство отключено), следующие 2 октета — номер vlan’а, 6 октетов занимает мак-адрес(в нашем случае он хххх.хххх.хххх), и 2 октета (00 14) — номер порта.
Хочу обратить внимание на следующее: cогласно документации, объект cmnHistMacChangedMsg может передавать несколько mac-адресов в одном трапе. В этом случае записи идут подряд, без какого либо разделения, в конец сообщения так же будет дописываться пара нулей.

Настройка сервера состоит из нескольких этапов:

Читайте также:  Касперский для windows servers 2003

Перед настройкой настоятельно рекомендую проверить, доходят ли udp пакеты до сервера командой tcpdump udp|grep IP_адрес_свича.

    Установка snmp сервера и стандартных mib:

Установка нужных MIB-файлов
По умолчанию, snmp сервер не знает о объекте mac-notification в Cisco. Чтобы сервер смог распознать подобный трап, необходимо скачать .mib файлы с ftp и положить их в /var/lib/mibs.
Вы должны скачать следующие файлы:

В случае успешной установки новых mib, на команду сервер ответит

Настройка файлов конфигурации

#
# SNMPTT v1.4 Configuration File
#
# Linux / Unix
#

[General]
# Name of this system for $H variable. If blank, system name will be the computer’s
# hostname via Sys::Hostname.
snmptt_system_name =

# Set to either ‘standalone’ or ‘daemon’
# standalone: snmptt called from snmptrapd.conf
# daemon: snmptrapd.conf calls snmptthandler
# Ignored by Windows. See documentation
mode = standalone

# Set to 1 to allow multiple trap definitions to be executed for the same trap.
# Set to 0 to have it stop after the first match.
# This option should normally be set to 1. See the section ‘SNMPTT.CONF Configuration
# file Notes’ in the SNMPTT documentation for more information.
# Note: Wildcard matches are only matched if there are NO exact matches. This takes
# into consideration the NODES list. Therefore, if there is a matching trap, but
# the NODES list prevents it from being considered a match, the wildcard entry will
# only be used if there are no other exact matches.
multiple_event = 1

# SNMPTRAPD passes the IP address of device sending the trap, and the IP address of the
# actual SNMP agent. These addresses could differ if the trap was sent on behalf of another
# device (relay, proxy etc).
# If DNS is enabled, the agent IP address is converted to a host name using a DNS lookup
# (which includes the local hosts file, depending on how the OS is configured). This name
# will be used for: NODES entry matches, hostname field in logged traps (file / database),
# and the $A variable. Host names on the NODES line will be resolved and the IP address
# will then be used for comparing.
# Set to 0 to disable DNS resolution
# Set to 1 to enable DNS resolution
dns_enable = 0

# Set to 0 to enable the use of FQDN (Fully Qualified Domain Names). If a host name is
# passed to SNMPTT that contains a domain name, it will not be altered in any way by
# SNMPTT. This also affects resolve_value_ip_addresses.
# Set to 1 to have SNMPTT strip the domain name from the host name passed to it. For
# example, server01.domain.com would be changed to server01
# Set to 2 to have SNMPTT strip the domain name from the host name passed to it
# based on the list of domains in strip_domain_list
strip_domain = 0

# List of domain names that should be stripped when strip_domain is set to 2.
# List can contain one or more domains. For example, if the FQDN of a host is
# server01.city.domain.com and the list contains domain.com, the ‘host’ will be
# set as server01.city.
strip_domain_list = /opt/script.php

Данная статья — всего лишь конкретный пример широкого применения snmp трапов. На Cisco ftp можно найти еще больше интересных функций.

Надеюсь, моя публикация помогла вам сэкономить время.

Оцените статью