SNMP und snmpd visuell erklärt – vom OID-Baum bis zur verschlüsselten Abfrage
Ein Monitoring-Server fragt Zähler, Namen und Zustände ab, Geräte melden Ereignisse von selbst: Das Simple Network Management Protocol ist überall – in Switches, Druckern, USVs und Linux-Servern mit snmpd. Hier siehst du, was dabei wirklich über die Leitung geht, wie SNMPv3 Schlüssel ableitet und wie man snmpd sicher einrichtet.
🧭 Lernpfad
1 · Grundlagen
Manager, Agent, Traps und Informs, UDP 161/162, v1 · v2c · v3 im Vergleich, Community vs. USM.
2 · OID-Baum & MIB
Vom iso(1) bis ifHCInOctets: Baum aufklappen, OID auflösen, Skalar vs. Tabelle, SMIv2-Typen, Zählerüberlauf.
3 · PDU-Debugger
Get, GetNext, GetBulk, Set, Trap, Inform Schritt für Schritt – und jedes Byte der BER-Kodierung im Hexdump.
4 · SNMPv3-Sicherheit
USM mit SHA-2 und AES, Password-to-Key live nachgerechnet, engineID, Discovery, Zeitfenster und der VACM-Auswerter.
5 · snmpd konfigurieren
Konfigurator für snmpd.conf: Views, rouser, extend, disk/load, Traps – samt passender Testbefehle und snmptrapd.conf.
6 · Tipps & Tricks
Timeout oder No Such Object? Firewall, -Dusm, GetBulk statt Walk, 64-Bit-Zähler, Bandbreitenrechner, MIBs laden.
⌨️ Ein Befehl – 40 Bytes
Diese Abfrage liest die Gerätebeschreibung. Im Debugger wird jedes der Bytes erklärt – hier nur der Überblick:
$ snmpget -v2c -c public 192.0.2.10 SNMPv2-MIB::sysDescr.0 SNMPv2-MIB::sysDescr.0 = STRING: Linux gw1 6.12.0-beispiel #1 SMP x86_64
GetRequest mit request-id 1 (echte Werkzeuge wählen zufällige IDs). Community und OID stehen im Klartext im Paket.
🗺️ Wo was liegt
iso(1)
└─ org(3)
└─ dod(6)
└─ internet(1) 1.3.6.1
├─ mgmt(2)
│ └─ mib-2(1) 1.3.6.1.2.1
│ ├─ system(1) sysDescr, sysUpTime, sysName …
│ ├─ interfaces(2) ifTable: ifInOctets, ifOutOctets …
│ ├─ host(25) HOST-RESOURCES-MIB
│ └─ ifMIB(31) ifXTable: ifHCInOctets (64 Bit)
├─ private(4)
│ └─ enterprises(1) 1.3.6.1.4.1
│ ├─ ucdavis(2021) laLoad, dskTable, memory
│ └─ netSnmp(8072) extend-Ausgaben
└─ snmpV2(6)
└─ snmpModules(3) Framework, USM(15), VACM(16)