Настройте ловушки SNMP для редактирования адреса агента отправителя

Я пытаюсь отправить ловушку SNMP, указав IP-адрес агента отправителя. Я тестировал команду net-snmp snmptrap и ее параметры, но, похоже, я не могу изменить поле адреса отправителя самой ловушки. Я ищу что-то вроде:

snmptrap -v 2c -c public destination_ip *SOURCE_AGENT_ADDRESS* MIB OID VALUE

Если кто-нибудь знает, есть ли какой-нибудь инструмент, который может это сделать или может предложить библиотеку Python, это было бы здорово.


person ALEJANDRO BARBULO CARMONA    schedule 06.03.2018    source источник


Ответы (1)


Если вы используете SNMPv1 с инструментом snmptrap, он должен позволить вам явно указать адрес агента.

Если вы используете SNMPv2c, в пакете SNMP нет специального поля для адреса агента. Но стандарт позволяет вам поместить значение адреса вашего агента в предопределенную привязку переменных (возможно, 1.3.6.1.6.3.18.1.3.0). Он работает таким же образом для других устаревших полей PDU прерывания SNMPv1.

Вы должны иметь возможность сделать это с помощью pysnmp:

from pysnmp.hlapi import *

errorIndication, errorStatus, errorIndex, varBinds = next(
    sendNotification(
        SnmpEngine(),
        CommunityData('public'),
        UdpTransportTarget(('demo.snmplabs.com', 162)),
        ContextData(),
        'trap',
        NotificationType(
            ObjectIdentity('1.3.6.1.4.1.20408.4.1.1.2.0.432'),
        ).addVarBinds(
            # agent uptime
            ('1.3.6.1.2.1.1.3.0', 12345),
            # agent address
            ('1.3.6.1.6.3.18.1.3.0', '127.0.0.1'),
            # enterprise OID
            ('1.3.6.1.6.3.1.1.4.3.0', '1.3.6.1.4.1.20408.4.1.1.2'),
            # user variable-bindings may follow
        )
    )
)
person Ilya Etingof    schedule 07.03.2018