为什么 snmpwalk 在某些情况下仅显示数字 OID?

为什么 snmpwalk 在某些情况下仅显示数字 OID?

我有几个 Debian 11 系统,我通过 SNMP 查询网络设备 - 这些是 snmp 软件包:

# dpkg -l | grep -i snmp
ii  libsnmp-base                                      5.9+dfsg-4+deb11u1               all          SNMP configuration script, MIBs and documentation
ii  libsnmp40:amd64                                   5.9+dfsg-4+deb11u1               amd64        SNMP (Simple Network Management Protocol) library
ii  python3-pysmi                                     0.3.2-2                          all          SNMP SMI/MIB Parser
ii  python3-pysnmp4                                   4.4.12-1                         all          Python SNMP library for agents and managers (Python 3 module)
ii  python3-snimpy                                    0.8.13-2+b2                      amd64        high-level SNMP bindings for Python 3
ii  snimpy                                            0.8.13-2                         all          interactive SNMP tool with Python
ii  snmp                                              5.9+dfsg-4+deb11u1               amd64        SNMP (Simple Network Management Protocol) applications
ii  snmp-mibs-downloader                              1.5                              all          install and manage Management Information Base (MIB) files
ii  snmpsim                                           0.4.5-1                          all          SNMP agent simulator

如果我运行这个,我会得到翻译的 OID:

root@vogon:~# snmpwalk -v 2c -c netgear netgear1 SNMPv2-MIB::sysORID
SNMPv2-MIB::sysORID.1 = OID: SNMPv2-SMI::mib-2.96
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-SMI::mib-2.32.2
SNMPv2-MIB::sysORID.3 = OID: SNMPv2-SMI::mib-2.32.1
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-SMI::mib-2.16.29
SNMPv2-MIB::sysORID.5 = OID: SNMPv2-SMI::mib-2.16.20.5
SNMPv2-MIB::sysORID.6 = OID: SNMPv2-SMI::mib-2.78
SNMPv2-MIB::sysORID.7 = OID: SNMPv2-SMI::mib-2.72
SNMPv2-MIB::sysORID.8 = OID: SNMPv2-SMI::mib-2.154
SNMPv2-MIB::sysORID.9 = OID: SNMPv2-SMI::mib-2.30
SNMPv2-MIB::sysORID.10 = OID: SNMPv2-SMI::mib-2.76
SNMPv2-MIB::sysORID.11 = OID: iso.2.840.10006.300.43
SNMPv2-MIB::sysORID.12 = OID: iso.0.8802.1.1.2.1.5.4623
SNMPv2-MIB::sysORID.13 = OID: iso.0.8802.1.1.2.1.5.4795
SNMPv2-MIB::sysORID.14 = OID: iso.0.8802.1.1.2
SNMPv2-MIB::sysORID.15 = OID: SNMPv2-SMI::mib-2.26.6
SNMPv2-MIB::sysORID.16 = OID: SNMPv2-SMI::enterprises.4526.11.61
SNMPv2-MIB::sysORID.17 = OID: SNMPv2-SMI::enterprises.4526.11.43
SNMPv2-MIB::sysORID.18 = OID: SNMPv2-SMI::enterprises.4526.11.31
SNMPv2-MIB::sysORID.19 = OID: SNMPv2-SMI::enterprises.4526.11.100
SNMPv2-MIB::sysORID.20 = OID: SNMPv2-SMI::enterprises.4526.11.37

但如果我这样做,我不会:

root@vogon:~# snmpwalk -Os -v 2c -c netgear netgear1 
iso.3.6.1.2.1.1.1.0 = STRING: "GS324T S350 Series 24-Port Gigabit Ethernet Smart Managed Pro Switch with 2 SFP Ports"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.4526.100.4.54
iso.3.6.1.2.1.1.3.0 = Timeticks: (1256215400) 145 days, 9:29:14.00
iso.3.6.1.2.1.1.4.0 = ""
iso.3.6.1.2.1.1.5.0 = STRING: "NEATGEAR1"
iso.3.6.1.2.1.1.6.0 = STRING: "Network rack"
iso.3.6.1.2.1.1.7.0 = INTEGER: 2
iso.3.6.1.2.1.1.8.0 = Timeticks: (1900) 0:00:19.00
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.2.1.96
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.2.1.32.2
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.2.1.32.1
...

有何不同?

答案1

你错过了MIB对于您正在查询的任何设备。 TL;DR:MIB 就像电话簿,将 OID 映射到 ASCII 表示形式。

man snmpcmd有关如何向 SNMP 工具提供 MIB 的详细信息,请参阅参考资料,默认情况下,它将使用环境变量引用的目录中的文件MIBDIRSmibdirs这些文件是在snmp.conf硬编码的/usr/share/snmp/mibs.

相关内容