SNMP仅在一个级别上运行

SNMP仅在一个级别上运行,snmp,net-snmp,sharp-snmp,Snmp,Net Snmp,Sharp Snmp,是否有一种方法可以使用SNMP只遍历树的一个级别 例如: 我想知道我的树有多少个表,但我不想遍历每个条目。最好只遍历父级并返回表的根节点的所有OID。而不是使用snmpwalk(我认为它不支持前面提到的一级遍历),从MIB文件中获取此类信息可能更容易(而不是询问代理) 使用诸如netsnmpsnmptranslate之类的工具可能很方便。例如,要查看SNMPv2 MIB::system中存在哪些表,即1.3.6.1.2.1.1,您可以 snmptranslate -M +. -m +ALL

是否有一种方法可以使用SNMP只遍历树的一个级别

例如:
我想知道我的树有多少个表,但我不想遍历每个条目。最好只遍历父级并返回表的根节点的所有OID。

而不是使用
snmpwalk
(我认为它不支持前面提到的一级遍历),从MIB文件中获取此类信息可能更容易(而不是询问代理)

使用诸如netsnmp
snmptranslate
之类的工具可能很方便。例如,要查看SNMPv2 MIB::system中存在哪些表,即
1.3.6.1.2.1.1
,您可以

snmptranslate  -M +.  -m +ALL -Tp -On SNMPv2-MIB::system 
+--system(1)
   |
   +-- -R-- String    sysDescr(1)
   |        Textual Convention: DisplayString
   |        Size: 0..255
   +-- -R-- ObjID     sysObjectID(2)
   +-- -R-- TimeTicks sysUpTime(3)
   |  |
   |  +--sysUpTimeInstance(0)
   |
   +-- -RW- String    sysContact(4)
   |        Textual Convention: DisplayString
   |        Size: 0..255
   +-- -RW- String    sysName(5)
   |        Textual Convention: DisplayString
   |        Size: 0..255
   +-- -RW- String    sysLocation(6)
   |        Textual Convention: DisplayString
   |        Size: 0..255
   +-- -R-- INTEGER   sysServices(7)
   |        Range: 0..127
   +-- -R-- TimeTicks sysORLastChange(8)
   |        Textual Convention: TimeStamp
   |
   +--sysORTable(9)
      |
      +--sysOREntry(1)
         |  Index: sysORIndex
         |
         +-- ---- INTEGER   sysORIndex(1)
         |        Range: 1..2147483647
         +-- -R-- ObjID     sysORID(2)
         +-- -R-- String    sysORDescr(3)
         |        Textual Convention: DisplayString
         |        Size: 0..255
         +-- -R-- TimeTicks sysORUpTime(4)
                  Textual Convention: TimeStamp