使用Net-SNMP使用snmpset的多个值

时间:2012-11-26 10:46:14

标签: c++ c net-snmp

最近在Net-SNMP邮件列表上询问就像赢得彩票一样,即它永远不会发生。

我需要知道如何使用snmpset为我的命令标量设置多个参数值?

我已经将我的命令实现为简单的标量,但最近我想也许我需要将它们实现为表格,因为它们可以有多个参数。

使用snmpset设置/触发此类命令时,选择不是参数,一个参数或多个参数。

给出以下示例MIB表。让我们说这是我的命令之一。 显然,SMIv2中不再允许只写,所以我使用了不可访问的。 snmpget不会访问这些命令。

netSnmpHostsTable OBJECT-TYPE
  SYNTAX      SEQUENCE OF NetSnmpHostsEntry
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION
      "An example table that implements a wrapper around the 
      /etc/hosts file on a machine using the iterator helper API."
  ::= { netSnmpExampleTables 2 }

netSnmpHostsEntry OBJECT-TYPE
    SYNTAX      NetSnmpHostsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A host name mapped to an ip address"
    INDEX   { netSnmpHostName }
::= { netSnmpHostsTable 1 }

NetSnmpHostsEntry ::= SEQUENCE {
    netSnmpHostName         OCTET STRING,
    netSnmpHostAddressType  OCTET STRING,
    netSnmpHostAddress      OCTET STRING
}

netSnmpHostName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..64))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A host name that exists in the /etc/hosts (unix) file."
::= { netSnmpHostsEntry 1 }

netSnmpHostAddressType OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..64))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The address type of then given host."
::= { netSnmpHostsEntry 2 }

netSnmpHostAddress OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..64))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The address of then given host."
::= { netSnmpHostsEntry 3 }


无参数调用
snmpset netSnmpHostsTable.0
或使用3个​​参数调用
snmpset netSnmpHostsTable.1一些netSnmpHostsTable.2其他的东西netSnmpHostsTable.3更多的东西  

snmpset可以吗?使用snmpset设置多行时,它会将其作为一个请求或多个请求进行处理吗?

1 个答案:

答案 0 :(得分:2)

不可访问意味着,您无法在步行中设置,获取甚至查看这些内容,因为它们不可访问,即它们只是定义结构的节点。

如果您的表具有添加行的条目状态,您可能不得不使用读写或读取创建,我不知道为什么只写已经消失,这对某些事情是有意义的。< / p>

在回答问题时,请执行以下命令:

C:\net-snmp\bin\snmpset -v 2c -c public -M +C:\mibs -m SOME-MIB 10.20.30.40 SOME-MIB::someString.9 = "martski"  SOME-MIB::someOtherString.9 = "http://waratah.webs.com/" SOME-MIB::someEntryStatus.9 = createAndGo