This mini HowTo describes how to use the SNMP client tools to retrieve human readable information from devices running an SNMP daemon. In the examples below mini-snmpd is used as the daemon and as client both the command line net-snmp tool and the snmpB GUI are used.

Personally I use both Ubuntu and Debian, so the tools I use to download the clients will reflect that. See your respective UNIX distro’s help pages for how to install these client tools in your operating system.

Installing SNMP in Ubuntu

The following commands installs snmpset/get/walk, base MIBs and all the standard MIBs needed:

sudo apt-get install snmp libsnmp-base snmp-mibs-downloader

On Debian/Ubuntu you have to also edit the file /etc/snmp/snmp.conf to enable automatic loading of the downloaded MIBs, which is disabled by default. Comment out the line that reads:

mibs :

Assuming you have already started mini_snmpd, say using port 16161 so it doesn’t have to run as root, you can now talk to it using:

snmpwalk -v2c -c public
snmpget  -v2c -c public system.sysUpTime.0

On earlier versions of Ubuntu (pre 18.04) I’ve had trouble getting net-snmp to use the UCD-SNMP-MIB, so I’ve added it explicitly to my ~/snmp/snmp.conf:


This MIB is in /usr/share/snmp/mibs/ on my system …

Installing Private MIB files

If you want to access a router/switch which uses private MIBs you can do the same as I did for the UCD-SNMP-MIB:

mkdir -p ~/.snmp/mibs
cat << EOF > ~/.snmp/snmp.conf
# mibdirs /usr/share/snmp/mibs:/usr/share/mibs/ietf:/usr/share/mibs/iana:/usr/share/mibs/irtf:/usr/share/mibs/tubs
mibdirs $HOME/.snmp/mibs

Usually, however, it’s enough these days to just drop the MIB file(s) in your ~/.snmp/mibs.

Now you should be able to do this:

snmpset -v2c -c private COMPANY-SOME-MIB::reboot.0 i 1

which is quite an improvement over:

snmpset -v2c -c private i 1

Useful Tests

Walk all IP addresses

snmpwalk  -v2c -c public IP-MIB::ipAddrTable

Get loadavg

snmpwalk  -v2c -c public UCD-SNMP-MIB::laLoad

Read interface table

snmptable -v2c -c public IF-MIB::ifTable

For more tips on using snmpwalk, see the excellent Net-SNMP wiki