【问题标题】:snmp-server trap-source using pysnmp使用 pysnmp 的 snmp-server 陷阱源
【发布时间】:2017-06-21 10:31:53
【问题描述】:

我对 pysnmp 比较陌生。我目前的要求是支持 snmp 陷阱的陷阱源。我试图了解如何使用 pysnmp ntforg.NotificationOriginator 构造来支持这一点。

我目前发送trap的代码sn-p如下:

varBinds = rfc1902.ObjectIdentity('SNMPv2-MIB', 'coldStart')
    trapVarBinds = trapAgent.VarBinds(varBinds,'','')
    trapPdu = rfc1902.NotificationType(
                varBinds
            ).resolveWithMib(self.mibViewController)        
    SendTrap(trapAgent.TrapData(trapPdu,trapVarBinds))

 def SendTrap(self,trapData):
    for server in trapServer:  #list of trapServer config info
        data = trapServer[server]
        print 'Trap server:%s'%(data,)
        sendRequestHandle = ntforg.NotificationOriginator(snmpContext).sendVarBinds(
        snmpEngine,
        data.Name,
        #None,'',
        snmpContext.contextEngineId,'',
        trapData.trapPdu
        )

任何关于如何在此处支持陷阱源的见解/建议都会非常有帮助。谢谢!

【问题讨论】:

  • 你能澄清一下什么是陷阱源吗?这是an example 或 SNMP 陷阱发件人。
  • trap source 是一种配置陷阱发送器源(ip/interface)的方法 snmp-server trap-source:指定 SNMP 陷阱应源自的接口(以及相应的 IP 地址)来自。

标签: python pysnmp


【解决方案1】:

参考Notification Originator

您可以像下面这样指定源 IP 和端口

from pysnmp.entity import config
from pysnmp.carrier.asynsock.dgram import udp

config.addSocketTransport(
snmpEngine,
udp.domainName,
udp.UdpSocketTransport().openClientMode(iface=('127.0.0.1', 1024))
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多