From Wikipedia, the free encyclopedia
Original author(s)Wes Hardaker
Developer(s)open source community
Stable release
5.9.2 / June 30, 2022; 10 months ago (2022-06-30)
Written inC, Perl, Python
Operating systemMost
TypeNetwork Management
LicenseBSD licenses

Net-SNMP is a suite of software for using and deploying the SNMP protocol (v1, v2c and v3 and the AgentX subagent protocol). It supports IPv4, IPv6, IPX, AAL5, Unix domain sockets and other transports. It contains a generic client library, a suite of command line applications, a highly extensible SNMP agent, perl modules and python modules.


Net-SNMP is housed on SourceForge and is usually in the top 100 projects in the SourceForge ranking system. It was the March 2005 SourceForge Project of the Month.[1] It is very widely distributed and comes included with many operating systems including most distributions of Linux, FreeBSD, OpenBSD, Solaris, and OS X. It is also available from the Net-SNMP web site.


Steve Waldbusser of CMU started a freely available SNMP tool kit in 1992. The package was later abandoned by CMU and Wes Hardaker at UC Davis renamed it to UCD-SNMP and extended it to meet the network management needs of the Electrical Engineering department there. Eventually Mr. Hardaker left the university and realized that the project was now network wide and thus renamed it to Net-SNMP to reflect its distributed development.[2]

The roots of the Net-SNMP project are long and a full description can be found on the Net-SNMP history page.

SNMP Applications Included With Net-SNMP[edit]

Application Description
encode_keychange Produce the KeyChange string for SNMPv3.
snmptranslate Translate MIB OID names between numeric and textual forms.
snmpget Communicates with a network entity using SNMP GET requests.
snmpgetnext Communicates with a network entity using SNMP GETNEXT requests.
snmpbulkget Communicates with a network entity using SNMP GETBULK requests.
snmpwalk Retrieve a subtree of management values using SNMP GETNEXT requests.
snmpbulkwalk Retrieve a subtree of management values using SNMP GETBULK requests.
snmpset Communicates with a network entity using SNMP SET requests.
snmptrap Sends SNMP TRAP or INFORM notification messages.
snmpd An SNMP agent that responds to SNMP requests for a given host.
snmptrapd An SNMP daemon that listens for SNMP TRAPs or INFORMs and logs or acts upon them.
snmptest Communicates with a network entity using SNMP requests.
snmpusm Manipulates the SNMPv3 User-based-security user table
snmpvacm Manipulates the SNMPv3 View-based-access-control-module configuration tables
snmpdf Displays disk information like the unix df tool using information collected from SNMP
mib2c A MIB conversion utility that can translate MIB structures into other forms, such as C-code
tkmib A perl/Tk interactive graphical MIB browser for SNMP.


The command snmpget uses the snmpget application to retrieve information associated with a specific object identifier (OID) from a target device.


An example of snmpget usage (this will retrieve a specific OID 'sysUpTime' under the community string 'demopublic', with '' as the host name of the agent to query:

% snmpget -v 2c -c demopublic SNMPv2-MIB::sysUpTime.0
SNMPv2-MIB::sysUpTime.0 = Timeticks: (586731977) 67 days, 21:48:39.77


The command snmpwalk uses the SNMP GETNEXT request to query a network for a tree of information.

An object identifier (OID) may be given on the command line. This OID specifies which portion of the object identifier space will be searched using GETNEXT requests. All variables in the subtree below the given OID are queried and their values presented to the user. If no OID argument is present, snmpwalk will search the subtree rooted at SNMPv2-SMI::mib-2 (including any MIB object values from other MIB modules, that are defined as lying within this subtree).


An example of snmpwalk usage (this will retrieve all of the variables under the system OID):

$ snmpwalk -t 5 -Os -c demopublic -v 2c system
sysDescr.0 = STRING: Linux 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64
sysObjectID.0 = OID: netSnmpAgentOIDs.10
sysUpTimeInstance = Timeticks: (34198503) 3 days, 22:59:45.03
sysContact.0 = STRING: Net-SNMP Coders
sysName.0 = STRING:
sysLocation.0 = STRING: Undisclosed