Das Simple Network Ma­nage­ment Protocol (SNMP) zählt zu den eta­blier­ten Pro­to­kol­len für die Kom­mu­ni­ka­ti­on in Com­pu­ter­netz­wer­ken. Diverse Ver­wal­tungs­tools greifen auf dieses 1990 ver­öf­fent­lich­te Client-Server-Protokoll zurück und er­mög­li­chen dem Nutzer auf diese Weise, sämtliche Netz­werk­ge­rä­te wie Router, Switches oder NAS-Systeme zentral zu über­wa­chen und zu steuern. Die Tools snmpwalk und snmpget erlauben den Abruf von Da­ten­sät­zen aus MIBs (Ma­nage­ment In­for­ma­ti­on Bases) aus­ge­wähl­ter SNMP-Agenten, die auf den meisten Windows- und Linux-Geräten stan­dard­mä­ßig in­stal­liert sind. Was genau diese beiden An­wen­dun­gen können und wie sie funk­tio­nie­ren, erfahren Sie in diesem SNMP-Tutorial.

Was steckt hinter den Tools snmpwalk und snmpget?

Die Kom­man­do­zei­len­tools snmpwalk und snmpget sind Be­stand­teil der Suite Net-SNMP, mit der sich SNMP in IPv4- und IPv6-Netz­wer­ken im­ple­men­tie­ren und nutzen lässt. Die Tool-Sammlung ist für die meisten UNIX- und Linux-Systeme (in der Pa­ket­ver­wal­tung) sowie für Microsoft Windows verfügbar, wobei sich die Funk­tio­na­li­tät der einzelnen An­wen­dun­gen von System zu System leicht un­ter­schei­den kann. snmpwalk und snmpget zählen dabei zu den ent­hal­te­nen Lösungen für den In­for­ma­ti­ons­abruf von SNMP-fähigen Geräten durch einfachen GET-Request (snmpget) bzw. mehrfache GETNEXT-Requests (snmpwalk).

snmpget: Einfache SNMP-Abfragen

Mit der Anwendung snmpget lassen sich In­for­ma­tio­nen eines Netz­werk­teil­neh­mers über das Simple Network Ma­nage­ment Protocol abrufen. Hierfür wird der SNMP-Nach­rich­ten­typ „GET“ verwendet, der einen spe­zi­fi­schen Datensatz auf dem Ziel­sys­tem anfordert. Zu diesem Zweck müssen der Host (Name oder IP-Adresse), der Community-String bzw. die Au­then­ti­fi­zie­rungs­in­for­ma­tio­nen (SNMPv3) sowie die passende Iden­ti­fi­ka­ti­ons­num­mer (Object Iden­ti­fier, OID) als Argumente angegeben werden.

snmpget [Optionen] [Community-String/Authentifizierungs-Informationen] [Host-Name/-Adresse] [Object Identifier]

snmpwalk: SNMP-Abfragen kom­plet­ter MIBs

Mit dem Tool snmpwalk rufen Sie nicht nur einen be­stimm­ten Datensatz auf dem an­vi­sier­ten SNMP-fähigen Gerät ab, sondern auch nach­fol­gen­de Da­ten­sät­ze (bei­spiels­wei­se bei Tabellen relevant). Für die Abfrage eines solchen kom­plet­ten In­for­ma­ti­ons­baums – also einer voll­stän­di­gen MIB – nutzt snmpwalk Nach­rich­ten vom Typ „GETNEXT“, die solange In­for­ma­tio­nen vom Agenten anfordern, bis das Ende der je­wei­li­gen MIB erreicht ist. Hin­sicht­lich der Syntax un­ter­schei­det sich die Nutzung von snmpwalk nicht von den einfachen Abfragen mit snmpget.

snmpwalk [Optionen] [Community-String/Authentifizierungs-Informationen] [Host-Name/-Adresse] [OID]

SNMP-Tutorial: Die wich­tigs­ten snmpget- und snmpwalk-Befehle

Als Kom­man­do­zei­len­tools lassen sich snmpwalk und snmpget pro­blem­los über das Terminal bzw. die Ein­ga­be­auf­for­de­rung bedienen. Haben Sie die Net-SNMP-Suite also auf Ihrem System in­stal­liert, können Sie umgehend mit der Abfrage der ge­wünsch­ten Netz­werk­in­for­ma­tio­nen beginnen, indem Sie die jeweilige Kom­man­do­zei­le öffnen. Wir haben einige ent­schei­den­de Befehle für beide Programme in diesem SNMP-Tutorial zu­sam­men­ge­fasst.

Hinweis

In­stal­la­ti­ons­pa­ke­te für Net-SNMP finden Sie im Down­load­be­reich der of­fi­zi­el­len Homepage. Da die Bi­när­da­tei­en für Windows auf der OpenSSL-Version 0.9.8r aufbauen, funk­tio­niert die In­stal­la­ti­on jedoch aus Kom­pa­ti­bi­li­täts­grün­den nicht auf Systemen, die Version 1.0 oder höher in­stal­liert haben.

So funk­tio­niert die Da­ten­ab­fra­ge mit snmpget

Um den Einstieg in die Mög­lich­kei­ten von snmpget zu ver­ein­fa­chen, können Sie im ersten Schritt das Hilfsmenü des Tools aufrufen. Dieses listet die ver­füg­ba­ren Parameter inklusive kurzer Er­klä­run­gen auf und lässt sich mit folgendem Befehl öffnen:

snmpget -h

Wie der Befehl für eine stan­dard­mä­ßi­ge Abfrage eines aus­ge­wähl­ten Da­ten­sat­zes aussieht, hängt in erster Linie von der zu­grun­de­lie­gen­den Pro­to­koll­ver­si­on ab. Diese wird ei­ner­seits in den Pa­ra­me­tern angegeben und bestimmt an­de­rer­seits, ob der Community-String (SNMPv1 und SNMPv2c) oder die jeweilige Au­then­ti­fi­zie­rungs­me­tho­de (auth­No­Priv, authPriv, no­Auth­No­Priv) inklusive ent­spre­chen­der An­mel­de­infor­ma­tio­nen (SNMPv3) folgen. Um bei­spiels­wei­se ab­zu­fra­gen, ob ein Firmware-Update bzw. ein Update des Be­triebs­sys­tems verfügbar ist, tippen Sie eine der fünf folgenden ver­si­ons­spe­zi­fi­schen Be­fehls­mög­lich­kei­ten ein:

snmpget-Abfrage via SNMPv1:

snmpget -v1 -c [Community-String] [IP-Adresse des Hosts] [OID für Update-Check]

snmpget-Abfrage via SNMPv2:

snmpget -v2c -c [Community-String] [IP-Adresse des Hosts] [OID für Update-Check]

snmpget-Abfrage via SNMPv3 (Au­then­ti­fi­zie­rung, aber keine Ver­schlüs­se­lung):

snmpget -v3 -l authNoPriv -u [User-Name] -a MD5 -A [MD5-Hash des User-Passworts] [IP-Adresse des Hosts] [OID für Update-Check]

snmpget-Abfrage via SNMPv3 (Au­then­ti­fi­zie­rung und Ver­schlüs­se­lung):

snmpget -v3 -l authPriv -u [User-Name] -a MD5 -A [User-Passwort] -x DES -X [DES-Passwort] [IP-Adresse des Hosts] [OID für Update-Check]

snmpget-Abfrage via SNMPv3 (keine Au­then­ti­fi­zie­rung, keine Ver­schlüs­se­lung):

snmpget -v3 -l noAuthNoPriv -u [User-Name] [IP-Adresse des Hosts] [OID für Update-Check]

Als Ergebnis der Abfrage erhalten Sie einen nu­me­ri­schen Wert, der Sie über den Update-Status in­for­miert. Der Wert „1“ zeigt bei­spiels­wei­se an, dass eine Ak­tua­li­sie­rung verfügbar ist, während der Wert „2“ prä­sen­tiert wird, wenn Firmware bzw. Be­triebs­sys­tem bereits auf dem neuesten Stand sind. Um die Rück­ga­be­wer­te besser lesen und in­ter­pre­tie­ren zu können, laden Sie die er­for­der­li­che MIB auf den Rechner, mit dem Sie die SNMP-Abfrage durch­füh­ren, und kopieren Sie die ent­spre­chen­de Datei in das Ver­zeich­nis /usr/share/snmp/mibs. Unter Linux/UNIX können Sie zu diesem Zweck einen MIB-Down­loa­der in­stal­lie­ren, der Sie bei diesem Vorhaben un­ter­stützt.

sudo apt install snmp-mibs-downloader

So funk­tio­niert die Abfrage kom­plet­ter MIBs mit snmpwalk

Auch snmpwalk gibt Ihnen die Mög­lich­keit, eine Übersicht er­for­der­li­cher und ver­füg­ba­rer Parameter auf­zu­ru­fen. Dieses Hilfsmenü erscheint nach der Eingabe des folgenden Befehls:

snmpwalk -h

Auch hin­sicht­lich der Da­ten­ab­fra­ge un­ter­schei­det sich snmpwalk kaum von snmpget. Der Un­ter­schied besteht haupt­säch­lich in der Aus­füh­rung der Befehle: Während snmpget nur einen einzigen Wert zur an­ge­for­der­ten OID zu­rück­gibt oder eine Feh­ler­mel­dung anzeigt, wenn kein Objekt hinter der Iden­ti­fi­ka­ti­ons­num­mer verfügbar ist, durch­läuft snmpwalk auch sämtliche Un­ter­kno­ten. So lässt sich etwa eine de­tail­lier­te Auf­lis­tung re­le­van­ter Sys­tem­in­for­ma­tio­nen anzeigen, wenn die Iden­ti­fi­ka­ti­ons­num­mer der ent­spre­chen­den MIB bekannt ist. Wie bei den einfachen GET-Requests kommt es bei den er­for­der­li­chen Befehlen auf die gewählte Pro­to­koll­ver­si­on an:

snmpwalk-Abfrage via SNMPv1:

snmpwalk -v1 -c [Community-String] [IP-Adresse des Hosts] [OID der Systeminformations-MIB]

snmpwalk-Abfrage via SNMPv2:

snmpwalk -v2c -c [Community-String] [IP-Adresse des Hosts] [OID der Systeminformations-MIB]

snmpwalk-Abfrage via SNMPv3 (Au­then­ti­fi­zie­rung, aber keine Ver­schlüs­se­lung):

snmpwalk -v3 -l authNoPriv -u [User-Name] -a MD5 -A [User-Passwort] [IP-Adresse des Hosts] [OID der Systeminformations-MIB]

snmpwalk-Abfrage via SNMPv3 (Au­then­ti­fi­zie­rung und Ver­schlüs­se­lung):

snmpwalk -v3 -l authPriv -u [User-Name] -a MD5 -A [User-Passwort] -x DES -X [DES-Passwort] [IP-Adresse des Hosts] [OID der Systeminformations-MIB]

snmpwalk-Abfrage via SNMPv3 (keine Au­then­ti­fi­zie­rung, keine Ver­schlüs­se­lung):

snmpwalk -v3 -l noAuthNoPriv -u [User-Name] [IP-Adresse des Hosts] [OID der Systeminformations-MIB]
Fazit

snmpwalk und snmpget helfen Ihnen dabei, ge­wünsch­te Netz­werk­da­ten via Simple Network Ma­nage­ment Protocol ab­zu­fra­gen. Als Teil der Net-SNMP-Suite sind die beiden Kom­man­do­zei­len­tools schnell auf dem eigenen System in­stal­liert und ebenso einfach zu bedienen. Dieses SNMP-Tutorial hat auf­ge­zeigt, wie un­kom­pli­ziert sich eine einzelne In­for­ma­ti­on bzw. ein kom­plet­ter In­for­ma­ti­ons­block ansteuern lässt, sofern Sie die IP-Adresse des SNMP-Agenten und den je­wei­li­gen Object Iden­ti­fier kennen.

Zum Hauptmenü