Snmptraps & Informs использование с примерами

snmptrapd – стандартная Linux утилита для сохранения трапов. Она используется даже известными NMS. Установка описана тут.

snmptrap – утилита для отправки трапов.

snmpinform или snmptrap -Ci – отправляем Informrequest. Между трапами и информами нет разницы кроме типа данных (trap/informrequest) и того, что inform требует подтверждения от NMS (в виде копии сообщения).
Примеры отправки snmptrap:
snmptrap -v 1 -c public 192.168.1.222 1.2.3.4.5.6 192.192.192.192 6 99 55 1.11.12.13.14.15 s teststring
snmptrap -v 2c -c public 192.168.1.222 '1398650' .1.3.6.1.6.3.1.1.5.4 ifIndex i 1046 ifAdminStatus i 1 ifOperStatus i 1
snmptrap -v 2c -c public 192.168.1.222 .1.3.6.1.6.3.1.1.5.3 .1.3.6.1.6.3.1.1.5.3 sysUpTime timestamp 1398650 ifIndex i 1046 ifAdminStatus i 1 ifOperStatus i 1
Примеры приема informrequest (3 retries с интервалом 15 секунд):
[root@localhost ~]# tcpdump host 192.168.1.222
12:10:50.228838 IP 192.168.1.222.60957 > 192.168.1.22.snmptrap: Inform(102) system.sysUpTime.0=652283 S:1.1.4.1.0=S:1.1.5.3 interfaces.ifTable.ifEntry.ifIndex=1046 interfaces.ifTable.ifEntry.ifAdminStatus=2 interfaces.ifTable.ifEntry.ifOperStatus=2
12:11:05.221914 IP 192.168.1.222.60957 > 192.168.1.22.snmptrap: Inform(102) system.sysUpTime.0=652283 S:1.1.4.1.0=S:1.1.5.3 interfaces.ifTable.ifEntry.ifIndex=1046 interfaces.ifTable.ifEntry.ifAdminStatus=2 interfaces.ifTable.ifEntry.ifOperStatus=2
12:11:20.239959 IP 192.168.1.222.60957 > 192.168.1.22.snmptrap: Inform(102) system.sysUpTime.0=652283 S:1.1.4.1.0=S:1.1.5.3 interfaces.ifTable.ifEntry.ifIndex=1046 interfaces.ifTable.ifEntry.ifAdminStatus=2 interfaces.ifTable.ifEntry.ifOperStatus=2
12:11:35.269971 IP 192.168.1.222.60957 > 192.168.1.22.snmptrap: Inform(102) system.sysUpTime.0=652283 S:1.1.4.1.0=S:1.1.5.3 interfaces.ifTable.ifEntry.ifIndex=1046 interfaces.ifTable.ifEntry.ifAdminStatus=2 interfaces.ifTable.ifEntry.ifOperStatus=2

Из Wireshark (другое устройство):
6123 153.413740000 192.168.1.222 192.168.1.2 SNMP 161 informRequest 1.3.6.1.2.1.1.3.0 1.3.6.1.6.3.1.1.4.1.0 1.3.6.1.2.1.2.2.1.1.28 1.3.6.1.2.1.2.2.1.7.28 1.3.6.1.2.1.2.2.1.8.28 
6156 156.399012000 192.168.1.222 192.168.1.2 SNMP 161 informRequest 1.3.6.1.2.1.1.3.0 1.3.6.1.6.3.1.1.4.1.0 1.3.6.1.2.1.2.2.1.1.28 1.3.6.1.2.1.2.2.1.7.28 1.3.6.1.2.1.2.2.1.8.28 
6165 159.398664000 192.168.1.222 192.168.1.2 SNMP 161 informRequest 1.3.6.1.2.1.1.3.0 1.3.6.1.6.3.1.1.4.1.0 1.3.6.1.2.1.2.2.1.1.28 1.3.6.1.2.1.2.2.1.7.28 1.3.6.1.2.1.2.2.1.8.28 
6212 162.398451000 192.168.1.222 192.168.1.2 SNMP 161 informRequest 1.3.6.1.2.1.1.3.0 1.3.6.1.6.3.1.1.4.1.0 1.3.6.1.2.1.2.2.1.1.28 1.3.6.1.2.1.2.2.1.7.28 1.3.6.1.2.1.2.2.1.8.28
Из не очевидного:
system.sysUpTime.0=652283 – sysuptime устройства в формате timeticks. Пример его отправки в двух разных форматах (до OID и отдельно) есть выше в отправке трапов (пример 2-3).
S:1.1.4.1.0=S:1.1.5.3 –  OID из полученного trap/inform. Пример отправки так же выше.

Leave a Reply