Open BusbyActual opened 7 years ago
You do not need to prepare MIBs anyhow to let pysnmp consuming them.
Do you get all the compiled MIBs in ~/.pysnmp/mibs/ ?
Do you have MIB compiler piece uncommented?
Have you set up MIB search path properly with all the dependent MIBs present there?
I'd suggest setting up http://mibs.snmplabs.com/asn1/ as one of your MIB sources to make sure the dependencies would be satisfied.
To see what is happenning under the hood I'd enable pysmi debugging and watch its output:
from pysmi import debug
debug.setLogger(debug.Debug('searcher', 'reader', 'compiler'))
Below is the script template I'm working off of.
Do you get all the compiled MIBs in ~/.pysnmp/mibs/ ?
I'm unable to locate this directory so no.
Do you have MIB compiler piece uncommented?
I didn't initially however I tried logging it and the same result.
Have you set up MIB search path properly with all the dependent MIBs present there?
Not sure here. Trying to find documentation on this one. I'm just sourcing the directory with all the MIBs and they work fine in a MIB browsing app.
Debugging
I can see the steps it's taking to do things more clearly. However, it doesn't like the from arg or the import options provided so I copied some from here .
from pysnmp.smi import builder, view, compiler, error
from pysnmp import debug
debug.setLogger(debug.Debug('dsp'))
# Create MIB loader/builder
mibBuilder = builder.MibBuilder()
# Optionally attach PySMI MIB compiler (if installed)
print('Attaching MIB compiler...'),
compiler.addMibCompiler(mibBuilder, sources=['/users/admin/desktop/mib/mibfiles/', 'http://mibs.snmplabs.com/asn1/'])
print('done')
# Optionally set an alternative path to compiled MIBs
print('Setting MIB sources...')
mibBuilder.addMibSources(builder.DirMibSource('/users/admin/desktop/mib/mibfiles/'))
print(mibBuilder.getMibSources())
print('done')
print('Loading MIB modules...'),
mibBuilder.loadModules('SNMPv2-MIB', 'SNMP-FRAMEWORK-MIB', 'SNMP-COMMUNITY-MIB', 'IP-MIB')
print('done')
print('Indexing MIB objects...'),
mibView = view.MibViewController(mibBuilder)
print('done')
print('MIB symbol name lookup by OID: '),
oid, label, suffix = mibView.getNodeName((1,3,6,1,4,1))
print(oid, label, suffix)
print('MIB symbol name lookup by label: '),
oid, label, suffix = mibView.getNodeName((1,3,6,1,4,1,'mib-2',1,'sysDescr'))
print(oid, label, suffix)
print('MIB symbol name lookup by symbol description: '),
oid, label, suffix = mibView.getNodeName(('sysDescr',))
oid, label, suffix = mibView.getNodeName(('snmpEngineID',), 'SNMP-FRAMEWORK-MIB')
print(oid, label, suffix)
print('MIB object value pretty print: '),
mibNode, = mibBuilder.importSymbols('SNMP-FRAMEWORK-MIB', 'snmpEngineID')
print(mibNode.syntax.prettyPrint())
print('MIB symbol location lookup by name: '),
modName, symName, suffix = mibView.getNodeLocation(('snmpCommunityEntry',))
print(symName, modName)
print('MIB node lookup by location: '),
rowNode, = mibBuilder.importSymbols(modName, symName)
print(rowNode)
print('Conceptual table index value to oid convertion: '),
oid = rowNode.getInstIdFromIndices('router')
print(oid)
print('Conceptual table index oid to value convertion: '),
print(rowNode.getIndicesFromInstId(oid))
print('MIB tree traversal')
oid, label, suffix = mibView.getFirstNodeName()
while 1:
try:
modName, nodeDesc, suffix = mibView.getNodeLocation(oid)
print('%s::%s == %s' % (modName, nodeDesc, oid))
oid, label, suffix = mibView.getNextNodeName(oid)
except error.NoSuchObjectError:
break
print('Modules traversal')
modName = mibView.getFirstModuleName()
while 1:
if modName: print(modName)
try:
modName = mibView.getNextModuleName(modName)
except error.SmiError:
break
The exact same code runs for me with the latest pysnmp and its dependencies.
I've a couple of MIBs lended in ~/.pysnmp/mibs/*.py
once I run your script.
Can you make sure you are running the latest released pysnmp (which should also pull in its dependencies)?
However, it doesn't like the from arg or the import options provided so I copied some from here
Can you please elaborate on this? What is the exact error message? Is it that MIB compiler (pysmi) is not installed on your system?
When I tried to check the version / install of pysmi and pysnmp it said the requirements were met. I uninstalled and reinstalled and it works now. Before it was giving an error that it couldn't find debug. I still have the same issue of the Oids not being populated in the output. I'm adding an example MIB
I now have files at ~/.pysnmp/mibs/*.py:
IANAifType-MIB.py IP-MIB.py pycache IF-MIB.py SNMPv2-MIB.py
python3 test.py
2017-07-19 08:01:32,926 pysmi: running pysmi version 0.1.3
2017-07-19 08:01:32,927 pysmi: debug category 'searcher' enabled
2017-07-19 08:01:32,927 pysmi: debug category 'reader' enabled
2017-07-19 08:01:32,927 pysmi: debug category 'compiler' enabled
Attaching MIB compiler...
2017-07-19 08:01:33,091 pysmi: current MIB source(s): FileReader{"/users/admin/desktop/mib/mibfiles"}, HttpReader{"http://mibs.snmplabs.com:80/asn1/"}
2017-07-19 08:01:33,091 pysmi: current compiled MIBs location(s): StubSearcher
2017-07-19 08:01:33,091 pysmi: current compiled MIBs location(s): StubSearcher, PyPackageSearcher{"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pysnmp/smi/mibs"}, PyPackageSearcher{"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pysnmp/smi/mibs/instances"}, PyPackageSearcher{"pysnmp_mibs"}
2017-07-19 08:01:33,091 pysmi: current MIB borrower(s):
done
Setting MIB sources...
(DirMibSource('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pysnmp/smi/mibs'), DirMibSource('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pysnmp/smi/mibs/instances'), DirMibSource('pysnmp_mibs'), DirMibSource('/Users/admin/.pysnmp/mibs'), DirMibSource('/users/admin/desktop/mib/mibfiles'))
done
Loading MIB modules...
done
Indexing MIB objects...
done
MIB symbol name lookup by OID:
(1, 3, 6, 1, 4, 1) ('iso', 'org', 'dod', 'internet', 'private', 'enterprises') ()
MIB symbol name lookup by label:
(1, 3, 6, 1, 4, 1) ('iso', 'org', 'dod', 'internet', 'private', 'enterprises') ('mib-2', 1, 'sysDescr')
MIB symbol name lookup by symbol description:
(1, 3, 6, 1, 6, 3, 10, 2, 1, 1) ('iso', 'org', 'dod', 'internet', 'snmpV2', 'snmpModules', 'snmpFrameworkMIB', 'snmpFrameworkMIBObjects', 'snmpEngine', 'snmpEngineID') ()
MIB object value pretty print:
0x80004fb80542757362792e6c6f63616cfcd13208
MIB symbol location lookup by name:
snmpCommunityEntry SNMP-COMMUNITY-MIB
MIB node lookup by location:
MibTableRow((1, 3, 6, 1, 6, 3, 18, 1, 1, 1), None)
Conceptual table index value to oid convertion:
(114, 111, 117, 116, 101, 114)
Conceptual table index oid to value convertion:
(SnmpAdminString(b'router', subtypeSpec=ConstraintsIntersection(ConstraintsIntersection(ConstraintsIntersection(ConstraintsIntersection(), ValueSizeConstraint(0, 65535)), ValueSizeConstraint(0, 255)), ValueSizeConstraint(1, 32))),)
MIB tree traversal
SNMPv2-SMI::itu-t == (0,)
SNMPv2-SMI::zeroDotZero == (0, 0)
SNMPv2-SMI::iso == (1,)
SNMPv2-SMI::org == (1, 3)
SNMPv2-SMI::dod == (1, 3, 6)
SNMPv2-SMI::internet == (1, 3, 6, 1)
SNMPv2-SMI::directory == (1, 3, 6, 1, 1)
SNMPv2-SMI::mgmt == (1, 3, 6, 1, 2)
SNMPv2-SMI::mib-2 == (1, 3, 6, 1, 2, 1)
SNMPv2-MIB::system == (1, 3, 6, 1, 2, 1, 1)
SNMPv2-MIB::sysDescr == (1, 3, 6, 1, 2, 1, 1, 1)
SNMPv2-MIB::sysObjectID == (1, 3, 6, 1, 2, 1, 1, 2)
SNMPv2-MIB::sysUpTime == (1, 3, 6, 1, 2, 1, 1, 3)
SNMPv2-MIB::sysContact == (1, 3, 6, 1, 2, 1, 1, 4)
SNMPv2-MIB::sysName == (1, 3, 6, 1, 2, 1, 1, 5)
SNMPv2-MIB::sysLocation == (1, 3, 6, 1, 2, 1, 1, 6)
SNMPv2-MIB::sysServices == (1, 3, 6, 1, 2, 1, 1, 7)
SNMPv2-MIB::sysORLastChange == (1, 3, 6, 1, 2, 1, 1, 8)
SNMPv2-MIB::sysORTable == (1, 3, 6, 1, 2, 1, 1, 9)
SNMPv2-MIB::sysOREntry == (1, 3, 6, 1, 2, 1, 1, 9, 1)
SNMPv2-MIB::sysORIndex == (1, 3, 6, 1, 2, 1, 1, 9, 1, 1)
SNMPv2-MIB::sysORID == (1, 3, 6, 1, 2, 1, 1, 9, 1, 2)
SNMPv2-MIB::sysORDescr == (1, 3, 6, 1, 2, 1, 1, 9, 1, 3)
SNMPv2-MIB::sysORUpTime == (1, 3, 6, 1, 2, 1, 1, 9, 1, 4)
IF-MIB::interfaces == (1, 3, 6, 1, 2, 1, 2)
IF-MIB::ifNumber == (1, 3, 6, 1, 2, 1, 2, 1)
IF-MIB::ifTable == (1, 3, 6, 1, 2, 1, 2, 2)
IF-MIB::ifEntry == (1, 3, 6, 1, 2, 1, 2, 2, 1)
IF-MIB::ifIndex == (1, 3, 6, 1, 2, 1, 2, 2, 1, 1)
IF-MIB::ifDescr == (1, 3, 6, 1, 2, 1, 2, 2, 1, 2)
IF-MIB::ifType == (1, 3, 6, 1, 2, 1, 2, 2, 1, 3)
IF-MIB::ifMtu == (1, 3, 6, 1, 2, 1, 2, 2, 1, 4)
IF-MIB::ifSpeed == (1, 3, 6, 1, 2, 1, 2, 2, 1, 5)
IF-MIB::ifPhysAddress == (1, 3, 6, 1, 2, 1, 2, 2, 1, 6)
IF-MIB::ifAdminStatus == (1, 3, 6, 1, 2, 1, 2, 2, 1, 7)
IF-MIB::ifOperStatus == (1, 3, 6, 1, 2, 1, 2, 2, 1, 8)
IF-MIB::ifLastChange == (1, 3, 6, 1, 2, 1, 2, 2, 1, 9)
IF-MIB::ifInOctets == (1, 3, 6, 1, 2, 1, 2, 2, 1, 10)
IF-MIB::ifInUcastPkts == (1, 3, 6, 1, 2, 1, 2, 2, 1, 11)
IF-MIB::ifInNUcastPkts == (1, 3, 6, 1, 2, 1, 2, 2, 1, 12)
IF-MIB::ifInDiscards == (1, 3, 6, 1, 2, 1, 2, 2, 1, 13)
IF-MIB::ifInErrors == (1, 3, 6, 1, 2, 1, 2, 2, 1, 14)
IF-MIB::ifInUnknownProtos == (1, 3, 6, 1, 2, 1, 2, 2, 1, 15)
IF-MIB::ifOutOctets == (1, 3, 6, 1, 2, 1, 2, 2, 1, 16)
IF-MIB::ifOutUcastPkts == (1, 3, 6, 1, 2, 1, 2, 2, 1, 17)
IF-MIB::ifOutNUcastPkts == (1, 3, 6, 1, 2, 1, 2, 2, 1, 18)
IF-MIB::ifOutDiscards == (1, 3, 6, 1, 2, 1, 2, 2, 1, 19)
IF-MIB::ifOutErrors == (1, 3, 6, 1, 2, 1, 2, 2, 1, 20)
IF-MIB::ifOutQLen == (1, 3, 6, 1, 2, 1, 2, 2, 1, 21)
IF-MIB::ifSpecific == (1, 3, 6, 1, 2, 1, 2, 2, 1, 22)
IP-MIB::ip == (1, 3, 6, 1, 2, 1, 4)
IP-MIB::ipForwarding == (1, 3, 6, 1, 2, 1, 4, 1)
IP-MIB::ipDefaultTTL == (1, 3, 6, 1, 2, 1, 4, 2)
IP-MIB::ipInReceives == (1, 3, 6, 1, 2, 1, 4, 3)
IP-MIB::ipInHdrErrors == (1, 3, 6, 1, 2, 1, 4, 4)
IP-MIB::ipInAddrErrors == (1, 3, 6, 1, 2, 1, 4, 5)
IP-MIB::ipForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 6)
IP-MIB::ipInUnknownProtos == (1, 3, 6, 1, 2, 1, 4, 7)
IP-MIB::ipInDiscards == (1, 3, 6, 1, 2, 1, 4, 8)
IP-MIB::ipInDelivers == (1, 3, 6, 1, 2, 1, 4, 9)
IP-MIB::ipOutRequests == (1, 3, 6, 1, 2, 1, 4, 10)
IP-MIB::ipOutDiscards == (1, 3, 6, 1, 2, 1, 4, 11)
IP-MIB::ipOutNoRoutes == (1, 3, 6, 1, 2, 1, 4, 12)
IP-MIB::ipReasmTimeout == (1, 3, 6, 1, 2, 1, 4, 13)
IP-MIB::ipReasmReqds == (1, 3, 6, 1, 2, 1, 4, 14)
IP-MIB::ipReasmOKs == (1, 3, 6, 1, 2, 1, 4, 15)
IP-MIB::ipReasmFails == (1, 3, 6, 1, 2, 1, 4, 16)
IP-MIB::ipFragOKs == (1, 3, 6, 1, 2, 1, 4, 17)
IP-MIB::ipFragFails == (1, 3, 6, 1, 2, 1, 4, 18)
IP-MIB::ipFragCreates == (1, 3, 6, 1, 2, 1, 4, 19)
IP-MIB::ipAddrTable == (1, 3, 6, 1, 2, 1, 4, 20)
IP-MIB::ipAddrEntry == (1, 3, 6, 1, 2, 1, 4, 20, 1)
IP-MIB::ipAdEntAddr == (1, 3, 6, 1, 2, 1, 4, 20, 1, 1)
IP-MIB::ipAdEntIfIndex == (1, 3, 6, 1, 2, 1, 4, 20, 1, 2)
IP-MIB::ipAdEntNetMask == (1, 3, 6, 1, 2, 1, 4, 20, 1, 3)
IP-MIB::ipAdEntBcastAddr == (1, 3, 6, 1, 2, 1, 4, 20, 1, 4)
IP-MIB::ipAdEntReasmMaxSize == (1, 3, 6, 1, 2, 1, 4, 20, 1, 5)
IP-MIB::ipNetToMediaTable == (1, 3, 6, 1, 2, 1, 4, 22)
IP-MIB::ipNetToMediaEntry == (1, 3, 6, 1, 2, 1, 4, 22, 1)
IP-MIB::ipNetToMediaIfIndex == (1, 3, 6, 1, 2, 1, 4, 22, 1, 1)
IP-MIB::ipNetToMediaPhysAddress == (1, 3, 6, 1, 2, 1, 4, 22, 1, 2)
IP-MIB::ipNetToMediaNetAddress == (1, 3, 6, 1, 2, 1, 4, 22, 1, 3)
IP-MIB::ipNetToMediaType == (1, 3, 6, 1, 2, 1, 4, 22, 1, 4)
IP-MIB::ipRoutingDiscards == (1, 3, 6, 1, 2, 1, 4, 23)
IP-MIB::ipv6IpForwarding == (1, 3, 6, 1, 2, 1, 4, 25)
IP-MIB::ipv6IpDefaultHopLimit == (1, 3, 6, 1, 2, 1, 4, 26)
IP-MIB::ipv4InterfaceTableLastChange == (1, 3, 6, 1, 2, 1, 4, 27)
IP-MIB::ipv4InterfaceTable == (1, 3, 6, 1, 2, 1, 4, 28)
IP-MIB::ipv4InterfaceEntry == (1, 3, 6, 1, 2, 1, 4, 28, 1)
IP-MIB::ipv4InterfaceIfIndex == (1, 3, 6, 1, 2, 1, 4, 28, 1, 1)
IP-MIB::ipv4InterfaceReasmMaxSize == (1, 3, 6, 1, 2, 1, 4, 28, 1, 2)
IP-MIB::ipv4InterfaceEnableStatus == (1, 3, 6, 1, 2, 1, 4, 28, 1, 3)
IP-MIB::ipv4InterfaceRetransmitTime == (1, 3, 6, 1, 2, 1, 4, 28, 1, 4)
IP-MIB::ipv6InterfaceTableLastChange == (1, 3, 6, 1, 2, 1, 4, 29)
IP-MIB::ipv6InterfaceTable == (1, 3, 6, 1, 2, 1, 4, 30)
IP-MIB::ipv6InterfaceEntry == (1, 3, 6, 1, 2, 1, 4, 30, 1)
IP-MIB::ipv6InterfaceIfIndex == (1, 3, 6, 1, 2, 1, 4, 30, 1, 1)
IP-MIB::ipv6InterfaceReasmMaxSize == (1, 3, 6, 1, 2, 1, 4, 30, 1, 2)
IP-MIB::ipv6InterfaceIdentifier == (1, 3, 6, 1, 2, 1, 4, 30, 1, 3)
IP-MIB::ipv6InterfaceEnableStatus == (1, 3, 6, 1, 2, 1, 4, 30, 1, 5)
IP-MIB::ipv6InterfaceReachableTime == (1, 3, 6, 1, 2, 1, 4, 30, 1, 6)
IP-MIB::ipv6InterfaceRetransmitTime == (1, 3, 6, 1, 2, 1, 4, 30, 1, 7)
IP-MIB::ipv6InterfaceForwarding == (1, 3, 6, 1, 2, 1, 4, 30, 1, 8)
IP-MIB::ipTrafficStats == (1, 3, 6, 1, 2, 1, 4, 31)
IP-MIB::ipSystemStatsTable == (1, 3, 6, 1, 2, 1, 4, 31, 1)
IP-MIB::ipSystemStatsEntry == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1)
IP-MIB::ipSystemStatsIPVersion == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 1)
IP-MIB::ipSystemStatsInReceives == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 3)
IP-MIB::ipSystemStatsHCInReceives == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 4)
IP-MIB::ipSystemStatsInOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 5)
IP-MIB::ipSystemStatsHCInOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 6)
IP-MIB::ipSystemStatsInHdrErrors == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 7)
IP-MIB::ipSystemStatsInNoRoutes == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 8)
IP-MIB::ipSystemStatsInAddrErrors == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 9)
IP-MIB::ipSystemStatsInUnknownProtos == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 10)
IP-MIB::ipSystemStatsInTruncatedPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 11)
IP-MIB::ipSystemStatsInForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 12)
IP-MIB::ipSystemStatsHCInForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 13)
IP-MIB::ipSystemStatsReasmReqds == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 14)
IP-MIB::ipSystemStatsReasmOKs == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 15)
IP-MIB::ipSystemStatsReasmFails == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 16)
IP-MIB::ipSystemStatsInDiscards == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 17)
IP-MIB::ipSystemStatsInDelivers == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 18)
IP-MIB::ipSystemStatsHCInDelivers == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 19)
IP-MIB::ipSystemStatsOutRequests == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 20)
IP-MIB::ipSystemStatsHCOutRequests == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 21)
IP-MIB::ipSystemStatsOutNoRoutes == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 22)
IP-MIB::ipSystemStatsOutForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 23)
IP-MIB::ipSystemStatsHCOutForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 24)
IP-MIB::ipSystemStatsOutDiscards == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 25)
IP-MIB::ipSystemStatsOutFragReqds == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 26)
IP-MIB::ipSystemStatsOutFragOKs == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 27)
IP-MIB::ipSystemStatsOutFragFails == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 28)
IP-MIB::ipSystemStatsOutFragCreates == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 29)
IP-MIB::ipSystemStatsOutTransmits == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 30)
IP-MIB::ipSystemStatsHCOutTransmits == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 31)
IP-MIB::ipSystemStatsOutOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 32)
IP-MIB::ipSystemStatsHCOutOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 33)
IP-MIB::ipSystemStatsInMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 34)
IP-MIB::ipSystemStatsHCInMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 35)
IP-MIB::ipSystemStatsInMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 36)
IP-MIB::ipSystemStatsHCInMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 37)
IP-MIB::ipSystemStatsOutMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 38)
IP-MIB::ipSystemStatsHCOutMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 39)
IP-MIB::ipSystemStatsOutMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 40)
IP-MIB::ipSystemStatsHCOutMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 41)
IP-MIB::ipSystemStatsInBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 42)
IP-MIB::ipSystemStatsHCInBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 43)
IP-MIB::ipSystemStatsOutBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 44)
IP-MIB::ipSystemStatsHCOutBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 45)
IP-MIB::ipSystemStatsDiscontinuityTime == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 46)
IP-MIB::ipSystemStatsRefreshRate == (1, 3, 6, 1, 2, 1, 4, 31, 1, 1, 47)
IP-MIB::ipIfStatsTableLastChange == (1, 3, 6, 1, 2, 1, 4, 31, 2)
IP-MIB::ipIfStatsTable == (1, 3, 6, 1, 2, 1, 4, 31, 3)
IP-MIB::ipIfStatsEntry == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1)
IP-MIB::ipIfStatsIPVersion == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 1)
IP-MIB::ipIfStatsIfIndex == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 2)
IP-MIB::ipIfStatsInReceives == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 3)
IP-MIB::ipIfStatsHCInReceives == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 4)
IP-MIB::ipIfStatsInOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 5)
IP-MIB::ipIfStatsHCInOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 6)
IP-MIB::ipIfStatsInHdrErrors == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 7)
IP-MIB::ipIfStatsInNoRoutes == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 8)
IP-MIB::ipIfStatsInAddrErrors == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 9)
IP-MIB::ipIfStatsInUnknownProtos == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 10)
IP-MIB::ipIfStatsInTruncatedPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 11)
IP-MIB::ipIfStatsInForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 12)
IP-MIB::ipIfStatsHCInForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 13)
IP-MIB::ipIfStatsReasmReqds == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 14)
IP-MIB::ipIfStatsReasmOKs == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 15)
IP-MIB::ipIfStatsReasmFails == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 16)
IP-MIB::ipIfStatsInDiscards == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 17)
IP-MIB::ipIfStatsInDelivers == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 18)
IP-MIB::ipIfStatsHCInDelivers == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 19)
IP-MIB::ipIfStatsOutRequests == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 20)
IP-MIB::ipIfStatsHCOutRequests == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 21)
IP-MIB::ipIfStatsOutForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 23)
IP-MIB::ipIfStatsHCOutForwDatagrams == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 24)
IP-MIB::ipIfStatsOutDiscards == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 25)
IP-MIB::ipIfStatsOutFragReqds == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 26)
IP-MIB::ipIfStatsOutFragOKs == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 27)
IP-MIB::ipIfStatsOutFragFails == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 28)
IP-MIB::ipIfStatsOutFragCreates == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 29)
IP-MIB::ipIfStatsOutTransmits == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 30)
IP-MIB::ipIfStatsHCOutTransmits == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 31)
IP-MIB::ipIfStatsOutOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 32)
IP-MIB::ipIfStatsHCOutOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 33)
IP-MIB::ipIfStatsInMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 34)
IP-MIB::ipIfStatsHCInMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 35)
IP-MIB::ipIfStatsInMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 36)
IP-MIB::ipIfStatsHCInMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 37)
IP-MIB::ipIfStatsOutMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 38)
IP-MIB::ipIfStatsHCOutMcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 39)
IP-MIB::ipIfStatsOutMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 40)
IP-MIB::ipIfStatsHCOutMcastOctets == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 41)
IP-MIB::ipIfStatsInBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 42)
IP-MIB::ipIfStatsHCInBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 43)
IP-MIB::ipIfStatsOutBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 44)
IP-MIB::ipIfStatsHCOutBcastPkts == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 45)
IP-MIB::ipIfStatsDiscontinuityTime == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 46)
IP-MIB::ipIfStatsRefreshRate == (1, 3, 6, 1, 2, 1, 4, 31, 3, 1, 47)
IP-MIB::ipAddressPrefixTable == (1, 3, 6, 1, 2, 1, 4, 32)
IP-MIB::ipAddressPrefixEntry == (1, 3, 6, 1, 2, 1, 4, 32, 1)
IP-MIB::ipAddressPrefixIfIndex == (1, 3, 6, 1, 2, 1, 4, 32, 1, 1)
IP-MIB::ipAddressPrefixType == (1, 3, 6, 1, 2, 1, 4, 32, 1, 2)
IP-MIB::ipAddressPrefixPrefix == (1, 3, 6, 1, 2, 1, 4, 32, 1, 3)
IP-MIB::ipAddressPrefixLength == (1, 3, 6, 1, 2, 1, 4, 32, 1, 4)
IP-MIB::ipAddressPrefixOrigin == (1, 3, 6, 1, 2, 1, 4, 32, 1, 5)
IP-MIB::ipAddressPrefixOnLinkFlag == (1, 3, 6, 1, 2, 1, 4, 32, 1, 6)
IP-MIB::ipAddressPrefixAutonomousFlag == (1, 3, 6, 1, 2, 1, 4, 32, 1, 7)
IP-MIB::ipAddressPrefixAdvPreferredLifetime == (1, 3, 6, 1, 2, 1, 4, 32, 1, 8)
IP-MIB::ipAddressPrefixAdvValidLifetime == (1, 3, 6, 1, 2, 1, 4, 32, 1, 9)
IP-MIB::ipAddressSpinLock == (1, 3, 6, 1, 2, 1, 4, 33)
IP-MIB::ipAddressTable == (1, 3, 6, 1, 2, 1, 4, 34)
IP-MIB::ipAddressEntry == (1, 3, 6, 1, 2, 1, 4, 34, 1)
IP-MIB::ipAddressAddrType == (1, 3, 6, 1, 2, 1, 4, 34, 1, 1)
IP-MIB::ipAddressAddr == (1, 3, 6, 1, 2, 1, 4, 34, 1, 2)
IP-MIB::ipAddressIfIndex == (1, 3, 6, 1, 2, 1, 4, 34, 1, 3)
IP-MIB::ipAddressType == (1, 3, 6, 1, 2, 1, 4, 34, 1, 4)
IP-MIB::ipAddressPrefix == (1, 3, 6, 1, 2, 1, 4, 34, 1, 5)
IP-MIB::ipAddressOrigin == (1, 3, 6, 1, 2, 1, 4, 34, 1, 6)
IP-MIB::ipAddressStatus == (1, 3, 6, 1, 2, 1, 4, 34, 1, 7)
IP-MIB::ipAddressCreated == (1, 3, 6, 1, 2, 1, 4, 34, 1, 8)
IP-MIB::ipAddressLastChanged == (1, 3, 6, 1, 2, 1, 4, 34, 1, 9)
IP-MIB::ipAddressRowStatus == (1, 3, 6, 1, 2, 1, 4, 34, 1, 10)
IP-MIB::ipAddressStorageType == (1, 3, 6, 1, 2, 1, 4, 34, 1, 11)
IP-MIB::ipNetToPhysicalTable == (1, 3, 6, 1, 2, 1, 4, 35)
IP-MIB::ipNetToPhysicalEntry == (1, 3, 6, 1, 2, 1, 4, 35, 1)
IP-MIB::ipNetToPhysicalIfIndex == (1, 3, 6, 1, 2, 1, 4, 35, 1, 1)
IP-MIB::ipNetToPhysicalNetAddressType == (1, 3, 6, 1, 2, 1, 4, 35, 1, 2)
IP-MIB::ipNetToPhysicalNetAddress == (1, 3, 6, 1, 2, 1, 4, 35, 1, 3)
IP-MIB::ipNetToPhysicalPhysAddress == (1, 3, 6, 1, 2, 1, 4, 35, 1, 4)
IP-MIB::ipNetToPhysicalLastUpdated == (1, 3, 6, 1, 2, 1, 4, 35, 1, 5)
IP-MIB::ipNetToPhysicalType == (1, 3, 6, 1, 2, 1, 4, 35, 1, 6)
IP-MIB::ipNetToPhysicalState == (1, 3, 6, 1, 2, 1, 4, 35, 1, 7)
IP-MIB::ipNetToPhysicalRowStatus == (1, 3, 6, 1, 2, 1, 4, 35, 1, 8)
IP-MIB::ipv6ScopeZoneIndexTable == (1, 3, 6, 1, 2, 1, 4, 36)
IP-MIB::ipv6ScopeZoneIndexEntry == (1, 3, 6, 1, 2, 1, 4, 36, 1)
IP-MIB::ipv6ScopeZoneIndexIfIndex == (1, 3, 6, 1, 2, 1, 4, 36, 1, 1)
IP-MIB::ipv6ScopeZoneIndexLinkLocal == (1, 3, 6, 1, 2, 1, 4, 36, 1, 2)
IP-MIB::ipv6ScopeZoneIndex3 == (1, 3, 6, 1, 2, 1, 4, 36, 1, 3)
IP-MIB::ipv6ScopeZoneIndexAdminLocal == (1, 3, 6, 1, 2, 1, 4, 36, 1, 4)
IP-MIB::ipv6ScopeZoneIndexSiteLocal == (1, 3, 6, 1, 2, 1, 4, 36, 1, 5)
IP-MIB::ipv6ScopeZoneIndex6 == (1, 3, 6, 1, 2, 1, 4, 36, 1, 6)
IP-MIB::ipv6ScopeZoneIndex7 == (1, 3, 6, 1, 2, 1, 4, 36, 1, 7)
IP-MIB::ipv6ScopeZoneIndexOrganizationLocal == (1, 3, 6, 1, 2, 1, 4, 36, 1, 8)
IP-MIB::ipv6ScopeZoneIndex9 == (1, 3, 6, 1, 2, 1, 4, 36, 1, 9)
IP-MIB::ipv6ScopeZoneIndexA == (1, 3, 6, 1, 2, 1, 4, 36, 1, 10)
IP-MIB::ipv6ScopeZoneIndexB == (1, 3, 6, 1, 2, 1, 4, 36, 1, 11)
IP-MIB::ipv6ScopeZoneIndexC == (1, 3, 6, 1, 2, 1, 4, 36, 1, 12)
IP-MIB::ipv6ScopeZoneIndexD == (1, 3, 6, 1, 2, 1, 4, 36, 1, 13)
IP-MIB::ipDefaultRouterTable == (1, 3, 6, 1, 2, 1, 4, 37)
IP-MIB::ipDefaultRouterEntry == (1, 3, 6, 1, 2, 1, 4, 37, 1)
IP-MIB::ipDefaultRouterAddressType == (1, 3, 6, 1, 2, 1, 4, 37, 1, 1)
IP-MIB::ipDefaultRouterAddress == (1, 3, 6, 1, 2, 1, 4, 37, 1, 2)
IP-MIB::ipDefaultRouterIfIndex == (1, 3, 6, 1, 2, 1, 4, 37, 1, 3)
IP-MIB::ipDefaultRouterLifetime == (1, 3, 6, 1, 2, 1, 4, 37, 1, 4)
IP-MIB::ipDefaultRouterPreference == (1, 3, 6, 1, 2, 1, 4, 37, 1, 5)
IP-MIB::ipv6RouterAdvertSpinLock == (1, 3, 6, 1, 2, 1, 4, 38)
IP-MIB::ipv6RouterAdvertTable == (1, 3, 6, 1, 2, 1, 4, 39)
IP-MIB::ipv6RouterAdvertEntry == (1, 3, 6, 1, 2, 1, 4, 39, 1)
IP-MIB::ipv6RouterAdvertIfIndex == (1, 3, 6, 1, 2, 1, 4, 39, 1, 1)
IP-MIB::ipv6RouterAdvertSendAdverts == (1, 3, 6, 1, 2, 1, 4, 39, 1, 2)
IP-MIB::ipv6RouterAdvertMaxInterval == (1, 3, 6, 1, 2, 1, 4, 39, 1, 3)
IP-MIB::ipv6RouterAdvertMinInterval == (1, 3, 6, 1, 2, 1, 4, 39, 1, 4)
IP-MIB::ipv6RouterAdvertManagedFlag == (1, 3, 6, 1, 2, 1, 4, 39, 1, 5)
IP-MIB::ipv6RouterAdvertOtherConfigFlag == (1, 3, 6, 1, 2, 1, 4, 39, 1, 6)
IP-MIB::ipv6RouterAdvertLinkMTU == (1, 3, 6, 1, 2, 1, 4, 39, 1, 7)
IP-MIB::ipv6RouterAdvertReachableTime == (1, 3, 6, 1, 2, 1, 4, 39, 1, 8)
IP-MIB::ipv6RouterAdvertRetransmitTime == (1, 3, 6, 1, 2, 1, 4, 39, 1, 9)
IP-MIB::ipv6RouterAdvertCurHopLimit == (1, 3, 6, 1, 2, 1, 4, 39, 1, 10)
IP-MIB::ipv6RouterAdvertDefaultLifetime == (1, 3, 6, 1, 2, 1, 4, 39, 1, 11)
IP-MIB::ipv6RouterAdvertRowStatus == (1, 3, 6, 1, 2, 1, 4, 39, 1, 12)
IP-MIB::icmp == (1, 3, 6, 1, 2, 1, 5)
IP-MIB::icmpInMsgs == (1, 3, 6, 1, 2, 1, 5, 1)
IP-MIB::icmpInErrors == (1, 3, 6, 1, 2, 1, 5, 2)
IP-MIB::icmpInDestUnreachs == (1, 3, 6, 1, 2, 1, 5, 3)
IP-MIB::icmpInTimeExcds == (1, 3, 6, 1, 2, 1, 5, 4)
IP-MIB::icmpInParmProbs == (1, 3, 6, 1, 2, 1, 5, 5)
IP-MIB::icmpInSrcQuenchs == (1, 3, 6, 1, 2, 1, 5, 6)
IP-MIB::icmpInRedirects == (1, 3, 6, 1, 2, 1, 5, 7)
IP-MIB::icmpInEchos == (1, 3, 6, 1, 2, 1, 5, 8)
IP-MIB::icmpInEchoReps == (1, 3, 6, 1, 2, 1, 5, 9)
IP-MIB::icmpInTimestamps == (1, 3, 6, 1, 2, 1, 5, 10)
IP-MIB::icmpInTimestampReps == (1, 3, 6, 1, 2, 1, 5, 11)
IP-MIB::icmpInAddrMasks == (1, 3, 6, 1, 2, 1, 5, 12)
IP-MIB::icmpInAddrMaskReps == (1, 3, 6, 1, 2, 1, 5, 13)
IP-MIB::icmpOutMsgs == (1, 3, 6, 1, 2, 1, 5, 14)
IP-MIB::icmpOutErrors == (1, 3, 6, 1, 2, 1, 5, 15)
IP-MIB::icmpOutDestUnreachs == (1, 3, 6, 1, 2, 1, 5, 16)
IP-MIB::icmpOutTimeExcds == (1, 3, 6, 1, 2, 1, 5, 17)
IP-MIB::icmpOutParmProbs == (1, 3, 6, 1, 2, 1, 5, 18)
IP-MIB::icmpOutSrcQuenchs == (1, 3, 6, 1, 2, 1, 5, 19)
IP-MIB::icmpOutRedirects == (1, 3, 6, 1, 2, 1, 5, 20)
IP-MIB::icmpOutEchos == (1, 3, 6, 1, 2, 1, 5, 21)
IP-MIB::icmpOutEchoReps == (1, 3, 6, 1, 2, 1, 5, 22)
IP-MIB::icmpOutTimestamps == (1, 3, 6, 1, 2, 1, 5, 23)
IP-MIB::icmpOutTimestampReps == (1, 3, 6, 1, 2, 1, 5, 24)
IP-MIB::icmpOutAddrMasks == (1, 3, 6, 1, 2, 1, 5, 25)
IP-MIB::icmpOutAddrMaskReps == (1, 3, 6, 1, 2, 1, 5, 26)
IP-MIB::icmpStatsTable == (1, 3, 6, 1, 2, 1, 5, 29)
IP-MIB::icmpStatsEntry == (1, 3, 6, 1, 2, 1, 5, 29, 1)
IP-MIB::icmpStatsIPVersion == (1, 3, 6, 1, 2, 1, 5, 29, 1, 1)
IP-MIB::icmpStatsInMsgs == (1, 3, 6, 1, 2, 1, 5, 29, 1, 2)
IP-MIB::icmpStatsInErrors == (1, 3, 6, 1, 2, 1, 5, 29, 1, 3)
IP-MIB::icmpStatsOutMsgs == (1, 3, 6, 1, 2, 1, 5, 29, 1, 4)
IP-MIB::icmpStatsOutErrors == (1, 3, 6, 1, 2, 1, 5, 29, 1, 5)
IP-MIB::icmpMsgStatsTable == (1, 3, 6, 1, 2, 1, 5, 30)
IP-MIB::icmpMsgStatsEntry == (1, 3, 6, 1, 2, 1, 5, 30, 1)
IP-MIB::icmpMsgStatsIPVersion == (1, 3, 6, 1, 2, 1, 5, 30, 1, 1)
IP-MIB::icmpMsgStatsType == (1, 3, 6, 1, 2, 1, 5, 30, 1, 2)
IP-MIB::icmpMsgStatsInPkts == (1, 3, 6, 1, 2, 1, 5, 30, 1, 3)
IP-MIB::icmpMsgStatsOutPkts == (1, 3, 6, 1, 2, 1, 5, 30, 1, 4)
SNMPv2-SMI::transmission == (1, 3, 6, 1, 2, 1, 10)
SNMPv2-MIB::snmp == (1, 3, 6, 1, 2, 1, 11)
SNMPv2-MIB::snmpInPkts == (1, 3, 6, 1, 2, 1, 11, 1)
SNMPv2-MIB::snmpOutPkts == (1, 3, 6, 1, 2, 1, 11, 2)
SNMPv2-MIB::snmpInBadVersions == (1, 3, 6, 1, 2, 1, 11, 3)
SNMPv2-MIB::snmpInBadCommunityNames == (1, 3, 6, 1, 2, 1, 11, 4)
SNMPv2-MIB::snmpInBadCommunityUses == (1, 3, 6, 1, 2, 1, 11, 5)
SNMPv2-MIB::snmpInASNParseErrs == (1, 3, 6, 1, 2, 1, 11, 6)
SNMPv2-MIB::snmpInTooBigs == (1, 3, 6, 1, 2, 1, 11, 8)
SNMPv2-MIB::snmpInNoSuchNames == (1, 3, 6, 1, 2, 1, 11, 9)
SNMPv2-MIB::snmpInBadValues == (1, 3, 6, 1, 2, 1, 11, 10)
SNMPv2-MIB::snmpInReadOnlys == (1, 3, 6, 1, 2, 1, 11, 11)
SNMPv2-MIB::snmpInGenErrs == (1, 3, 6, 1, 2, 1, 11, 12)
SNMPv2-MIB::snmpInTotalReqVars == (1, 3, 6, 1, 2, 1, 11, 13)
SNMPv2-MIB::snmpInTotalSetVars == (1, 3, 6, 1, 2, 1, 11, 14)
SNMPv2-MIB::snmpInGetRequests == (1, 3, 6, 1, 2, 1, 11, 15)
SNMPv2-MIB::snmpInGetNexts == (1, 3, 6, 1, 2, 1, 11, 16)
SNMPv2-MIB::snmpInSetRequests == (1, 3, 6, 1, 2, 1, 11, 17)
SNMPv2-MIB::snmpInGetResponses == (1, 3, 6, 1, 2, 1, 11, 18)
SNMPv2-MIB::snmpInTraps == (1, 3, 6, 1, 2, 1, 11, 19)
SNMPv2-MIB::snmpOutTooBigs == (1, 3, 6, 1, 2, 1, 11, 20)
SNMPv2-MIB::snmpOutNoSuchNames == (1, 3, 6, 1, 2, 1, 11, 21)
SNMPv2-MIB::snmpOutBadValues == (1, 3, 6, 1, 2, 1, 11, 22)
SNMPv2-MIB::snmpOutGenErrs == (1, 3, 6, 1, 2, 1, 11, 24)
SNMPv2-MIB::snmpOutGetRequests == (1, 3, 6, 1, 2, 1, 11, 25)
SNMPv2-MIB::snmpOutGetNexts == (1, 3, 6, 1, 2, 1, 11, 26)
SNMPv2-MIB::snmpOutSetRequests == (1, 3, 6, 1, 2, 1, 11, 27)
SNMPv2-MIB::snmpOutGetResponses == (1, 3, 6, 1, 2, 1, 11, 28)
SNMPv2-MIB::snmpOutTraps == (1, 3, 6, 1, 2, 1, 11, 29)
SNMPv2-MIB::snmpEnableAuthenTraps == (1, 3, 6, 1, 2, 1, 11, 30)
SNMPv2-MIB::snmpSilentDrops == (1, 3, 6, 1, 2, 1, 11, 31)
SNMPv2-MIB::snmpProxyDrops == (1, 3, 6, 1, 2, 1, 11, 32)
IANAifType-MIB::ianaifType == (1, 3, 6, 1, 2, 1, 30)
IF-MIB::ifMIB == (1, 3, 6, 1, 2, 1, 31)
IF-MIB::ifMIBObjects == (1, 3, 6, 1, 2, 1, 31, 1)
IF-MIB::ifXTable == (1, 3, 6, 1, 2, 1, 31, 1, 1)
IF-MIB::ifXEntry == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1)
IF-MIB::ifName == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 1)
IF-MIB::ifInMulticastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 2)
IF-MIB::ifInBroadcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 3)
IF-MIB::ifOutMulticastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 4)
IF-MIB::ifOutBroadcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 5)
IF-MIB::ifHCInOctets == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 6)
IF-MIB::ifHCInUcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 7)
IF-MIB::ifHCInMulticastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 8)
IF-MIB::ifHCInBroadcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 9)
IF-MIB::ifHCOutOctets == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 10)
IF-MIB::ifHCOutUcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 11)
IF-MIB::ifHCOutMulticastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 12)
IF-MIB::ifHCOutBroadcastPkts == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 13)
IF-MIB::ifLinkUpDownTrapEnable == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 14)
IF-MIB::ifHighSpeed == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 15)
IF-MIB::ifPromiscuousMode == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 16)
IF-MIB::ifConnectorPresent == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 17)
IF-MIB::ifAlias == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 18)
IF-MIB::ifCounterDiscontinuityTime == (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 19)
IF-MIB::ifStackTable == (1, 3, 6, 1, 2, 1, 31, 1, 2)
IF-MIB::ifStackEntry == (1, 3, 6, 1, 2, 1, 31, 1, 2, 1)
IF-MIB::ifStackHigherLayer == (1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 1)
IF-MIB::ifStackLowerLayer == (1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 2)
IF-MIB::ifStackStatus == (1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 3)
IF-MIB::ifTestTable == (1, 3, 6, 1, 2, 1, 31, 1, 3)
IF-MIB::ifTestEntry == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1)
IF-MIB::ifTestId == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 1)
IF-MIB::ifTestStatus == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 2)
IF-MIB::ifTestType == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 3)
IF-MIB::ifTestResult == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 4)
IF-MIB::ifTestCode == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 5)
IF-MIB::ifTestOwner == (1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 6)
IF-MIB::ifRcvAddressTable == (1, 3, 6, 1, 2, 1, 31, 1, 4)
IF-MIB::ifRcvAddressEntry == (1, 3, 6, 1, 2, 1, 31, 1, 4, 1)
IF-MIB::ifRcvAddressAddress == (1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 1)
IF-MIB::ifRcvAddressStatus == (1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 2)
IF-MIB::ifRcvAddressType == (1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 3)
IF-MIB::ifTableLastChange == (1, 3, 6, 1, 2, 1, 31, 1, 5)
IF-MIB::ifStackLastChange == (1, 3, 6, 1, 2, 1, 31, 1, 6)
IF-MIB::ifConformance == (1, 3, 6, 1, 2, 1, 31, 2)
IF-MIB::ifGroups == (1, 3, 6, 1, 2, 1, 31, 2, 1)
IF-MIB::ifGeneralGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 1)
IF-MIB::ifFixedLengthGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 2)
IF-MIB::ifHCFixedLengthGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 3)
IF-MIB::ifPacketGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 4)
IF-MIB::ifHCPacketGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 5)
IF-MIB::ifVHCPacketGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 6)
IF-MIB::ifRcvAddressGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 7)
IF-MIB::ifTestGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 8)
IF-MIB::ifStackGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 9)
IF-MIB::ifGeneralInformationGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 10)
IF-MIB::ifStackGroup2 == (1, 3, 6, 1, 2, 1, 31, 2, 1, 11)
IF-MIB::ifOldObjectsGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 12)
IF-MIB::ifCounterDiscontinuityGroup == (1, 3, 6, 1, 2, 1, 31, 2, 1, 13)
IF-MIB::ifCompliances == (1, 3, 6, 1, 2, 1, 31, 2, 2)
IF-MIB::ifCompliance == (1, 3, 6, 1, 2, 1, 31, 2, 2, 1)
IF-MIB::ifCompliance2 == (1, 3, 6, 1, 2, 1, 31, 2, 2, 2)
IP-MIB::ipMIB == (1, 3, 6, 1, 2, 1, 48)
IP-MIB::ipMIBConformance == (1, 3, 6, 1, 2, 1, 48, 2)
IP-MIB::ipMIBCompliances == (1, 3, 6, 1, 2, 1, 48, 2, 1)
IP-MIB::ipMIBCompliance == (1, 3, 6, 1, 2, 1, 48, 2, 1, 1)
IP-MIB::ipMIBCompliance2 == (1, 3, 6, 1, 2, 1, 48, 2, 1, 2)
IP-MIB::ipMIBGroups == (1, 3, 6, 1, 2, 1, 48, 2, 2)
IP-MIB::ipGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 1)
IP-MIB::icmpGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 2)
IP-MIB::ipv4GeneralGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 3)
IP-MIB::ipv4IfGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 4)
IP-MIB::ipv6GeneralGroup2 == (1, 3, 6, 1, 2, 1, 48, 2, 2, 5)
IP-MIB::ipv6IfGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 6)
IP-MIB::ipLastChangeGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 7)
IP-MIB::ipSystemStatsGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 8)
IP-MIB::ipv4SystemStatsGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 9)
IP-MIB::ipSystemStatsHCOctetGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 10)
IP-MIB::ipSystemStatsHCPacketGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 11)
IP-MIB::ipv4SystemStatsHCPacketGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 12)
IP-MIB::ipIfStatsGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 13)
IP-MIB::ipv4IfStatsGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 14)
IP-MIB::ipIfStatsHCOctetGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 15)
IP-MIB::ipIfStatsHCPacketGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 16)
IP-MIB::ipv4IfStatsHCPacketGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 17)
IP-MIB::ipAddressPrefixGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 18)
IP-MIB::ipAddressGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 19)
IP-MIB::ipNetToPhysicalGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 20)
IP-MIB::ipv6ScopeGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 21)
IP-MIB::ipDefaultRouterGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 22)
IP-MIB::ipv6RouterAdvertGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 23)
IP-MIB::icmpStatsGroup == (1, 3, 6, 1, 2, 1, 48, 2, 2, 24)
INET-ADDRESS-MIB::inetAddressMIB == (1, 3, 6, 1, 2, 1, 76)
SNMPv2-SMI::experimental == (1, 3, 6, 1, 3)
SNMPv2-SMI::private == (1, 3, 6, 1, 4)
SNMPv2-SMI::enterprises == (1, 3, 6, 1, 4, 1)
SNMPv2-SMI::security == (1, 3, 6, 1, 5)
SNMPv2-SMI::snmpV2 == (1, 3, 6, 1, 6)
SNMPv2-SMI::snmpDomains == (1, 3, 6, 1, 6, 1)
SNMPv2-SMI::snmpProxys == (1, 3, 6, 1, 6, 2)
SNMPv2-SMI::snmpModules == (1, 3, 6, 1, 6, 3)
SNMPv2-MIB::snmpMIB == (1, 3, 6, 1, 6, 3, 1)
SNMPv2-MIB::snmpMIBObjects == (1, 3, 6, 1, 6, 3, 1, 1)
SNMPv2-MIB::snmpTrap == (1, 3, 6, 1, 6, 3, 1, 1, 4)
SNMPv2-MIB::snmpTrapOID == (1, 3, 6, 1, 6, 3, 1, 1, 4, 1)
SNMPv2-MIB::snmpTrapEnterprise == (1, 3, 6, 1, 6, 3, 1, 1, 4, 3)
SNMPv2-MIB::snmpTraps == (1, 3, 6, 1, 6, 3, 1, 1, 5)
SNMPv2-MIB::coldStart == (1, 3, 6, 1, 6, 3, 1, 1, 5, 1)
SNMPv2-MIB::warmStart == (1, 3, 6, 1, 6, 3, 1, 1, 5, 2)
IF-MIB::linkDown == (1, 3, 6, 1, 6, 3, 1, 1, 5, 3)
IF-MIB::linkUp == (1, 3, 6, 1, 6, 3, 1, 1, 5, 4)
SNMPv2-MIB::authenticationFailure == (1, 3, 6, 1, 6, 3, 1, 1, 5, 5)
SNMPv2-MIB::snmpSet == (1, 3, 6, 1, 6, 3, 1, 1, 6)
SNMPv2-MIB::snmpSetSerialNo == (1, 3, 6, 1, 6, 3, 1, 1, 6, 1)
SNMPv2-MIB::snmpMIBConformance == (1, 3, 6, 1, 6, 3, 1, 2)
SNMPv2-MIB::snmpMIBCompliances == (1, 3, 6, 1, 6, 3, 1, 2, 1)
SNMPv2-MIB::snmpBasicCompliance == (1, 3, 6, 1, 6, 3, 1, 2, 1, 2)
SNMPv2-MIB::snmpBasicComplianceRev2 == (1, 3, 6, 1, 6, 3, 1, 2, 1, 3)
SNMPv2-MIB::snmpMIBGroups == (1, 3, 6, 1, 6, 3, 1, 2, 2)
SNMPv2-MIB::snmpSetGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 5)
SNMPv2-MIB::systemGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 6)
SNMPv2-MIB::snmpBasicNotificationsGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 7)
SNMPv2-MIB::snmpGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 8)
SNMPv2-MIB::snmpCommunityGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 9)
SNMPv2-MIB::snmpObsoleteGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 10)
SNMPv2-MIB::snmpWarmStartNotificationGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 11)
SNMPv2-MIB::snmpNotificationGroup == (1, 3, 6, 1, 6, 3, 1, 2, 2, 12)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIB == (1, 3, 6, 1, 6, 3, 10)
SNMP-FRAMEWORK-MIB::snmpFrameworkAdmin == (1, 3, 6, 1, 6, 3, 10, 1)
SNMP-FRAMEWORK-MIB::snmpAuthProtocols == (1, 3, 6, 1, 6, 3, 10, 1, 1)
SNMP-FRAMEWORK-MIB::snmpPrivProtocols == (1, 3, 6, 1, 6, 3, 10, 1, 2)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBObjects == (1, 3, 6, 1, 6, 3, 10, 2)
SNMP-FRAMEWORK-MIB::snmpEngine == (1, 3, 6, 1, 6, 3, 10, 2, 1)
SNMP-FRAMEWORK-MIB::snmpEngineID == (1, 3, 6, 1, 6, 3, 10, 2, 1, 1)
SNMP-FRAMEWORK-MIB::snmpEngineBoots == (1, 3, 6, 1, 6, 3, 10, 2, 1, 2)
SNMP-FRAMEWORK-MIB::snmpEngineTime == (1, 3, 6, 1, 6, 3, 10, 2, 1, 3)
SNMP-FRAMEWORK-MIB::snmpEngineMaxMessageSize == (1, 3, 6, 1, 6, 3, 10, 2, 1, 4)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBConformance == (1, 3, 6, 1, 6, 3, 10, 3)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliances == (1, 3, 6, 1, 6, 3, 10, 3, 1)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance == (1, 3, 6, 1, 6, 3, 10, 3, 1, 1)
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBGroups == (1, 3, 6, 1, 6, 3, 10, 3, 2)
SNMP-FRAMEWORK-MIB::snmpEngineGroup == (1, 3, 6, 1, 6, 3, 10, 3, 2, 1)
SNMP-TARGET-MIB::snmpTargetMIB == (1, 3, 6, 1, 6, 3, 12)
SNMP-TARGET-MIB::snmpTargetObjects == (1, 3, 6, 1, 6, 3, 12, 1)
SNMP-TARGET-MIB::snmpTargetSpinLock == (1, 3, 6, 1, 6, 3, 12, 1, 1)
SNMP-TARGET-MIB::snmpTargetAddrTable == (1, 3, 6, 1, 6, 3, 12, 1, 2)
SNMP-TARGET-MIB::snmpTargetAddrEntry == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1)
SNMP-TARGET-MIB::snmpTargetAddrName == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 1)
SNMP-TARGET-MIB::snmpTargetAddrTDomain == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 2)
SNMP-TARGET-MIB::snmpTargetAddrTAddress == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 3)
SNMP-TARGET-MIB::snmpTargetAddrTimeout == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 4)
SNMP-TARGET-MIB::snmpTargetAddrRetryCount == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 5)
SNMP-TARGET-MIB::snmpTargetAddrTagList == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 6)
SNMP-TARGET-MIB::snmpTargetAddrParams == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 7)
SNMP-TARGET-MIB::snmpTargetAddrStorageType == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 8)
SNMP-TARGET-MIB::snmpTargetAddrRowStatus == (1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 9)
SNMP-TARGET-MIB::snmpTargetParamsTable == (1, 3, 6, 1, 6, 3, 12, 1, 3)
SNMP-TARGET-MIB::snmpTargetParamsEntry == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1)
SNMP-TARGET-MIB::snmpTargetParamsName == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 1)
SNMP-TARGET-MIB::snmpTargetParamsMPModel == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 2)
SNMP-TARGET-MIB::snmpTargetParamsSecurityModel == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 3)
SNMP-TARGET-MIB::snmpTargetParamsSecurityName == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 4)
SNMP-TARGET-MIB::snmpTargetParamsSecurityLevel == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 5)
SNMP-TARGET-MIB::snmpTargetParamsStorageType == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 6)
SNMP-TARGET-MIB::snmpTargetParamsRowStatus == (1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 7)
SNMP-TARGET-MIB::snmpUnavailableContexts == (1, 3, 6, 1, 6, 3, 12, 1, 4)
SNMP-TARGET-MIB::snmpUnknownContexts == (1, 3, 6, 1, 6, 3, 12, 1, 5)
SNMP-TARGET-MIB::snmpTargetConformance == (1, 3, 6, 1, 6, 3, 12, 3)
SNMP-TARGET-MIB::snmpTargetCompliances == (1, 3, 6, 1, 6, 3, 12, 3, 1)
SNMP-TARGET-MIB::snmpTargetCommandResponderCompliance == (1, 3, 6, 1, 6, 3, 12, 3, 1, 1)
SNMP-TARGET-MIB::snmpTargetGroups == (1, 3, 6, 1, 6, 3, 12, 3, 2)
SNMP-TARGET-MIB::snmpTargetBasicGroup == (1, 3, 6, 1, 6, 3, 12, 3, 2, 1)
SNMP-TARGET-MIB::snmpTargetResponseGroup == (1, 3, 6, 1, 6, 3, 12, 3, 2, 2)
SNMP-TARGET-MIB::snmpTargetCommandResponderGroup == (1, 3, 6, 1, 6, 3, 12, 3, 2, 3)
SNMP-COMMUNITY-MIB::snmpCommunityMIB == (1, 3, 6, 1, 6, 3, 18)
SNMP-COMMUNITY-MIB::snmpCommunityMIBObjects == (1, 3, 6, 1, 6, 3, 18, 1)
SNMP-COMMUNITY-MIB::snmpCommunityTable == (1, 3, 6, 1, 6, 3, 18, 1, 1)
SNMP-COMMUNITY-MIB::snmpCommunityEntry == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1)
SNMP-COMMUNITY-MIB::snmpCommunityIndex == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 1)
SNMP-COMMUNITY-MIB::snmpCommunityName == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 2)
SNMP-COMMUNITY-MIB::snmpCommunitySecurityName == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 3)
SNMP-COMMUNITY-MIB::snmpCommunityContextEngineID == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 4)
SNMP-COMMUNITY-MIB::snmpCommunityContextName == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 5)
SNMP-COMMUNITY-MIB::snmpCommunityTransportTag == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 6)
SNMP-COMMUNITY-MIB::snmpCommunityStorageType == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 7)
SNMP-COMMUNITY-MIB::snmpCommunityStatus == (1, 3, 6, 1, 6, 3, 18, 1, 1, 1, 8)
SNMP-COMMUNITY-MIB::snmpTargetAddrExtTable == (1, 3, 6, 1, 6, 3, 18, 1, 2)
SNMP-COMMUNITY-MIB::snmpTargetAddrExtEntry == (1, 3, 6, 1, 6, 3, 18, 1, 2, 1)
SNMP-COMMUNITY-MIB::snmpTargetAddrTMask == (1, 3, 6, 1, 6, 3, 18, 1, 2, 1, 1)
SNMP-COMMUNITY-MIB::snmpTargetAddrMMS == (1, 3, 6, 1, 6, 3, 18, 1, 2, 1, 2)
SNMP-COMMUNITY-MIB::snmpTrapAddress == (1, 3, 6, 1, 6, 3, 18, 1, 3)
SNMP-COMMUNITY-MIB::snmpTrapCommunity == (1, 3, 6, 1, 6, 3, 18, 1, 4)
SNMP-COMMUNITY-MIB::snmpCommunityMIBConformance == (1, 3, 6, 1, 6, 3, 18, 2)
SNMP-COMMUNITY-MIB::snmpCommunityMIBCompliances == (1, 3, 6, 1, 6, 3, 18, 2, 1)
SNMP-COMMUNITY-MIB::snmpCommunityMIBCompliance == (1, 3, 6, 1, 6, 3, 18, 2, 1, 1)
SNMP-COMMUNITY-MIB::snmpProxyTrapForwardCompliance == (1, 3, 6, 1, 6, 3, 18, 2, 1, 2)
SNMP-COMMUNITY-MIB::snmpCommunityMIBFullCompliance == (1, 3, 6, 1, 6, 3, 18, 2, 1, 3)
SNMP-COMMUNITY-MIB::snmpCommunityMIBGroups == (1, 3, 6, 1, 6, 3, 18, 2, 2)
SNMP-COMMUNITY-MIB::snmpCommunityTableGroup == (1, 3, 6, 1, 6, 3, 18, 2, 2, 1)
SNMP-COMMUNITY-MIB::snmpProxyTrapForwardGroup == (1, 3, 6, 1, 6, 3, 18, 2, 2, 3)
SNMPv2-SMI::joint-iso-itu-t == (2,)
Modules traversal
ASN1
ASN1-ENUMERATION
ASN1-REFINEMENT
IANAifType-MIB
IF-MIB
INET-ADDRESS-MIB
IP-MIB
SNMP-COMMUNITY-MIB
SNMP-FRAMEWORK-MIB
SNMP-TARGET-MIB
SNMPv2-CONF
SNMPv2-MIB
SNMPv2-SMI
SNMPv2-TC
-- **********************************************************************
-- **********************************************************************
-- **
-- ** COPYRIGHT (c) 2006 Rohde & Schwarz GmbH & Co. KG
-- ** Muehldorfstrasse 15
-- ** R & S 81671 Muenchen
-- **
-- ** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-- **
-- ** MODULE RS-COMMON-MIB.my
-- **
-- ** DESCRIPTION Rohde & Schwarz common SNMP mib
-- **
-- ** HISTORY 2010-08-09 Christian Hoelzl
-- ** rsProdRadioCommEquipment added
-- **
-- ** 05/27/2008 Christian Hoelzl
-- ** rsProdBroadcastHeadend added
-- **
-- ** 05/07/2008 Christian Hoelzl
-- ** rsProdRadioCommSystems added
-- **
-- ** 10/31/2007 Christian Hoelzl
-- ** rsProdRadioCommunications added
-- ** rsProdRadioCommCommon added
-- ** rsProdRadioCommSeries4200 added
-- **
-- ** 09/05/2006 Christian Hoelzl
-- ** rsCrypto added
-- **
-- ** 06/24/2005 Christian Hoelzl
-- ** first version
-- **
-- ** +-iso(1)
-- ** +-org(3)
-- ** +-dod(6)
-- ** +-internet(1)
-- ** +-private(4)
-- ** +-enterprises(1)
-- ** +-rsRoot(2566)
-- ** +-rsCommon(123)
-- ** +-rsProduct(127)
-- ** | +-rsProdBroadcast(1)
-- ** | | +-rsProdBroadcastMeasurement(1)
-- ** | | +-rsProdBroadcastTransmitter(2)
-- ** | | +-rsProdBroadcastHeadend(3)
-- ** | |
-- ** | +-rsProdRadioCommunications(2)
-- ** | +-rsProdRadioCommCommon(1)
-- ** | +-rsProdRadioCommSeries4200(2)
-- ** | +-rsProdRadioCommSystems(3)
-- ** | +-rsPrdoRadioCommEquipment(4)
-- ** |
-- ** +-rsRequirements(131)
-- ** +-rsExperimental(137)
-- ** +-rsCapabilities(139)
-- ** +-rsRegistration(149)
-- ** | +-rsRegModules(1)
-- ** | +-rsRegBroadcast(2)
-- ** | +-rsRegBroadcastMeasurement(1)
-- ** | +-rsRegBroadcastTransmitter(2)
-- ** |
-- ** +-rsCrypto(151)
-- **
-- **
-- **********************************************************************
-- **********************************************************************
RS-COMMON-MIB DEFINITIONS ::= BEGIN
IMPORTS enterprises, OBJECT-IDENTITY, MODULE-IDENTITY FROM SNMPv2-SMI;
rsRoot MODULE-IDENTITY
LAST-UPDATED "201008090803Z" -- August 9th 2010 at 08:03 GMT
ORGANIZATION
"Rohde&Schwarz GmbH & Co.KG"
CONTACT-INFO
"Rohde & Schwarz GmbH & Co. KG
Muehldorfstrasse 15
81671 Munich
Germany"
DESCRIPTION
"The root OID of Rohde&Schwarz GmbH & Co.KG"
REVISION "201008090803Z" -- August 9th 2010 at 08:03 GMT
DESCRIPTION
"MODULE-IDENTITY added to RS-COMMON-MIB"
::= { enterprises 2566 }
rsCommon OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for common object and event definitions"
::= { rsRoot 113 }
rsProducts OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for products."
::= { rsRoot 127 }
rsProdBroadcast OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for broadcast products."
::= { rsProducts 1 }
rsProdBroadcastMeasurement OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for broadcast measurement products."
::= { rsProdBroadcast 1 }
rsProdBroadcastTransmitter OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for broadcast transmitter products."
::= { rsProdBroadcast 2 }
rsProdBroadcastHeadend OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for broadcast headend products."
::= { rsProdBroadcast 3 }
rsProdRadioCommunications OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for radio communication products."
::= { rsProducts 2 }
rsProdRadioCommCommon OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for radio communication product common features."
::= { rsProdRadioCommunications 1 }
rsProdRadioCommSeries4200 OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for radio communication series 4200."
::= { rsProdRadioCommunications 2 }
rsProdRadioCommSystems OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for radio communication systems."
::= { rsProdRadioCommunications 3 }
rsProdRadioCommEquipment OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for radio communication equipment."
::= { rsProdRadioCommunications 4 }
rsRequirements OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for management application requirements"
::= { rsRoot 131 }
rsExperimental OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for experimental definitions"
::= { rsRoot 137 }
rsCapabilities OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for agent capabilities"
::= { rsRoot 139 }
rsRegistration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for registrations"
::= { rsRoot 149 }
rsRegModules OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for modules registrations"
::= { rsRegistration 1 }
rsRegBroadcast OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Description."
::= { rsRegistration 2 }
rsRegBroadcastMeasurement OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Description."
::= { rsRegBroadcast 1 }
rsRegBroadcastTransmitter OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Description."
::= { rsRegBroadcast 2 }
rsCrypto OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for crypto algorithms"
::= { rsRoot 151 }
END
--
-- RS-COMMON-MIB.my
--
Do you have your MIB (RS-COMMON-MIB.my
) specified in .loadModules()
?
mibBuilder.loadModules('SNMPv2-MIB', 'SNMP-FRAMEWORK-MIB', 'SNMP-COMMUNITY-MIB', 'IP-MIB')
I sure didn't. I see what you mean by the MIB order in the loadingModules method. I have it working as expected now. The code for output to the console has a plug for nodeDesc. Are their ways to pull DESCRIPTION or STATUS as well? I've been looking at the docs and can't find much on the mibView.getNodeLocation method.
rsRoot MODULE-IDENTITY
LAST-UPDATED "201008090803Z" -- August 9th 2010 at 08:03 GMT
ORGANIZATION
"Rohde&Schwarz GmbH & Co.KG"
CONTACT-INFO
"Rohde & Schwarz GmbH & Co. KG
Muehldorfstrasse 15
81671 Munich
Germany"
DESCRIPTION
"The root OID of Rohde&Schwarz GmbH & Co.KG"
REVISION "201008090803Z" -- August 9th 2010 at 08:03 GMT
DESCRIPTION
"MODULE-IDENTITY added to RS-COMMON-MIB"
::= { enterprises 2566 }
print('MIB tree traversal')
oid, label, suffix = mibView.getFirstNodeName()
while 1:
try:
modName, nodeDesc, suffix = mibView.getNodeLocation(oid)
print('%s::%s == %s' % (modName, nodeDesc, oid))
oid, label, suffix = mibView.getNextNodeName(oid)
except error.NoSuchObjectError:
break
Are their ways to pull DESCRIPTION or STATUS as well?
Sure, you should be able to get everything from MIB definitions. These methods are not yet documented -- this is something to be done in the nearest future.
Meanwhile, I can refer you to the code.
Make sure to pass genTexts=True
to the MIB compiler if you want all the text (e.g. DESCRIPTION) to be put into .py files. You may need to wipe out everything from ~/.pysnmp/mibs/ for this change to take effect.
compiler.addMibCompiler(mibBuilder, sources=['/users/admin/desktop/mib/mibfiles/',
'http://mibs.snmplabs.com/asn1/'], genTexts=True)
Hmm I'm not too familiar with Python. JavaScript is my bread and butter. I'm trying to figure out where to invoke the method my guess is mibBuilder.ObjectIdentity.getDescription because ObjectIdentity is exported from mibBuilder.exportSymbols however that doesn't work. Could you provide an example? Also, I'm looking at the mibBuilder methods addMibCompiler and addMibSources is their support for passing a MIB as JSON as opposed to a flat file?
The MIBs and the objects defined in MIBs are maintained by the MibBuilder
by the MIB module name + MIB object name pair:
mibName, objName = 'SNMP-FRAMEWORK-MIB', 'snmpEngineID'
mibObj, = mibBuilder.importSymbols(mibName, objName)
Once you have the MIB object you can get all the information it has:
print(mibObj.getDescription())
Additionally, the MibViewController
maintains its own independent index by OID (as well as other helpful indices). So if you have an OID and want the description of associated object, you first need to ask MibViewController
what's the name of the MIB object having this OID:
mibName, objName, restOfOid = mibView.getNodeLocation(oid)
Then look up the MIB object:
mibObj, = mibBuilder.importSymbols(mibName, objName)
And inspect it.
If you give it a longer OID (most commonly, the tail of the OID would refer to MIB object instance in SNMP terms), then that tail part would be returned as-is.
I think I understand how the methods interact with each other from your explanation. When I follow the example with using the custom MIB and object name I get errors. When I use the samples in the loop it doesn't provide the correct description. Maybe I'm missing something?
Traceback (most recent call last):
File "test.py", line 87, in <module>
mibObj, = mibBuilder.importSymbols(mibName, objName)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pysnmp/smi/builder.py", line 407, in importSymbols
'No symbol %s::%s at %s' % (modName, symName, self)
pysnmp.smi.error.SmiError: No symbol RS-COMMON-MIB::snmpEngineID at <pysnmp.smi.builder.MibBuilder object at 0x1014a3dd8>
print('MIB tree traversal')
oid, label, suffix = mibView.getFirstNodeName()
while 1:
try:
mibName, objName = 'SNMP-FRAMEWORK-MIB', 'snmpEngineID'
mibObj, = mibBuilder.importSymbols(mibName, objName)
modName, nodeDesc, suffix = mibView.getNodeLocation(oid)
# mibObj, = mibBuilder.importSymbols(modName, nodeDesc)
print(mibObj.getDescription())
print('%s::%s == %s && %s' % (modName, nodeDesc, oid, mibObj))
oid, label, suffix = mibView.getNextNodeName(oid)
except error.NoSuchObjectError:
break
RS-XX9-SMI-MIB::rsXx9DvbT == (1, 3, 6, 1, 4, 1, 2566, 127, 1, 2, 216, 6) && MibScalar((1, 3, 6, 1, 6, 3, 10, 2, 1, 1), SnmpEngineID())
I checked my .py mibs that are generated and they also don't have the description. I can see STATUS and MAXACCESS are converted in the .py files. So I'm assuming if it was to be processed properly the data would reside there as well?
#
# PySNMP MIB module RS-COMMON-MIB (http://pysnmp.sf.net)
# ASN.1 source file:///users/admin/desktop/mib/mibFiles/RS-COMMON-MIB.mib
# Produced by pysmi-0.1.3 at Fri Jul 21 11:27:16 2017
# On host Busby.local platform Darwin version 15.6.0 by user admin
# Using Python version 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04)
#
Integer, ObjectIdentifier, OctetString = mibBuilder.importSymbols("ASN1", "Integer", "ObjectIdentifier", "OctetString")
NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
ValueRangeConstraint, SingleValueConstraint, ConstraintsUnion, ConstraintsIntersection, ValueSizeConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueRangeConstraint", "SingleValueConstraint", "ConstraintsUnion", "ConstraintsIntersection", "ValueSizeConstraint")
ModuleCompliance, NotificationGroup = mibBuilder.importSymbols("SNMPv2-CONF", "ModuleCompliance", "NotificationGroup")
MibIdentifier, NotificationType, ModuleIdentity, Gauge32, IpAddress, enterprises, Bits, Integer32, Counter64, TimeTicks, MibScalar, MibTable, MibTableRow, MibTableColumn, Counter32, Unsigned32, iso, ObjectIdentity = mibBuilder.importSymbols("SNMPv2-SMI", "MibIdentifier", "NotificationType", "ModuleIdentity", "Gauge32", "IpAddress", "enterprises", "Bits", "Integer32", "Counter64", "TimeTicks", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn", "Counter32", "Unsigned32", "iso", "ObjectIdentity")
TextualConvention, DisplayString = mibBuilder.importSymbols("SNMPv2-TC", "TextualConvention", "DisplayString")
rsRoot = ModuleIdentity((1, 3, 6, 1, 4, 1, 2566))
if mibBuilder.loadTexts: rsRoot.setRevisions(('2010-08-09 08:03',))
if mibBuilder.loadTexts: rsRoot.setLastUpdated('201008090803Z')
rsCommon = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 113))
if mibBuilder.loadTexts: rsCommon.setStatus('current')
rsProducts = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127))
if mibBuilder.loadTexts: rsProducts.setStatus('current')
rsProdBroadcast = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1))
if mibBuilder.loadTexts: rsProdBroadcast.setStatus('current')
rsProdBroadcastMeasurement = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 1))
if mibBuilder.loadTexts: rsProdBroadcastMeasurement.setStatus('current')
rsProdBroadcastTransmitter = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 2))
if mibBuilder.loadTexts: rsProdBroadcastTransmitter.setStatus('current')
rsProdBroadcastHeadend = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 3))
if mibBuilder.loadTexts: rsProdBroadcastHeadend.setStatus('current')
rsProdRadioCommunications = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2))
if mibBuilder.loadTexts: rsProdRadioCommunications.setStatus('current')
rsProdRadioCommCommon = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 1))
if mibBuilder.loadTexts: rsProdRadioCommCommon.setStatus('current')
rsProdRadioCommSeries4200 = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 2))
if mibBuilder.loadTexts: rsProdRadioCommSeries4200.setStatus('current')
rsProdRadioCommSystems = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 3))
if mibBuilder.loadTexts: rsProdRadioCommSystems.setStatus('current')
rsProdRadioCommEquipment = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 4))
if mibBuilder.loadTexts: rsProdRadioCommEquipment.setStatus('current')
rsRequirements = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 131))
if mibBuilder.loadTexts: rsRequirements.setStatus('current')
rsExperimental = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 137))
if mibBuilder.loadTexts: rsExperimental.setStatus('current')
rsCapabilities = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 139))
if mibBuilder.loadTexts: rsCapabilities.setStatus('current')
rsRegistration = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149))
if mibBuilder.loadTexts: rsRegistration.setStatus('current')
rsRegModules = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 1))
if mibBuilder.loadTexts: rsRegModules.setStatus('current')
rsRegBroadcast = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2))
if mibBuilder.loadTexts: rsRegBroadcast.setStatus('current')
rsRegBroadcastMeasurement = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2, 1))
if mibBuilder.loadTexts: rsRegBroadcastMeasurement.setStatus('current')
rsRegBroadcastTransmitter = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2, 2))
if mibBuilder.loadTexts: rsRegBroadcastTransmitter.setStatus('current')
rsCrypto = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 151))
if mibBuilder.loadTexts: rsCrypto.setStatus('current')
mibBuilder.exportSymbols("RS-COMMON-MIB", rsRegBroadcast=rsRegBroadcast, rsProdBroadcastHeadend=rsProdBroadcastHeadend, rsProdRadioCommunications=rsProdRadioCommunications, rsProdBroadcastMeasurement=rsProdBroadcastMeasurement, rsRegModules=rsRegModules, rsProducts=rsProducts, rsProdRadioCommEquipment=rsProdRadioCommEquipment, rsRegistration=rsRegistration, rsRequirements=rsRequirements, PYSNMP_MODULE_ID=rsRoot, rsExperimental=rsExperimental, rsProdBroadcastTransmitter=rsProdBroadcastTransmitter, rsProdRadioCommSeries4200=rsProdRadioCommSeries4200, rsProdRadioCommSystems=rsProdRadioCommSystems, rsRegBroadcastTransmitter=rsRegBroadcastTransmitter, rsCommon=rsCommon, rsRoot=rsRoot, rsRegBroadcastMeasurement=rsRegBroadcastMeasurement, rsProdBroadcast=rsProdBroadcast, rsCrypto=rsCrypto, rsProdRadioCommCommon=rsProdRadioCommCommon, rsCapabilities=rsCapabilities)
-- **********************************************************************
-- **********************************************************************
-- **
-- ** COPYRIGHT (c) 2006 Rohde & Schwarz GmbH & Co. KG
-- ** Muehldorfstrasse 15
-- ** R & S 81671 Muenchen
-- **
-- ** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-- **
-- ** MODULE RS-COMMON-MIB.my
-- **
-- ** DESCRIPTION Rohde & Schwarz common SNMP mib
-- **
-- ** HISTORY 2010-08-09 Christian Hoelzl
-- ** rsProdRadioCommEquipment added
-- **
-- ** 05/27/2008 Christian Hoelzl
-- ** rsProdBroadcastHeadend added
-- **
-- ** 05/07/2008 Christian Hoelzl
-- ** rsProdRadioCommSystems added
-- **
-- ** 10/31/2007 Christian Hoelzl
-- ** rsProdRadioCommunications added
-- ** rsProdRadioCommCommon added
-- ** rsProdRadioCommSeries4200 added
-- **
-- ** 09/05/2006 Christian Hoelzl
-- ** rsCrypto added
-- **
-- ** 06/24/2005 Christian Hoelzl
-- ** first version
-- **
-- ** +-iso(1)
-- ** +-org(3)
-- ** +-dod(6)
-- ** +-internet(1)
-- ** +-private(4)
-- ** +-enterprises(1)
-- ** +-rsRoot(2566)
-- ** +-rsCommon(123)
-- ** +-rsProduct(127)
-- ** | +-rsProdBroadcast(1)
-- ** | | +-rsProdBroadcastMeasurement(1)
-- ** | | +-rsProdBroadcastTransmitter(2)
-- ** | | +-rsProdBroadcastHeadend(3)
-- ** | |
-- ** | +-rsProdRadioCommunications(2)
-- ** | +-rsProdRadioCommCommon(1)
-- ** | +-rsProdRadioCommSeries4200(2)
-- ** | +-rsProdRadioCommSystems(3)
-- ** | +-rsPrdoRadioCommEquipment(4)
-- ** |
-- ** +-rsRequirements(131)
-- ** +-rsExperimental(137)
-- ** +-rsCapabilities(139)
-- ** +-rsRegistration(149)
-- ** | +-rsRegModules(1)
-- ** | +-rsRegBroadcast(2)
-- ** | +-rsRegBroadcastMeasurement(1)
-- ** | +-rsRegBroadcastTransmitter(2)
-- ** |
-- ** +-rsCrypto(151)
-- **
-- **
-- **********************************************************************
-- **********************************************************************
RS-COMMON-MIB DEFINITIONS ::= BEGIN
IMPORTS enterprises, OBJECT-IDENTITY, MODULE-IDENTITY FROM SNMPv2-SMI;
rsRoot MODULE-IDENTITY
LAST-UPDATED "201008090803Z" -- August 9th 2010 at 08:03 GMT
ORGANIZATION
"Rohde&Schwarz GmbH & Co.KG"
CONTACT-INFO
"Rohde & Schwarz GmbH & Co. KG
Muehldorfstrasse 15
81671 Munich
Germany"
DESCRIPTION
"The root OID of Rohde&Schwarz GmbH & Co.KG"
REVISION "201008090803Z" -- August 9th 2010 at 08:03 GMT
DESCRIPTION
"MODULE-IDENTITY added to RS-COMMON-MIB"
::= { enterprises 2566 }
rsCommon OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for common object and event definitions"
::= { rsRoot 113 }
rsProducts OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for products."
::= { rsRoot 127 }
rsProdBroadcast OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for broadcast products."
::= { rsProducts 1 }
rsProdBroadcastMeasurement OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for broadcast measurement products."
::= { rsProdBroadcast 1 }
rsProdBroadcastTransmitter OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for broadcast transmitter products."
::= { rsProdBroadcast 2 }
rsProdBroadcastHeadend OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for broadcast headend products."
::= { rsProdBroadcast 3 }
rsProdRadioCommunications OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for radio communication products."
::= { rsProducts 2 }
rsProdRadioCommCommon OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for radio communication product common features."
::= { rsProdRadioCommunications 1 }
rsProdRadioCommSeries4200 OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for radio communication series 4200."
::= { rsProdRadioCommunications 2 }
rsProdRadioCommSystems OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for radio communication systems."
::= { rsProdRadioCommunications 3 }
rsProdRadioCommEquipment OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for radio communication equipment."
::= { rsProdRadioCommunications 4 }
rsRequirements OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for management application requirements"
::= { rsRoot 131 }
rsExperimental OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for experimental definitions"
::= { rsRoot 137 }
rsCapabilities OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for agent capabilities"
::= { rsRoot 139 }
rsRegistration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for registrations"
::= { rsRoot 149 }
rsRegModules OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for modules registrations"
::= { rsRegistration 1 }
rsRegBroadcast OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Description."
::= { rsRegistration 2 }
rsRegBroadcastMeasurement OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Description."
::= { rsRegBroadcast 1 }
rsRegBroadcastTransmitter OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Description."
::= { rsRegBroadcast 2 }
rsCrypto OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Sub-tree for crypto algorithms"
::= { rsRoot 151 }
END
--
-- RS-COMMON-MIB.my
--
The texts should be there... Can you remove everything from ~/.pysnmp/mibs/*
then add the genText
option to your script:
compiler.addMibCompiler(mibBuilder, sources=['/users/admin/desktop/mib/mibfiles/',
'http://mibs.snmplabs.com/asn1/'], genTexts=True)
Re-run the script and check the MIB files afterwards?
That's to make sure those are not stale files generated before you added the genTexts
flag.
I ran rm -rf * in the ~/.psnmp/mibs directory and confirmed nothing was there. After I re-ran the scripts the directory had pretty much the same output.
from pysnmp.smi import builder, view, compiler, error, instrum, exval
from pysmi import debug
debug.setLogger(debug.Debug('searcher', 'reader', 'compiler'))
# Create MIB loader/builder
mibBuilder = builder.MibBuilder()
# Optionally attach PySMI MIB compiler (if installed)
print('Attaching MIB compiler...'),
compiler.addMibCompiler(mibBuilder, sources=['/users/admin/desktop/mib/mibFiles/', 'http://mibs.snmplabs.com/asn1/'], genTexts=True)
print('done')
# Optionally set an alternative path to compiled MIBs
print('Setting MIB sources...')
mibBuilder.addMibSources(builder.DirMibSource('/users/admin/desktop/mib/mibfiles/'))
print(mibBuilder.getMibSources())
print('done')
print('Loading MIB modules...'),
mibBuilder.loadModules('SNMPv2-MIB', 'SNMP-FRAMEWORK-MIB', 'SNMP-COMMUNITY-MIB', 'RS-COMMON-MIB', 'RS-XX9-SMI-MIB' , 'RS-XX9-TC-MIB', 'RS-XX9-COMMON-MIB')
# RS-XX9-ATSC-MIB', 'RS-XX9-ATV-MIB', 'RS-XX9-AIR-COOLING-MIB');
# mibBuilder.loadModules('SNMPv2-MIB', 'SNMP-FRAMEWORK-MIB', 'SNMP-COMMUNITY-MIB', 'RS-COMMON-MIB', 'RS-XX9-AIR-COOLING-MIB', 'RS-XX9-ATSC-MIB', 'RS-XX9-ATV-MIB', 'RS-XX9-COMMON-MIB', 'RS-XX9-DAB-MIB', 'RS-XX9-DTMB-MIB', 'RS-XX9-DVBT-MIB', 'RS-XX9-DVBT2-MIB', 'RS-XX9-FM-MIB', 'RS-XX9-ISDBT-MIB', 'RS-XX9-LIQUID-COOLING-MIB', 'RS-XX9-MTX-MIB', 'RS-XX9-SMI-MIB', 'RS-XX9-TC-MIB', 'RS-XX9-TX-MIB');
# RS-COMMON-MIB - mandatory for this MIB
# - RS-XX9-SMI-MIB - mandatory for this MIB
# - RS-XX9-TC-MIB - mandatory for this MIB
# - RS-XX9-COMMON-MIB
# print('done')
print('Indexing MIB objects...'),
mibView = view.MibViewController(mibBuilder)
print('done')
# print('MIB symbol name lookup by OID: '),
# oid, label, suffix = mibView.getNodeName((1, 3, 6, 1, 4, 1))
# print(oid, label, suffix)
# print('MIB symbol name lookup by label: '),
# oid, label, suffix = mibView.getNodeName((1, 3, 6, 1, 4, 1, 'mib-2', 1, 'sysDescr'))
# print(oid, label, suffix)
print('MIB symbol name lookup by symbol description: '),
oid, label, suffix = mibView.getNodeName(('sysDescr',))
oid, label, suffix = mibView.getNodeName(('snmpEngineID',), 'SNMP-FRAMEWORK-MIB')
print(oid, label, suffix)
print('MIB 1: '),
mibName, objName = 'SNMP-FRAMEWORK-MIB', 'snmpEngineID'
mibObj, = mibBuilder.importSymbols(mibName, objName)
print(mibObj.getDescription())
mibName, objName, restOfOid = mibView.getNodeLocation(oid)
mibObj, = mibBuilder.importSymbols(mibName, objName)
print(mibObj.getDescription())
print('MIB 2: '),
mibName, objName = 'SNMP-FRAMEWORK-MIB', 'snmpEngineID'
mibObj, = mibBuilder.importSymbols(mibName, objName)
print(mibObj.getDescription())
mibName, objName, restOfOid = mibView.getNodeLocation(oid)
mibObj, = mibBuilder.importSymbols(mibName, objName)
print(mibObj.getDescription())
print('MIB object value pretty print: '),
mibNode, = mibBuilder.importSymbols('SNMP-FRAMEWORK-MIB', 'snmpEngineID')
print(mibNode.syntax.prettyPrint())
print('MIB symbol location lookup by name: '),
modName, symName, suffix = mibView.getNodeLocation(('snmpCommunityEntry',))
print(symName, modName)
print('MIB node lookup by location: '),
rowNode, = mibBuilder.importSymbols(modName, symName)
print(rowNode)
print('Conceptual table index value to oid convertion: '),
oid = rowNode.getInstIdFromIndices('router')
print(oid)
print('Conceptual table index oid to value convertion: '),
print(rowNode.getIndicesFromInstId(oid))
print('MIB tree traversal')
oid, label, suffix = mibView.getFirstNodeName()
while 1:
try:
mibName, objName, mibName2 = 'SNMP-FRAMEWORK-MIB', 'snmpEngineID', 'RS-COMMON-MIB'
mibObj, = mibBuilder.importSymbols(mibName, objName)
# mibObj2, = mibBuilder.importSymbols(mibName2);
# print(mibBuilder['RS-COMMON-MIB'])
modName, nodeDesc, suffix = mibView.getNodeLocation(oid)
# mibObj, = mibBuilder.importSymbols(modName, nodeDesc)
print(mibObj.getDescription())
print('%s::%s == %s && %s' % (modName, nodeDesc, oid, mibObj))
oid, label, suffix = mibView.getNextNodeName(oid)
except error.NoSuchObjectError:
break
print('Building MIB tree...'),
mibInstrum = instrum.MibInstrumController(mibBuilder)
print('done')
print('Building table entry index from human-friendly representation...'),
snmpCommunityEntry, = mibBuilder.importSymbols(
'SNMP-COMMUNITY-MIB', 'snmpCommunityEntry'
)
instanceId = snmpCommunityEntry.getInstIdFromIndices('my-router')
print('done')
# print('Create/update SNMP-COMMUNITY-MIB::snmpCommunityEntry table row: ')
# varBinds = mibInstrum.writeVars(
# ((snmpCommunityEntry.name + (2,) + instanceId, 'mycomm'),
# (snmpCommunityEntry.name + (3,) + instanceId, 'mynmsname'),
# (snmpCommunityEntry.name + (7,) + instanceId, 'volatile'))
# )
# for oid, val in varBinds:
# print('%s = %s' % ('.'.join([str(x) for x in oid]), val.prettyPrint()))
# print('done')
print('Read whole MIB (table walk)')
oid, val = (), None
while 1:
oid, val = mibInstrum.readNextVars(((oid, val),))[0]
if exval.endOfMib.isSameTypeWith(val):
break
print('%s = %s' % ('.'.join([str(x) for x in oid]), val.prettyPrint()))
print('done')
print('Unloading MIB modules...'),
mibBuilder.unloadModules()
print('done')
# print('Modules traversal')
# modName = mibView.getFirstModuleName()
# while 1:
# if modName: print(modName)
# try:
# modName = mibView.getNextModuleName(modName)
# except error.SmiError:
# break
#
# PySNMP MIB module RS-COMMON-MIB (http://pysnmp.sf.net)
# ASN.1 source file:///users/admin/desktop/mib/mibFiles/RS-COMMON-MIB.mib
# Produced by pysmi-0.1.3 at Tue Aug 1 14:05:37 2017
# On host Busby.local platform Darwin version 15.6.0 by user admin
# Using Python version 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04)
#
ObjectIdentifier, OctetString, Integer = mibBuilder.importSymbols("ASN1", "ObjectIdentifier", "OctetString", "Integer")
NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
ValueRangeConstraint, ConstraintsIntersection, SingleValueConstraint, ValueSizeConstraint, ConstraintsUnion = mibBuilder.importSymbols("ASN1-REFINEMENT", "ValueRangeConstraint", "ConstraintsIntersection", "SingleValueConstraint", "ValueSizeConstraint", "ConstraintsUnion")
ModuleCompliance, NotificationGroup = mibBuilder.importSymbols("SNMPv2-CONF", "ModuleCompliance", "NotificationGroup")
Unsigned32, TimeTicks, Bits, ObjectIdentity, Counter64, ModuleIdentity, iso, Counter32, IpAddress, MibIdentifier, NotificationType, Gauge32, Integer32, enterprises, MibScalar, MibTable, MibTableRow, MibTableColumn = mibBuilder.importSymbols("SNMPv2-SMI", "Unsigned32", "TimeTicks", "Bits", "ObjectIdentity", "Counter64", "ModuleIdentity", "iso", "Counter32", "IpAddress", "MibIdentifier", "NotificationType", "Gauge32", "Integer32", "enterprises", "MibScalar", "MibTable", "MibTableRow", "MibTableColumn")
DisplayString, TextualConvention = mibBuilder.importSymbols("SNMPv2-TC", "DisplayString", "TextualConvention")
rsRoot = ModuleIdentity((1, 3, 6, 1, 4, 1, 2566))
if mibBuilder.loadTexts: rsRoot.setRevisions(('2010-08-09 08:03',))
if mibBuilder.loadTexts: rsRoot.setLastUpdated('201008090803Z')
rsCommon = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 113))
if mibBuilder.loadTexts: rsCommon.setStatus('current')
rsProducts = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127))
if mibBuilder.loadTexts: rsProducts.setStatus('current')
rsProdBroadcast = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1))
if mibBuilder.loadTexts: rsProdBroadcast.setStatus('current')
rsProdBroadcastMeasurement = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 1))
if mibBuilder.loadTexts: rsProdBroadcastMeasurement.setStatus('current')
rsProdBroadcastTransmitter = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 2))
if mibBuilder.loadTexts: rsProdBroadcastTransmitter.setStatus('current')
rsProdBroadcastHeadend = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 1, 3))
if mibBuilder.loadTexts: rsProdBroadcastHeadend.setStatus('current')
rsProdRadioCommunications = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2))
if mibBuilder.loadTexts: rsProdRadioCommunications.setStatus('current')
rsProdRadioCommCommon = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 1))
if mibBuilder.loadTexts: rsProdRadioCommCommon.setStatus('current')
rsProdRadioCommSeries4200 = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 2))
if mibBuilder.loadTexts: rsProdRadioCommSeries4200.setStatus('current')
rsProdRadioCommSystems = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 3))
if mibBuilder.loadTexts: rsProdRadioCommSystems.setStatus('current')
rsProdRadioCommEquipment = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 127, 2, 4))
if mibBuilder.loadTexts: rsProdRadioCommEquipment.setStatus('current')
rsRequirements = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 131))
if mibBuilder.loadTexts: rsRequirements.setStatus('current')
rsExperimental = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 137))
if mibBuilder.loadTexts: rsExperimental.setStatus('current')
rsCapabilities = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 139))
if mibBuilder.loadTexts: rsCapabilities.setStatus('current')
rsRegistration = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149))
if mibBuilder.loadTexts: rsRegistration.setStatus('current')
rsRegModules = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 1))
if mibBuilder.loadTexts: rsRegModules.setStatus('current')
rsRegBroadcast = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2))
if mibBuilder.loadTexts: rsRegBroadcast.setStatus('current')
rsRegBroadcastMeasurement = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2, 1))
if mibBuilder.loadTexts: rsRegBroadcastMeasurement.setStatus('current')
rsRegBroadcastTransmitter = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 149, 2, 2))
if mibBuilder.loadTexts: rsRegBroadcastTransmitter.setStatus('current')
rsCrypto = ObjectIdentity((1, 3, 6, 1, 4, 1, 2566, 151))
if mibBuilder.loadTexts: rsCrypto.setStatus('current')
mibBuilder.exportSymbols("RS-COMMON-MIB", rsProdRadioCommSeries4200=rsProdRadioCommSeries4200, rsCommon=rsCommon, rsRegistration=rsRegistration, rsProdBroadcastMeasurement=rsProdBroadcastMeasurement, rsRegBroadcast=rsRegBroadcast, rsCrypto=rsCrypto, rsRegBroadcastMeasurement=rsRegBroadcastMeasurement, rsProdBroadcast=rsProdBroadcast, rsRoot=rsRoot, rsProdRadioCommSystems=rsProdRadioCommSystems, rsProdRadioCommCommon=rsProdRadioCommCommon, rsProdBroadcastHeadend=rsProdBroadcastHeadend, rsExperimental=rsExperimental, rsRegModules=rsRegModules, rsProdRadioCommunications=rsProdRadioCommunications, rsProdRadioCommEquipment=rsProdRadioCommEquipment, rsProdBroadcastTransmitter=rsProdBroadcastTransmitter, PYSNMP_MODULE_ID=rsRoot, rsRegBroadcastTransmitter=rsRegBroadcastTransmitter, rsCapabilities=rsCapabilities, rsProducts=rsProducts, rsRequirements=rsRequirements)
I believe I'm seeing the same behavior as @BusbyActual - deleted ~/.pysnmp folder, called addMibCompiler(... genTexts=True))
but when I look at the converted .py file, no description text to be found...
Edit: this appears to work:
mibBuilder = builder.MibBuilder()
mibBuilder.loadTexts = True
Hi all,
I've been studying these issues, the old discussions on sourceforge, and the faqs (.rsts) for some weeks, but now I ask your help.
I believe I am facing same issue here as @BusbyActual and @thom-nic. I have a new custom .MIB which I added in the directory seen by script (very similar to the posted here). And I have:
modName and modName + ".py[co]", ', '.join([str(x) for x in self.__mibSources]))
pysnmp.smi.error.MibNotFoundError: MIB file "1206v0122.py[co]" not found in search path
One thing that I dont understand is that I cannot found the ~./pysnmp folder on my machine. Dumb question: Is this folder expected to be created right after I did "pip install pysnmp"? Or should it be created after run the script itself?
python: 3.6.9 pysnmp: /usr/local/lib/python3.6/dist-packages/pysnmp-4.4.12.dist-info pysmi (0.3.4)
Many thanks
I'm trying to import some custom MIB files and I'm not getting the output I'd expect. A large amount of the modules aren't being shown. I'm using your SNMP MIB browser template. I found a stacked overflow article on how the MIB files need to be formatted to pysnmp format first. According to the docs this appears to be automated now so that might not be the issue. I'm just trying to get a browser / parser for the Oids and their names.