【问题标题】:PySNMP Fetch variable timeoutPySNMP 获取变量超时
【发布时间】:2018-02-15 19:16:54
【问题描述】:

我正在使用 python 开发一个 SNMP 模拟器,我正在尝试遵循 snmplabs.com 中的一些示例。我在运行来自 snmplabs.com 的示例脚本之一时遇到问题,该脚本在 demo.snmplabs.com 的公开可用的 SNMP 命令响应程序中对 sysDescr.0 对象执行 SNMP GET 操作。

我已经通过 pip 下载了所有需要的包。

这是http://snmplabs.com/pysnmp/quick-start.html 上提供的以下代码(如果格式错误,请见谅,这里相当新):

from pysnmp.hlapi import *

errorIndication, errorStatus, errorIndex, varBinds = next(
    getCmd(SnmpEngine(),
       CommunityData('public', mpModel=0),
       UdpTransportTarget(('demo.snmplabs.com', 161)),
       ContextData(),
       ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysDescr', 0)))
)

if errorIndication:
    print(errorIndication)
elif errorStatus:
    print('%s at %s' % (errorStatus.prettyPrint(),
                        errorIndex and varBinds[int(errorIndex) -1][0] or '?'))
else:
    for varBind in varBinds:
        print(' = '.join([x.prettyPrint() for x in varBind]))

您可以从他们的网站下载源代码,该文件名为 v1-get1.py。我正在使用以下命令在我的 Macbook Pro (Sierra) 终端上运行此脚本:

$python v1-get1.py

我正在使用 python 2.7.10 版并尝试在 python 3.6.3 版上运行它,但我收到以下错误:

No SNMP response received before timeout

我尝试用我在网上找到的其他公共服务器替换公共服务器,但我一直收到相同的超时响应。我在这里缺少什么吗?或者熟悉 pysnmp 的人可以解释一些我可能缺少的基础知识吗?

【问题讨论】:

    标签: python network-programming snmp pysnmp


    【解决方案1】:

    您的脚本适合我。我怀疑您可能有一个本地防火墙,它会丢弃请求或响应 SNMP 数据包 (UDP/161)。尝试在其他网络上运行您的脚本。

    顺便说一句,在 snmplabs.com 上也有 SNMP simulator tool

    【讨论】:

    • 你说得对,我与公司的 vpn 断开连接,它按预期工作!我正在尝试使用 pySNMP 为我正在从事的项目构建一个 SNMP 模拟器。我可能最终会发布更多问题并查看 snmplabs 常见问题解答。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多