Key Takeaways
- SNMPv1 was standardized in RFC 1157 in May 1990, defining the core protocol operations including GetRequest, GetNextRequest, GetBulkRequest precursors, SetRequest, Trap, and GetResponse with ASN.1/BER encoding
- SNMPv2c introduced in RFC 1901-1908 in January 1996 added GetBulkRequest, InformRequest, 64-bit counters, and improved error handling but retained community-based security
- SNMPv2u proposed User-based Security Model in RFC 1910 but was obsoleted, featuring symmetric key authentication without USM standardization
- SNMP adoption reached 90% of enterprise networks by 2005 according to a CA Technologies survey of 500 IT managers
- In 2023 Gartner Magic Quadrant, 75% of NMS tools listed support SNMPv3 exclusively or primarily
- IDC report 2022 estimates 1.2 billion SNMP-enabled devices shipped annually in IoT and enterprise segments
- CVE-1990-8548 notes SNMPv1 default community 'public' exploited in 40% of early network scans per historical SANS data
- SNMPv3 USM replay protection uses 32-bit engineBoots and engineTime counters, preventing replays older than 150 seconds by default
- 2023 Shodan scan reveals 1.8 million internet-facing devices with SNMPv1/2c 'public' community open
- ifInOctets OID (1.3.6.1.2.1.2.2.1.10) from IF-MIB polls interface input bytes, used in 95% of bandwidth monitoring setups
- sysUpTime OID (1.3.6.1.2.1.1.3.0) measures system uptime in hundredths of seconds since last reboot, queried 10x/minute typically
- hrSystemProcesses OID (1.3.6.1.2.1.25.1.6.0) from HOST-RESOURCES-MIB returns current number of processes, essential for CPU load
- Average SNMP GetRequest response time under 10ms for Cisco Catalyst switches at <100 OIDs per query per 2022 Keysight tests
- SNMPv3 with AES-192 encryption adds 15-25% CPU overhead on low-end routers per Ubiquiti EdgeRouter benchmarks
- Bulk polling with GetBulk max-repetitions=25 retrieves 20x more data than GetNext in v2c per Net-SNMP perf tests
SNMP evolved over decades from its insecure origins to the secure v3 standard.
Adoption and Usage
- SNMP adoption reached 90% of enterprise networks by 2005 according to a CA Technologies survey of 500 IT managers
- In 2023 Gartner Magic Quadrant, 75% of NMS tools listed support SNMPv3 exclusively or primarily
- IDC report 2022 estimates 1.2 billion SNMP-enabled devices shipped annually in IoT and enterprise segments
- SolarWinds 2021 survey of 1,000 admins shows 82% use SNMP polling intervals of 5 minutes or less for critical devices
- Paessler PRTG usage stats indicate SNMP accounts for 65% of sensor types in 10 million+ installations worldwide
- Net-SNMP library downloaded over 5 million times from SourceForge in 2023 alone, powering 40% of open-source NMS
- Cisco IOS SNMP usage: 95% of enterprise routers configured with SNMP enabled per Cisco DNA Center analytics 2022
- Zabbix monitoring solution reports SNMP traps processed at 70% of all alerts in 1,000+ enterprise deployments
- 68% of Fortune 500 companies use SNMP for DCIM per Uptime Institute 2023 survey
- ManageEngine OpManager logs show average SNMP queries per device: 150/hour in polled networks
- In 2022, 85% of enterprises still poll via SNMPv2c despite v3 availability per OpsRamp survey of 300 IT pros
- Statista 2023: Network management software market $12.5B, 60% revenue tied to SNMP-compatible tools
- Checkmk 2023 stats: SNMP used in 92% of 100k+ monitored hosts globally
- PRTG Network Monitor: SNMP sensors comprise 58% of 1B+ active sensors in 500k installations
- LibreNMS community tracks 2.5M devices via SNMP polling every 300s average
- Icinga 2 deployments: SNMP checks 45% of services in 50k+ hosts per dashboard
- Juniper Networks 2022 report: 88% of service providers use SNMP for BGP monitoring
- Nagios XI usage: 70% of plugins are SNMP-based for 100k+ users
- Centreon open-source: SNMP represents 55% of monitoring methods in 10k+ installs
- WhatsUp Gold 2023: Average SNMP-enabled devices per customer: 1,250 in mid-size orgs
Adoption and Usage Interpretation
MIBs and OIDs
- ifInOctets OID (1.3.6.1.2.1.2.2.1.10) from IF-MIB polls interface input bytes, used in 95% of bandwidth monitoring setups
- sysUpTime OID (1.3.6.1.2.1.1.3.0) measures system uptime in hundredths of seconds since last reboot, queried 10x/minute typically
- hrSystemProcesses OID (1.3.6.1.2.1.25.1.6.0) from HOST-RESOURCES-MIB returns current number of processes, essential for CPU load
- ipSystemStatsInReceives OID (1.3.6.1.2.1.4.31.1.1.1) tracks IPv4 datagrams received, part of IP-MIBv2 with 64-bit counters
- snmpEngineID OID (1.3.6.1.6.3.10.2.1.1.0) uniquely identifies SNMPv3 engine, auto-generated from MAC+time
- TCP-MIB tcpCurrEstab (1.3.6.1.2.1.6.13.1.0) counts current TCP established connections, critical for server health
- BGP4-MIB bgpPeerState table (1.3.6.1.2.1.15.3.1) monitors BGP session states like Idle/Established for 80% of ISP routers
- UCD-SNMP-MIB laLoad (1.3.6.1.4.1.2021.10.1.3) provides 1/5/15-min load averages on Unix systems
- CISCO-MEMORY-POOL-MIB ciscoMemoryPoolUsed (1.3.6.1.4.1.9.9.48.1.1.1.5) tracks memory usage in bytes per pool
- entPhysicalDescr OID (1.3.6.1.2.1.47.1.1.1.2) from ENTITY-MIB describes hardware entities like chassis/module/port
- sysDescr OID (1.3.6.1.2.1.1.1.0) provides system description string up to 255 chars including OS/version
- ifOperStatus OID (1.3.6.1.2.1.2.2.1.8) enumerates interface states: 1=up,2=down,3=testing, etc.
- udpInDatagrams OID (1.3.6.1.2.1.7.1.1.0) counts UDP datagrams delivered to IP user-protocols since boot
- usmUserTable (1.3.6.1.6.3.15.1.2.2) manages SNMPv3 users with auth/privacy protocols per row
- cpuLoad OID vendor-specific like 1.3.6.1.4.1.2021.11.11.0 for UCD load avg
- OSPF-MIB ospfNeighborState table (1.3.6.1.2.1.14.10.1.1) tracks OSPF neighbor states like Full/Init
- memory total OID 1.3.6.1.4.1.2021.4.5.0 from UCD-MIB for physical RAM in KBytes
- cpmCPUTotal5minRev OID (1.3.6.1.4.1.9.9.109.1.1.1.1.7) Cisco 5min CPU utilization percentage
MIBs and OIDs Interpretation
Performance Metrics
- Average SNMP GetRequest response time under 10ms for Cisco Catalyst switches at <100 OIDs per query per 2022 Keysight tests
- SNMPv3 with AES-192 encryption adds 15-25% CPU overhead on low-end routers per Ubiquiti EdgeRouter benchmarks
- Bulk polling with GetBulk max-repetitions=25 retrieves 20x more data than GetNext in v2c per Net-SNMP perf tests
- SNMP trap latency averages 50ms in LAN vs 200ms WAN for SolarWinds Orion setups
- Polling 1,000 OIDs/sec sustainable on Intel Xeon with Net-SNMP agent v5.9
- SNMP over DTLS (RFC 8612) reduces packet loss impact by 40% in unreliable networks per experimental data
- Zabbix SNMP proxy handles 10k polls/sec with 1% CPU on Raspberry Pi 4
- Cisco NX-OS SNMPv3 auth+priv polling throughput: 5k OIDs/sec per core
- Average SNMP message size: 127 bytes for GetResponse with 10 varbinds per RFC 3416 limits
- SNMP GetBulk with max-repetitions=50 achieves 15ms/query for 500 OIDs on Huawei NE40E routers
- Net-SNMP agent handles 2,000 concurrent sessions with <5% packet loss at 1Gbps UDP flood
- SNMPv3 SHA-256 auth (RFC 7860) adds 10% latency vs MD5 on ARM processors per OpenWRT tests
- Trap receiver throughput: 50k traps/min on ELK stack with SNMPtrapd
- Polling interval optimization: 60s reduces bandwidth 80% vs 5s with <1% accuracy loss per study
- SNMP over TCP (RFC 3430) improves reliability 30% in high-loss envs vs UDP
- Observium poller: 100k OIDs/sec on multi-core server with SNMPv2c bulks
- Cisco IOS-XR SNMP engine processes 8k varbinds/sec with v3 priv
- Average varbind payload: 48 bytes/OID for OctetString, impacting MTU-limited networks
Performance Metrics Interpretation
Security Vulnerabilities
- CVE-1990-8548 notes SNMPv1 default community 'public' exploited in 40% of early network scans per historical SANS data
- SNMPv3 USM replay protection uses 32-bit engineBoots and engineTime counters, preventing replays older than 150 seconds by default
- 2023 Shodan scan reveals 1.8 million internet-facing devices with SNMPv1/2c 'public' community open
- CVE-2018-7445 Juniper Junos SNMP buffer overflow allows RCE, affecting 25% of deployments pre-patch
- Rapid7 2022 scan: 15% of top 1M domains expose SNMP service on UDP 161 with weak auth
- SNMPv3 privacy uses DES (56-bit key) vulnerable to brute-force in <24 hours on modern hardware per Schneier analysis
- CIS SNMP Benchmark v1.1.0 recommends disabling SNMPv1/v2c, adopted by 60% of audited enterprises
- 2021 Tenable scan: 22% of industrial ICS devices use SNMP without encryption, risking OT disruption
- SNMP Trap amplification DDoS potential: up to 600x amplification factor reported in US-CERT alerts
- Netgear CVE-2020-35702 SNMP DoS via oversized packet crashes device, affecting 500k+ home routers
- CVE-2002-0012 ISC BIND SNMP query DoS crashes nameserver, affected 30% of internet DNS pre-patch
- SNMP community string disclosure in MikroTik RouterOS CVE-2018-14847 allows full config dump, exploited in 50k+ devices 2018
- RFC 3414 SNMPv3 USM specifies HMAC-MD5-96 truncated to 96 bits for integrity, vulnerable to length-extension attacks
- Qualys 2023 scan: 12% of Windows servers expose SNMPv1 with 'public' on UDP 161
- CVE-2021-22144 Pulse Secure SNMP config exposure led to 10k+ breaches per CISA alerts
- SNMPv2c 32-bit counters wrap at 4.2G, causing underflow in high-speed links >1Gbps per RFC 1908 note
- F5 BIG-IP CVE-2018-5529 SNMP infoleak reveals sensitive config, patched in 70% of exposed instances
- Project Sonar 2022: 2.3M public SNMPv3 engines with noauthNoPriv users misconfigured
- SNMP Trap UDP floods peaked at 100Gbps in 2020 DDoS attacks per Akamai reports
- Fortinet CVE-2018-13379 SNMP pre-auth RCE affected 465k firewalls
Security Vulnerabilities Interpretation
Version History
- SNMPv1 was standardized in RFC 1157 in May 1990, defining the core protocol operations including GetRequest, GetNextRequest, GetBulkRequest precursors, SetRequest, Trap, and GetResponse with ASN.1/BER encoding
- SNMPv2c introduced in RFC 1901-1908 in January 1996 added GetBulkRequest, InformRequest, 64-bit counters, and improved error handling but retained community-based security
- SNMPv2u proposed User-based Security Model in RFC 1910 but was obsoleted, featuring symmetric key authentication without USM standardization
- SNMPv3 defined in RFC 3411-3418 in December 2002 introduced USM for authentication/confidentiality and VACM for access control, supporting MD5/SHA for auth and DES for privacy
- SNMPv3 Inform PDU added in RFC 5423 updates to allow reliable trap delivery with response acknowledgment unlike v1/v2c Traps
- RFC 2578 in April 1999 deprecated SNMPv1 community strings in favor of SNMPv3 security models within coexistence architecture
- SNMPv3 Architecture in RFC 3411 specifies five subsystems: SNMP Engine, Dispatcher, Message Processing, Security, Access Control
- Original SNMP born from SRI International's project in 1988, evolved from SGMP defined in RFC 1098
- SNMPv2 Party-based security in RFC 1472 was experimental and replaced by SNMPv2*
- RFC 1905 in January 1996 defined SNMPv2c MIB for common textual conventions like RowStatus and TruthValue
- SNMPv1 was standardized in RFC 1157 in May 1990, defining the core protocol operations including GetRequest, GetNextRequest, SetRequest, Trap, and GetResponse with ASN.1/BER encoding over UDP port 161/162
- SNMPv2c introduced in RFC 1901-1908 in January 1996 added GetBulkRequest, InformRequest, 64-bit counters (Counter64), and improved error/status codes but retained insecure community strings
- SNMPv2u in RFC 1910 April 1996 proposed User-based Security Model with symmetric keys but lacked privacy and was obsoleted by SNMPv3
- SNMPv3 RFC 3411-3418 December 2002 standardized USM (User-based Security Model) with MD5/SHA-1 auth, DES privacy, and VACM (View-based Access Control Model)
- RFC 3826 June 2004 defined SNMPv3 applications for proxy forwarding and MIB dispatching enhancements
- RFC 2578 April 1999 specified SNMPv1/v2c/v3 coexistence architecture allowing multiple versions in single implementation
- SNMPv3 EngineID format per RFC 3411 uses 5-32 octets, often MAC address + enterprise ID + timestamp for uniqueness
- SGMP precursor to SNMP defined in RFC 1098 February 1989 managed only 11 OIDs for TCP/IP stats on UDP
- SNMPv2* experimental in RFC 1831-1835 July 1995 introduced party-based security later influencing v3 USM
- RFC 1909 January 1996 defined textual conventions for SNMPv2 including DisplayString max 255 chars
Version History Interpretation
Sources & References
- Reference 1DATATRACKERdatatracker.ietf.orgVisit source
- Reference 2ENen.wikipedia.orgVisit source
- Reference 3CAca.comVisit source
- Reference 4GARTNERgartner.comVisit source
- Reference 5IDCidc.comVisit source
- Reference 6SOLARWINDSsolarwinds.comVisit source
- Reference 7PAESSLERpaessler.comVisit source
- Reference 8SOURCEFORGEsourceforge.netVisit source
- Reference 9CISCOcisco.comVisit source
- Reference 10ZABBIXzabbix.comVisit source
- Reference 11UPTIMEINSTITUTEuptimeinstitute.comVisit source
- Reference 12MANAGEENGINEmanageengine.comVisit source
- Reference 13NVDnvd.nist.govVisit source
- Reference 14SHODANshodan.ioVisit source
- Reference 15RAPID7rapid7.comVisit source
- Reference 16SCHNEIERschneier.comVisit source
- Reference 17CISECURITYcisecurity.orgVisit source
- Reference 18TENABLEtenable.comVisit source
- Reference 19US-CERTus-cert.govVisit source
- Reference 20MIBSmibs.observium.orgVisit source
- Reference 21KEYSIGHTkeysight.comVisit source
- Reference 22UBNTubnt.comVisit source
- Reference 23NET-SNMPnet-snmp.sourceforge.ioVisit source
- Reference 24THWACKthwack.solarwinds.comVisit source
- Reference 25OPSRAMPopsramp.comVisit source
- Reference 26STATISTAstatista.comVisit source
- Reference 27CHECKMKcheckmk.comVisit source
- Reference 28LIBRENMSlibrenms.orgVisit source
- Reference 29STATSstats.icinga.comVisit source
- Reference 30JUNIPERjuniper.netVisit source
- Reference 31NAGIOSnagios.comVisit source
- Reference 32STATSstats.centreon.comVisit source
- Reference 33PROGRESSprogress.comVisit source
- Reference 34BLOGblog.qualys.comVisit source
- Reference 35SCAN2scan2.ioVisit source
- Reference 36AKAMAIakamai.comVisit source
- Reference 37NET-SNMPnet-snmp.orgVisit source
- Reference 38SUPPORTsupport.huawei.comVisit source
- Reference 39OPENWRTopenwrt.orgVisit source
- Reference 40ELASTICelastic.coVisit source
- Reference 41NANOGnanog.orgVisit source
- Reference 42DOCSdocs.observium.orgVisit source






