How to install and use snmpwalk

Snmpwalk is a great tool for Linux boxes. You can easily list all OIDs a SNMP host has to offer then filter the results to your needs and find OIDs to import into tools like Cacti. Snmpwalk is in most linux repos so its easy to install e.g:

Fedora/Centos: yum install net-snmp-utils
Ubuntu: apt-get install snmp

The syntax to use snmpwalk is also pretty simple:

m00nie@linuxBox:~$snmpwalk --help


-h, --help display this help message
-H display configuration file directives understood
-v 1|2c|3 specifies SNMP version to use
-V, --version display package version number
SNMP Version 1 or 2c specific
-c COMMUNITY set the community string
SNMP Version 3 specific
-a PROTOCOL set authentication protocol (MD5|SHA)
-A PASSPHRASE set authentication protocol pass phrase
-e ENGINE-ID set security engine ID (e.g. 800000020109840301)
-E ENGINE-ID set context engine ID (e.g. 800000020109840301)
-l LEVEL set security level (noAuthNoPriv|authNoPriv|authPriv)
-n CONTEXT set context name (e.g. bridge1)
-u USER-NAME set security name (e.g. bert)
-x PROTOCOL set privacy protocol (DES|AES)
-X PASSPHRASE set privacy protocol pass phrase
-Z BOOTS,TIME set destination engine boots/time
General communication options
-r RETRIES set the number of retries
-t TIMEOUT set the request timeout (in seconds)
-d dump input/output packets in hexadecimal
-D TOKEN[,...] turn on debugging output for the specified TOKENs
(ALL gives extremely verbose debugging output)

A copy of the man page can be found here.
So a simple example of listing all OIDs on a host with an IP of using snmp version two and a community string of mysecretsnmp would be:

m00nie@linuxBox:~$ snmpwalk -v 2c -c mysecretsnmp
SNMPv2-MIB::sysDescr.0 = STRING: Linux 2.4.31 #2 SMP Fri Aug 22 23:02:05 PDT 2008 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-TC::linux
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (22119) 0:03:41.19
SNMPv2-MIB::sysContact.0 = STRING: m00nie Networks
SNMPv2-MIB::sysName.0 = STRING:
SNMPv2-MIB::sysLocation.0 = STRING: m00nieland
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
NOTIFICATION-LOG-MIB::nlmLogTime."default".1 = Timeticks: (12) 0:00:00.12
NOTIFICATION-LOG-MIB::nlmLogDateAndTime."default".1 = STRING: 2010-8-23,13:50:31.0,+1:0

Now to only view one OID value we can append the OID SNMPv2-MIB::sysContact.0

m00nie@linuxBox:~$ snmpwalk -v 2c -c mysecretsnmp SNMPv2-MIB::sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: m00nie Networks

To display the numerical OID for each snmp value use the “-O n” switch. Useful for Cacti as it only uses the numerical OID 😉

m00nie@linuxBox:~$ snmpwalk -v 2c -O n -c mysecretsnmp SNMPv2-MIB::sysContact.0
. = STRING: m00nie Networks

You can also use the numerical OID to refine the output.

m00nie@linuxBox:~$ snmpwalk -v 2c -O n -c mysecretsnmp .
. = STRING: m00nie Networks

Now if your linux box is also running Cacti or similar you have proven SNMP connectivity so importing like this is easy, allowing the graphing of the value.

m00nie 🙂


Leave a Reply