Simple Network Management Protocol
ActiveProtocol for collecting and organizing information about managed devices on IP networks and modifying that information to change device behavior.
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
| Field | Size | Description |
|---|---|---|
| Version | Integer | SNMP version (0=v1, 1=v2c, 3=v3) |
| Community | String | Community string for auth (v1/v2c). Sent in cleartext. |
| PDU Type | Integer | GetRequest, GetNextRequest, GetBulkRequest, SetRequest, Response, Trap, Inform |
| Request ID | Integer | Matches requests to responses |
| Varbind List | Variable | OID–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
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.