我以为snmpbulkget就像snmpget一样,只是它可以支持多个oid请求。 但我看到奇怪的行为。 它提供了下一个OID信息,而不是问什么:
snmpbulkget -Cr1 servername IF-MIB::ifSpeed.7.0 IF-MIB::ifInOctets.7 IF-MIB::ifInUcastPkts.7 IF-MIB::ifInNUcastPkts.7 IF-MIB::ifInNUcastPkts.7 IF-MIB::ifInDiscards.7 IF-MIB::ifInErrors.7 IF-MIB::ifOutOctets.7 IF-MIB::ifOutUcastPkts.7 IF-MIB::ifOutNUcastPkts.7 IF-MIB::ifOutDiscards.7 IF-MIB::ifOutErrors.7 IF-MIB::ifSpeed.8 = Gauge32: 10000000 IF-MIB::ifInOctets.8 = Counter32: 3674120514 IF-MIB::ifInUcastPkts.8 = Counter32: 2462391943 IF-MIB::ifInNUcastPkts.8 = Counter32: 19169575 IF-MIB::ifInNUcastPkts.8 = Counter32: 19169575 IF-MIB::ifInDiscards.8 = Counter32: 0 IF-MIB::ifInErrors.8 = Counter32: 775777 IF-MIB::ifOutOctets.8 = Counter32: 3824588280 IF-MIB::ifOutUcastPkts.8 = Counter32: 2866781089 IF-MIB::ifOutNUcastPkts.8 = Counter32: 0 IF-MIB::ifOutDiscards.8 = Counter32: 0 IF-MIB::ifOutErrors.8 = Counter32: 0
为什么?
snmpget会发送一个包含多个OID的数据包(可以使用-d选项来validation)。 所以改变你的命令使用snmpget (并删除-Cr1选项)将做你想要的。
或者,你可以BULKGET IF-MIB::ifEntry它给你比你想要的更多。
snmpbulkget (或者底层的GETBULK / GETNEXT)方法总是返回树中的下一个variables。
从http://net-snmp.sourceforge.net/wiki/index.php/GETBULK引用…
GETNEXT命令(GetnextRequest)从远程实体请求一个实例列表,但期望树中的下一个variables返回。