2010-10-21 166 views
4

我想知道我是否可以在SNMPv1中使用getbulk命令。如果是,请让我知道它的副词...没有,那么有什么缺点。SNMP GetBulk命令

在此先感谢。

乌代。

回答

5

号即由协议栈(GET BULK在V2堆引入)来确定,而不是由其它因素。

如果你想使用GET BULK,你必须使用SNMP v2和v3,不是V1。

3

值得一提的是,GETBULK是V2C,这是一个次要升级到SNMPv1的,因此几乎每个设备这些天即使供应商没有去完全做SNMPv3的麻烦支持。

SNMPv1的:使用与V1的PDU SNMPv2c的社区:使用社区与V2的PDU SNMPv3的:使用多个安全模块与V2的PDU

然后是SMI版本号(1和2)可与任何协议一起使用除非存在无法用V1 PDU访问的SMIv2数据类型(例如,counter64)。

5

正如其他人所说,在GetBulkRequest SNMPv2的介绍。但是,您可能会发现知道版本1 GetRequest PDU可以与多个变量绑定关联是有用的。这样做,GetRequest响应将包含这些OID对象及其当前值(如果请求成功)的映射。

如果您不需要树的“散步”,并且您提前获得了所有OID,那么使用所有需要的变量绑定加载GetRequest可能适用于您。

如果您使用的是Java的API SNMP4J与支持SNMP v1,v2c的和v3兼容。 SNMP4J API

2

如果执行snmpbulkwalk使用第1,那么您将收到以下错误

bash# snmpbulkwalk -v 1 -Os -c demopublic test.net-snmp.org 
No log handling enabled - using stderr logging 
snmpbulkwalk: Cannot send V2 PDU on V1 session 

随着V 2C介绍snmpbulkwalk,执行此将带给您整洁的输出,学习concept

bash# snmpbulkwalk -v2c -Os -c demopublic test.net-snmp.org 
sysDescr.0 = STRING: test.net-snmp.org 
sysObjectID.0 = OID: netSnmpAgentOIDs.10 
sysUpTimeInstance = Timeticks: (174391443) 20 days, 4:25:14.43 
sysContact.0 = STRING: Net-SNMP Coders <[email protected]> 
sysName.0 = STRING: test.net-snmp.org 
sysLocation.0 = STRING: Undisclosed 
sysORLastChange.0 = Timeticks: (7) 0:00:00.07 
+0

或者,'snmpbulkwalk -v2c -Os -c public demo.snmplabs.com' – 2017-07-02 22:53:49