# SNMP-Tutorial: So funktionieren snmpwalk und snmpget

Das [Simple Network Management Protocol (SNMP)](https://www.ionos.de/digitalguide/server/knowhow/snmp-simple-network-management-protocol/) zählt zu den etablierten Protokollen für die Kommunikation in Computernetzwerken. Diverse Verwaltungstools greifen auf dieses 1990 veröffentlichte Client-Server-Protokoll zurück und ermöglichen dem Nutzer auf diese Weise, sämtliche Netzwerkgeräte wie Router, Switches oder NAS-Systeme zentral zu überwachen und zu steuern. Die Tools snmpwalk und snmpget erlauben den **Abruf von Datensätzen aus MIBs** (Management Information Bases) ausgewählter SNMP-Agenten, die auf den meisten Windows- und Linux-Geräten standardmäßig installiert sind. Was genau diese beiden Anwendungen können und wie sie funktionieren, erfahren Sie in diesem SNMP-Tutorial.

## Was steckt hinter den Tools snmpwalk und snmpget?

Die Kommandozeilentools snmpwalk und snmpget sind Bestandteil der Suite [Net-SNMP](https://www.net-snmp.org/ "Offizielle Homepage der SNMP-Suite Net-SNMP"), mit der sich SNMP in IPv4- und IPv6-Netzwerken implementieren und nutzen lässt. Die Tool-Sammlung ist für die meisten **UNIX- und Linux-Systeme** (in der Paketverwaltung) sowie für **Microsoft Windows** verfügbar, wobei sich die Funktionalität der einzelnen Anwendungen von System zu System leicht unterscheiden kann. snmpwalk und snmpget zählen dabei zu den enthaltenen Lösungen für den **Informationsabruf von SNMP-fähigen Geräten** durch einfachen GET-Request (snmpget) bzw. mehrfache GETNEXT-Requests (snmpwalk).

[YouTube video](https://www.youtube.com/watch?v=Z4k1tjp5VZI)### snmpget: Einfache SNMP-Abfragen

Mit der Anwendung snmpget lassen sich Informationen eines Netzwerkteilnehmers über das Simple Network Management Protocol abrufen. Hierfür wird der **SNMP-Nachrichtentyp „GET“** verwendet, der einen spezifischen Datensatz auf dem Zielsystem anfordert. Zu diesem Zweck müssen der Host (Name oder [IP-Adresse](https://www.ionos.de/digitalguide/server/knowhow/was-ist-eine-ip-adresse/ "Was ist eine IP-Adresse?")), der Community-String bzw. die Authentifizierungsinformationen (SNMPv3) sowie die passende Identifikationsnummer (Object Identifier, OID) als Argumente angegeben werden.

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

### snmpwalk: SNMP-Abfragen kompletter MIBs

Mit dem Tool snmpwalk rufen Sie nicht nur einen bestimmten Datensatz auf dem anvisierten SNMP-fähigen Gerät ab, sondern auch nachfolgende Datensätze (beispielsweise bei Tabellen relevant). Für die Abfrage eines solchen kompletten Informationsbaums – also einer **vollständigen MIB** – nutzt snmpwalk **Nachrichten vom Typ „GETNEXT“**, die solange Informationen vom Agenten anfordern, bis das Ende der jeweiligen MIB erreicht ist. Hinsichtlich der Syntax unterscheidet sich die Nutzung von snmpwalk nicht von den einfachen Abfragen mit snmpget.

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

## SNMP-Tutorial: Die wichtigsten snmpget- und snmpwalk-Befehle

Als Kommandozeilentools lassen sich snmpwalk und snmpget problemlos über das Terminal bzw. die Eingabeaufforderung bedienen. Haben Sie die Net-SNMP-Suite also auf Ihrem System installiert, können Sie umgehend mit der Abfrage der gewünschten Netzwerkinformationen beginnen, indem Sie die jeweilige **Kommandozeile öffnen**. Wir haben einige entscheidende Befehle für beide Programme in diesem SNMP-Tutorial zusammengefasst.

Hinweis Installationspakete für Net-SNMP finden Sie im [Downloadbereich der offiziellen Homepage](https://www.net-snmp.org/download.html "Downloadverzeichnis von net-snmp.org"). Da die Binärdateien für Windows auf der OpenSSL-Version 0.9.8r aufbauen, funktioniert die Installation jedoch aus Kompatibilitätsgründen nicht auf Systemen, die Version 1.0 oder höher installiert haben.

### So funktioniert die Datenabfrage mit snmpget

Um den Einstieg in die Möglichkeiten von **snmpget** zu vereinfachen, können Sie im ersten Schritt das **Hilfsmenü des Tools aufrufen**. Dieses listet die verfügbaren Parameter inklusive kurzer Erklärungen auf und lässt sich mit folgendem Befehl öffnen:

```none
snmpget -h
```

[![Bild: snmpget-Hilfsmenü in der Windows-Eingabeaufforderung](https://www.ionos.de/digitalguide/fileadmin/_processed_/3/3/csm_snmpget_7d79b507dd.webp "snmpget-Hilfsmenü in der Windows-Eingabeaufforderung")](https://www.ionos.de/digitalguide/fileadmin/DigitalGuide/Screenshots_2018/snmpget.jpg) snmpget-Hilfsmenü in der Windows-Eingabeaufforderung Wie der Befehl für eine standardmäßige Abfrage eines ausgewählten Datensatzes aussieht, hängt in erster Linie von der zugrundeliegenden **Protokollversion** ab. Diese wird einerseits in den Parametern angegeben und bestimmt andererseits, ob der **Community-String** (SNMPv1 und SNMPv2c) oder die jeweilige **Authentifizierungsmethode** (authNoPriv, authPriv, noAuthNoPriv) inklusive entsprechender Anmeldeinformationen (SNMPv3) folgen. Um beispielsweise abzufragen, ob ein Firmware-Update bzw. ein Update des Betriebssystems verfügbar ist, tippen Sie eine der fünf folgenden versionsspezifischen Befehlsmöglichkeiten ein:

**snmpget-Abfrage via SNMPv1**:

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

**snmpget-Abfrage via SNMPv2**:

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

**snmpget-Abfrage via SNMPv3 (Authentifizierung, aber keine Verschlüsselung)**:

```none
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 (Authentifizierung und Verschlüsselung)**:

```none
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 Authentifizierung, keine Verschlüsselung)**:

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

Als Ergebnis der Abfrage erhalten Sie einen **numerischen Wert**, der Sie über den Update-Status informiert. Der Wert „1“ zeigt beispielsweise an, dass eine Aktualisierung verfügbar ist, während der Wert „2“ präsentiert wird, wenn Firmware bzw. Betriebssystem bereits auf dem neuesten Stand sind. Um die Rückgabewerte besser lesen und interpretieren zu können, laden Sie die erforderliche **MIB auf den Rechner**, mit dem Sie die SNMP-Abfrage durchführen, und kopieren Sie die entsprechende Datei in das Verzeichnis */usr/share/snmp/mibs*. Unter Linux/UNIX können Sie zu diesem Zweck einen MIB-Downloader installieren, der Sie bei diesem Vorhaben unterstützt.

```none
sudo apt install snmp-mibs-downloader
```

### So funktioniert die Abfrage kompletter MIBs mit snmpwalk

Auch snmpwalk gibt Ihnen die Möglichkeit, eine Übersicht erforderlicher und verfügbarer Parameter aufzurufen. Dieses **Hilfsmenü** erscheint nach der Eingabe des folgenden Befehls:

```none
snmpwalk -h
```

[![Bild: Windows-Eingabeaufforderung: Optionsmenü von snmpwalk](https://www.ionos.de/digitalguide/fileadmin/_processed_/6/2/csm_snmpwalk_25afac2216.webp "Windows-Eingabeaufforderung: Optionsmenü von snmpwalk")](https://www.ionos.de/digitalguide/fileadmin/DigitalGuide/Screenshots_2018/snmpwalk.jpg) Windows-Eingabeaufforderung: Optionsmenü von snmpwalk Auch hinsichtlich der Datenabfrage unterscheidet sich snmpwalk kaum von snmpget. Der Unterschied besteht hauptsächlich in der **Ausführung der Befehle**: Während snmpget nur einen einzigen Wert zur angeforderten OID zurückgibt oder eine Fehlermeldung anzeigt, wenn kein Objekt hinter der Identifikationsnummer verfügbar ist, durchläuft snmpwalk auch sämtliche Unterknoten. So lässt sich etwa eine detaillierte Auflistung relevanter Systeminformationen anzeigen, wenn die Identifikationsnummer der entsprechenden MIB bekannt ist. Wie bei den einfachen GET-Requests kommt es bei den erforderlichen Befehlen auf die gewählte **Protokollversion** an:

**snmpwalk-Abfrage via SNMPv1**:

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

**snmpwalk-Abfrage via SNMPv2**:

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

**snmpwalk-Abfrage via SNMPv3 (Authentifizierung, aber keine Verschlüsselung)**:

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

**snmpwalk-Abfrage via SNMPv3 (Authentifizierung und Verschlüsselung)**:

```none
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 Authentifizierung, keine Verschlüsselung)**:

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

Fazit snmpwalk und snmpget helfen Ihnen dabei, gewünschte Netzwerkdaten via Simple Network Management Protocol abzufragen. Als Teil der Net-SNMP-Suite sind die beiden Kommandozeilentools schnell auf dem eigenen System installiert und ebenso einfach zu bedienen. Dieses SNMP-Tutorial hat aufgezeigt, wie unkompliziert sich eine einzelne Information bzw. ein kompletter Informationsblock ansteuern lässt, sofern Sie die **IP-Adresse des SNMP-Agenten** und den jeweiligen **Object Identifier** kennen.


This is a markdown version of: [https://www.ionos.de/digitalguide/server/knowhow/snmp-tutorial/](https://www.ionos.de/digitalguide/server/knowhow/snmp-tutorial/) for AI/LLM consumption.