【问题标题】:pysnmp snmpwalk giving timeouterrorpysnmp snmpwalk 给出 timeouterror
【发布时间】:2013-08-05 04:18:08
【问题描述】:

我可以从我的机器上运行 snmpwalk

snmpwalk -c public -v 2c junipertestrtr 1.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.0.1 从同一台计算机的命令行我得到正确的输出

iso.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.0.1.172.28.254.83.1.172.16.25.82 = Gauge32: 64902 iso.3.6.1.4.1.2636.5.1.1.2.1.1.1.13。 0.1.172.28.254.135.1.172.17.25.134 = Gauge32: 64902 iso.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.0.1.172.28.255.135.1.172.29.255.136 = Gauge32: 648.6 1.4.1.2636.5.1.1.2.1.1.1.13.0.1.172.28.255.135.1.172.28.255.137 = Gauge32: 64861 iso.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.0.1.172.28.255.13.17 .28.255.138 = Gauge32:64861 iso.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.0.1.10.1.1.1.1.10.1.1.2 = Gauge32:64810

但是,当我尝试从 pysnmp 运行相同的程序时,我遇到了失败

from pysnmp.entity.rfc3413.oneliner import cmdgen
from pysnmp.smi import *


cmdGen = cmdgen.CommandGenerator()

errorIndication, errorStatus, errorIndex, varBind = cmdGen.nextCmd(
    cmdgen.CommunityData('public', 1),
    cmdgen.UdpTransportTarget(('junipertestrtr', 161)),
    (1,3,6,1,4,1,2636,5,1,1,2,1,1,1,13,0,1),

)

print errorIndication, errorStatus

for varBindTableRow in varBind:
    for name, val in varBindTableRow:
        print name, val

我收到以下错误消息 "requestTimedOut 0"

【问题讨论】:

    标签: snmp pysnmp


    【解决方案1】:

    你应该只使用:

    cmdgen.CommunityData('public')
    

    或:

    cmdgen.CommunityData('public', mpModel=1)  # mpModel specifies SNMP protocol version
    

    或:

    cmdgen.CommunityData('my-snmp-agent', 'public', 1)
    

    您还可以在脚本的开头启用 pysnmp 调试,以查看幕后情况:

    debug.setLogger(debug.Debug('msgproc', 'secmod'))
    

    pysnmp site 上提供了大量示例

    【讨论】:

      猜你喜欢
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      相关资源
      最近更新 更多