SNMP4J 一般变量绑定错误
我正在尝试使用 SNMP4J 进行 SNMP 批量获取。当我使用 SNMP4J 进行调用时,我会返回一个响应事件错误,显示“常规变量绑定错误”,并且返回的数据等于 Null。
调试: 我将我在 SNMP4J 中使用的确切 OID 和版本号打印到控制台。然后,我使用打印出来的数据在命令行上执行 snmpwalk。 但我得到了有效的结果。所以我知道我正在向 SNMP4J 发送正确的 pdu,其中包含正确的 OID、版本号、最大重复次数等。
多年来,我一直在使用 SNMP4J 和我成功编写的这段代码来监视其他设备。所以我不知道这次有什么不同。所以这让我很困惑。为什么我会返回“一般变量绑定错误”?是什么原因导致该错误?有调试的想法吗?
I am trying to use SNMP4J to do a SNMP bulkget. When ever I use SNMP4J to make the call I get returned a responseEvent error that says "General Variable Binding error" and the data returned is equal to Null.
To debug:
I print out, to the console, the exact OID and version number that I am using in SNMP4J. I then use the printed out data to do an snmpwalk on the command line.
But I get back valid results. So I know I am sending SNMP4J the correct pdu with the correct OID, version number, max repititions, etc.
I have used SNMP4J and this code I wrote succesffuly to monitor other devices for years. So I don't know what is different this time. So this is leaving me stumped. Why would I get back "general variable binding error?" What causes that error? Ideas to debug?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可以复制吗?如果是这样,您的第一个操作应该是使用 Wireshark 或 Microsoft Network Monitor 来捕获网络数据包。
我的猜测是,代理突然给你一个 GenErr 响应,这并不奇怪,
http:// www.ietf.org/rfc/rfc1157.txt
Can that be reproduced? If so, your first action should be using Wireshark or Microsoft Network Monitor to capture network packets.
My guess is that suddenly the agent gives you a GenErr response, which is not something surprising,
http://www.ietf.org/rfc/rfc1157.txt
我在使用 Comba 中继器 SNMP 代理时也遇到了类似的令人费解的错误。如果我使用多个变量绑定执行 SNMP Get(针对表中的特定 MIB 值),它将返回一般变量绑定错误。但是,如果我使用单个变量绑定执行 SNMP Get(针对表中的特定 MIB 值),它会按预期响应。
我已经在其他设备(例如 Corning、SOLiD)上使用多个变量绑定完成了 SNMP Get(针对表中的特定 MIB 值),并且工作得非常好。
所以这与您正在访问的设备上的 SNMP 代理实现有关。
I had a similar puzzling error with a Comba repeater SNMP agent. If I do a SNMP Get (targeting specific MIB values in a table) with multiple variable bindings, it returns a General Variable Binding Error. But if I do a SNMP Get (targeting specific MIB values in a table) with a single variable binding, it responds as expected.
I have done SNMP Get (targeting specific MIB values in a table) with multiple variable bindings on other devices (e.g. Corning, SOLiD) and it works perfectly fine.
So it has something to do with the SNMP agent implementation on the device you are hitting.