Skip to main content
SNMP

Simple Network Management Protocol

Active

Protocol for collecting and organizing information about managed devices on IP networks and modifying that information to change device behavior.

Network ManagementRFC 34111988Internet Standard

In one line

SNMP is the standard protocol for network management, defined in RFC 3411–3418 (SNMPv3). It allows network administrators to monitor and configure routers, switches, servers, and other devices. SNMP uses UDP port 161 for queries and 162 for traps. Management data is organized in a hierarchical Management Information Base (MIB) accessed via OID paths.

Quick Reference

FieldSizeDescription
VersionIntegerSNMP version (0=v1, 1=v2c, 3=v3)
CommunityStringCommunity string for auth (v1/v2c). Sent in cleartext.
PDU TypeIntegerGetRequest, GetNextRequest, GetBulkRequest, SetRequest, Response, Trap, Inform
Request IDIntegerMatches requests to responses
Varbind ListVariableOID–value pairs being queried or set

Key Characteristics

Poll-based

NMS polls agents periodically via GetRequest.

Trap-based

Agents send unsolicited Trap/Inform on events.

MIB Structure

Data organized in hierarchical OID tree (1.3.6.1.2.1…)

SNMPv3 Auth

v3 adds authentication and optional AES encryption.

Implementations

linuxsince net-snmpavailable
macosavailable
windowsavailable
freebsdavailable

Edge cases

  • SNMPv1/v2c community strings are sent in plaintext – never use on untrusted networks.
  • SNMP amplification attacks exploit GetBulk to generate large responses from small requests.
  • MIB compilation required before devices can be monitored.
  • High poll rates can overload network devices.

History

SNMP was defined in RFC 1067 (1988) as a simple replacement for SGMP. Despite 'simple' in its name, MIB complexity grew significantly. SNMPv3 (1999) finally addressed the long-criticized security weaknesses of v1 and v2c.

Related protocols