【问题标题】:SNMP GetBulk commandSNMP GetBulk 命令
【发布时间】:2010-10-21 10:32:05
【问题描述】:

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

提前致谢。

乌代。

【问题讨论】:

    标签: snmp


    【解决方案1】:

    没有。这是由协议栈决定的(在 v2 栈中引入了 GET BULK),而不是其他因素。

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

    【讨论】:

      【解决方案2】:

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

      如果您不需要树的“行走”,并且您提前拥有所有 OID,那么加载带有所有需要的变量绑定的 GetRequest 可能对您有用。

      如果您使用 Java,则 SNMP4J API 与 SNMP v1、v2c 和 v3 兼容。 SNMP4J API

      【讨论】:

        【解决方案3】:

        值得注意的是,GETBULK 是在 v2c 中,这是对 SNMPv1 的小升级,因此即使供应商没有完全使用 SNMPv3,现在几乎所有设备都支持它。

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

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

        【讨论】:

          【解决方案4】:

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

          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 <net-snmp-coders@lists.sourceforge.net>
          sysName.0 = STRING: test.net-snmp.org
          sysLocation.0 = STRING: Undisclosed
          sysORLastChange.0 = Timeticks: (7) 0:00:00.07
          

          【讨论】:

          • 或者,snmpbulkwalk -v2c -Os -c public demo.snmplabs.com
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-09-04
          • 1970-01-01
          相关资源
          最近更新 更多