SNMP
SNMP protocol support, queried MIBs, timeouts, and credential resolution.
Technical reference for Scanopy's SNMP implementation. For setup instructions, see the SNMP discovery guide. For how credential assignment and resolution works, see Credentials.
Protocol support
| Versions | SNMPv1, SNMPv2c, SNMPv3 |
|---|---|
| SNMPv3 authentication | MD5, SHA-1, SHA-256 |
| SNMPv3 privacy | AES-128, AES-256 |
| Ports (UDP, in the order tried) | 161, 1161 |
SNMPv3 runs at the AuthPriv security level only: every SNMPv3 credential needs both an authentication and a privacy protocol.
Queried MIBs
| MIB | Object | OID | Read by |
|---|---|---|---|
| SNMPv2-MIB RFC 3418 | sysDescr | 1.3.6.1.2.1.1.1.0 | GET |
| sysObjectID | 1.3.6.1.2.1.1.2.0 | GET | |
| sysUpTime | 1.3.6.1.2.1.1.3.0 | GET | |
| sysContact | 1.3.6.1.2.1.1.4.0 | GET | |
| sysName | 1.3.6.1.2.1.1.5.0 | GET | |
| sysLocation | 1.3.6.1.2.1.1.6.0 | GET | |
| sysServices | 1.3.6.1.2.1.1.7.0 | GET | |
| IF-MIB RFC 2863 | ifNumber | 1.3.6.1.2.1.2.1.0 | GET |
| ifIndex | 1.3.6.1.2.1.2.2.1.1 | Walk | |
| ifDescr | 1.3.6.1.2.1.2.2.1.2 | Walk | |
| ifType | 1.3.6.1.2.1.2.2.1.3 | Walk | |
| ifMtu | 1.3.6.1.2.1.2.2.1.4 | Walk | |
| ifSpeed | 1.3.6.1.2.1.2.2.1.5 | Walk | |
| ifPhysAddress | 1.3.6.1.2.1.2.2.1.6 | Walk | |
| ifAdminStatus | 1.3.6.1.2.1.2.2.1.7 | Walk | |
| ifOperStatus | 1.3.6.1.2.1.2.2.1.8 | Walk | |
| ifName | 1.3.6.1.2.1.31.1.1.1.1 | Walk | |
| ifHighSpeed | 1.3.6.1.2.1.31.1.1.1.15 | Walk | |
| ifAlias | 1.3.6.1.2.1.31.1.1.1.18 | Walk | |
| IP-MIB RFC 4293 | ipAdEntIfIndex | 1.3.6.1.2.1.4.20.1.2 | Walk |
| ipAdEntNetMask | 1.3.6.1.2.1.4.20.1.3 | Walk | |
| ipNetToMediaIfIndex | 1.3.6.1.2.1.4.22.1.1 | Walk | |
| ipNetToMediaPhysAddress | 1.3.6.1.2.1.4.22.1.2 | Walk | |
| ipNetToMediaNetAddress | 1.3.6.1.2.1.4.22.1.3 | Walk | |
| ipNetToMediaType | 1.3.6.1.2.1.4.22.1.4 | Walk | |
| LLDP-MIB IEEE 802.1AB-2005 | lldpLocChassisIdSubtype | 1.0.8802.1.1.2.1.3.1.0 | GET |
| lldpLocChassisId | 1.0.8802.1.1.2.1.3.2.0 | GET | |
| lldpLocPortIdSubtype | 1.0.8802.1.1.2.1.3.7.1.2 | Walk | |
| lldpLocPortId | 1.0.8802.1.1.2.1.3.7.1.3 | Walk | |
| lldpLocPortDesc | 1.0.8802.1.1.2.1.3.7.1.4 | Walk | |
| lldpRemChassisIdSubtype | 1.0.8802.1.1.2.1.4.1.1.4 | Walk | |
| lldpRemChassisId | 1.0.8802.1.1.2.1.4.1.1.5 | Walk | |
| lldpRemPortIdSubtype | 1.0.8802.1.1.2.1.4.1.1.6 | Walk | |
| lldpRemPortId | 1.0.8802.1.1.2.1.4.1.1.7 | Walk | |
| lldpRemPortDesc | 1.0.8802.1.1.2.1.4.1.1.8 | Walk | |
| lldpRemSysName | 1.0.8802.1.1.2.1.4.1.1.9 | Walk | |
| lldpRemSysDesc | 1.0.8802.1.1.2.1.4.1.1.10 | Walk | |
| lldpRemManAddrIfSubtype | 1.0.8802.1.1.2.1.4.2.1.3 | Walk | |
| LLDP-V2-MIB IEEE 802.1AB-2009 | lldpV2LocChassisIdSubtype | 1.3.111.2.802.1.1.13.1.3.1.0 | GET |
| lldpV2LocChassisId | 1.3.111.2.802.1.1.13.1.3.2.0 | GET | |
| lldpV2RemChassisIdSubtype | 1.3.111.2.802.1.1.13.1.4.1.1.5 | Walk | |
| lldpV2RemChassisId | 1.3.111.2.802.1.1.13.1.4.1.1.6 | Walk | |
| lldpV2RemPortIdSubtype | 1.3.111.2.802.1.1.13.1.4.1.1.7 | Walk | |
| lldpV2RemPortId | 1.3.111.2.802.1.1.13.1.4.1.1.8 | Walk | |
| lldpV2RemPortDesc | 1.3.111.2.802.1.1.13.1.4.1.1.9 | Walk | |
| lldpV2RemSysName | 1.3.111.2.802.1.1.13.1.4.1.1.10 | Walk | |
| lldpV2RemSysDesc | 1.3.111.2.802.1.1.13.1.4.1.1.11 | Walk | |
| lldpV2RemManAddrIfSubtype | 1.3.111.2.802.1.1.13.1.4.2.1.3 | Walk | |
| CISCO-CDP-MIB Cisco | cdpCacheDeviceId | 1.3.6.1.4.1.9.9.23.1.2.1.1.6 | Walk |
| cdpCacheDevicePort | 1.3.6.1.4.1.9.9.23.1.2.1.1.7 | Walk | |
| cdpCachePlatform | 1.3.6.1.4.1.9.9.23.1.2.1.1.8 | Walk | |
| cdpCacheAddress | 1.3.6.1.4.1.9.9.23.1.2.1.1.4 | Walk | |
| ENTITY-MIB RFC 6933 | entPhysicalDescr | 1.3.6.1.2.1.47.1.1.1.1.2 | Walk |
| entPhysicalClass | 1.3.6.1.2.1.47.1.1.1.1.5 | Walk | |
| entPhysicalName | 1.3.6.1.2.1.47.1.1.1.1.7 | Walk | |
| entPhysicalFirmwareRev | 1.3.6.1.2.1.47.1.1.1.1.9 | Walk | |
| entPhysicalSoftwareRev | 1.3.6.1.2.1.47.1.1.1.1.10 | Walk | |
| entPhysicalSerialNum | 1.3.6.1.2.1.47.1.1.1.1.11 | Walk | |
| entPhysicalMfgName | 1.3.6.1.2.1.47.1.1.1.1.12 | Walk | |
| entPhysicalModelName | 1.3.6.1.2.1.47.1.1.1.1.13 | Walk | |
| entPhysicalAssetID | 1.3.6.1.2.1.47.1.1.1.1.15 | Walk | |
| BRIDGE-MIB RFC 4188 | dot1dBaseNumPorts | 1.3.6.1.2.1.17.1.2.0 | GET |
| dot1dBasePortIfIndex | 1.3.6.1.2.1.17.1.4.1.2 | Walk | |
| dot1dTpFdbAddress | 1.3.6.1.2.1.17.4.3.1.1 | Walk | |
| dot1dTpFdbPort | 1.3.6.1.2.1.17.4.3.1.2 | Walk | |
| dot1dTpFdbStatus | 1.3.6.1.2.1.17.4.3.1.3 | Walk | |
| Q-BRIDGE-MIB RFC 4363 | dot1qTpFdbPort | 1.3.6.1.2.1.17.7.1.2.2.1.2 | Walk |
| dot1qTpFdbStatus | 1.3.6.1.2.1.17.7.1.2.2.1.3 | Walk | |
| dot1qVlanStaticName | 1.3.6.1.2.1.17.7.1.4.3.1.1 | Walk | |
| dot1qPvid | 1.3.6.1.2.1.17.7.1.4.5.1.1 | Walk | |
| dot1qVlanCurrentEgressPorts | 1.3.6.1.2.1.17.7.1.4.2.1.4 | Walk | |
| dot1qVlanCurrentUntaggedPorts | 1.3.6.1.2.1.17.7.1.4.2.1.5 | Walk | |
| CISCO-VTP-MIB Cisco | vtpVlanName | 1.3.6.1.4.1.9.9.46.1.3.1.1.4 | Walk |
LLDP-V2-MIB is read only when a complete read of the LLDP-MIB neighbor table finds no rows, and its local chassis objects only when the LLDP-MIB ones return nothing. CISCO-VTP-MIB is read only when Q-BRIDGE-MIB returns no VLAN names.
Data collected
A successful SNMP run against a host populates the following entities in Scanopy:
| Entity | Fields populated from SNMP |
|---|---|
| Host | hostname (from sysName when DNS lacks one), sysDescr, sysObjectID, sysLocation, sysContact, sysName, manufacturer, model, serial number, asset tag, chassis ID, firmware revision, software revision |
| Interface | ifIndex, name / alias / description, type, speed, MTU, MAC, admin and oper status, native VLAN, tagged VLAN list, learned MACs, LLDP/CDP neighbor |
| Subnet | CIDRs inferred from ipAddrTable entries |
| Host (remote) | New hosts created from ARP entries on SNMP-discovered subnets |
Timeouts and limits
| Limit | Value | Applies to |
|---|---|---|
| Probe timeout | 2s | Liveness probe per credential and port, used to pick a working credential before collection |
| Request timeout | 5s | A single SNMP request |
| Session timeout | 5s | Establishing the UDP session |
| Query timeout | 1m | Any single query, including a full walk of a table |
| Max entries | 10,000 | Rows read from a single table walk |
| Integration timeout | 15m | A full SNMP run against one host, probe and all queries |
Candidate credentials are probed concurrently, so a host with several assigned credentials doesn't pay for each one in sequence.
Every query has its own timeout, so a device that stops responding mid-collection costs one query timeout rather than the whole integration timeout.
Credential behavior
Which credential a host is queried with follows the standard resolution order. The default SNMP credential for community public is assigned to every new site, so a device left on the default needs no credential of its own.
If every credential fails on every port, the host is discovered without SNMP data. A query that fails inside an otherwise working session is logged and skipped rather than aborting the rest.
Partial results are kept: interfaces are saved as soon as the interface table is read, before the neighbor, forwarding-table and VLAN queries run.
Product names and logos are trademarks of their respective owners. See credits.