对于snmp数据包,我已经按照图3中的模板link
进行了操作我想在同一个snmp数据包中发送3个不同的OID来设置值和1个save命令,并将每个oid值对放在自己的varbind中。使用当前数据包,接受设置请求并收到相同的获取响应。数据包设置值并执行save命令。
但是,问题是每个OID应该具有它在数据包中发送的唯一值集,但实际发生的是与数据包中第一个OID相关联的值是为其他两个OID然后保存。
我可以单独设置每个OID和密码,所以我知道OID是正确的。当我将它们全部放在同一个varbind列表中时,我希望设置的值不是。我有没有理由看到这种行为?
这是我发送的数据包:
30 81 b2 [message type & length]
02 01 00 [snmp version]
04 07 70 72 69 76 61 74 65 [community type, length, string]
a3 81 a3 02 04 24 41 b7 40 [pdu type, length, request id]
02 01 00 02 01 00 [error codes]
30 81 94 [varbind list type and length]
30 26 [#1 varbind item type and length]
06 0f 2b 06 01 04 01 ee 2d 02 02 09 01 15 01 0a 01 [#1 type, length and oid]
04 13 [value type and length]
41 6e 6e 69 6b 61 41 6e 6e 69 6b 61 41 6e 6e 69 6b 61 32 [value]
30 2f [#2]
06 0f 2b 06 01 04 01 ee 2d 02 02 0a 01 15 01 0a 01 [#2 oid]
04 1c [value type and length]
53 6f 6d 65 74 68 69 6e 67 53 6f 6d 65 74 68 69 6e 67 53 6f 6d 65 74 68 69 6e 67 32 [value]
30 26 [#3]
06 0f 2b 06 01 04 01 ee 2d 02 02 0a 06 15 01 0a 01 [#3 oid]
04 13 [value type and length]
41 6e 6e 69 6b 61 41 6e 6e 69 6b 61 41 6e 6e 69 6b 61 33 [value]
30 11 [save command]
06 0c 2b 06 01 04 01 ee 2d 02 03 01 01 00 [save command oid length and oid]
02 01 01 [value type, length, value content]