pysnmp 发送请求不工作

pysnmp send request not working

我是专门针对 snmp 的网络编程新手。我只想在本地发送一个简单的 snmp 请求,看看它给出了什么。到目前为止,文档并没有真正说明 send 方法。这就是我所遵循的 example and this。我首先按原样使用它们,但后来像下面这样自定义它们:

from pysnmp.hlapi import *
g = getCmd(SnmpEngine(),
CommunityData('public'),
UdpTransportTarget(('demo.snmplabs.com', 161)),
ContextData(),
ObjectType(ObjectIdentity('TCP-MIB', 'tcpConnectionState',
                         'ipv4', '127.0.0.1', 41511,
                         'ipv4', '127.0.0.1', 993)
)
)
g.send([ObjectType(ObjectIdentity('IF-MIB', 'ifInOctets'))])

但是我收到这个错误:

TypeError:无法将非None值发送到刚启动的生成器

您要做的是将值发送到 Python 生成器,而不是发送到您的对等 SNMP 代理。只需使用 next() 代替(或将该生成器放入循环中),以便它会在第一次迭代时将 SNMP 数据包推送到网络。这里是 example.