我已经阅读了几个关于SNMP协议的RFC,它们通常以隐秘和不透明的方式编写,所以我可能错过了正确的信息,我提前道歉可能是一个简单的问题......
我不清楚例如get命令中的哪种错误会在snmp get-response消息中设置错误和错误索引字段。由于我一直使用Net-SNMP发送命令(和demo.snmplabs.com上的snmp模拟器),我无法发送格式不正确的消息以查看我会得到什么样的响应。我已经开始编写自己的SNMP测试工具(在Visual Basic中),只是为了能够发送格式不正确的消息,但在将其用作经过验证的测试工具之前,这将是相当多的工作。
当发送对不存在的OID或错误数据类型的请求时,Net-SNMP似乎处理错误而不需要错误/错误索引值。
任何建议表示赞赏
答案 0 :(得分:0)
应该可以为SNMP GET生成错误,但也许更容易开始为SET生成错误。
➜ snmpset -v 2c -c private demohost sysName.0 s "foo"
SNMPv2-MIB::sysName.0 = STRING: foo
在下面的版本中,代理拒绝SET ...
➜ snmpset -v 2c -c private demohost ucdDemoPublicString.0 s "TEST"
Error in packet.
Reason: noCreation (That table does not support row creation or that object can not ever be created)
Failed object: UCD-DEMO-MIB::ucdDemoPublicString.0
使用-d
来回查看数据包。