【问题标题】:Customize SNMP traps to edit sender agent address自定义 SNMP 陷阱以编辑发件人代理地址
【发布时间】:2018-03-07 20:13:35
【问题描述】:

我正在尝试发送一个指定发件人代理 IP 地址的 SNMP 陷阱。 我一直在测试 net-snmp snmptrap 命令及其选项,但我似乎无法修改陷阱本身的发件人地址字段。 我正在寻找类似的东西:

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

如果有人知道是否有任何工具可以做到这一点,或者可以推荐一个 python 库,那就太好了。

【问题讨论】:

    标签: snmp net-snmp pysnmp


    【解决方案1】:

    如果您使用带有snmptrap 工具的SNMPv1,它应该允许您明确指定代理地址。

    如果您使用的是 SNMPv2c,则 SNMP 数据包中没有代理地址的专用字段。但是该标准允许您将代理地址值放入预定义的变量绑定中(可能是1.3.6.1.6.3.18.1.3.0)。它对其他传统 SNMPv1 TRAP PDU 字段的工作方式相同。

    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
            )
        )
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多