我有几个 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 的详细信息,请参阅参考资料,默认情况下,它将使用环境变量引用的目录中的文件MIBDIRS
,mibdirs
这些文件是在snmp.conf
硬编码的/usr/share/snmp/mibs
.