SNMP学习笔记之iReasoning MIB Browser
0x00 MIB Browser
iReasoning MIB浏览器是一个强大和易于使用的工具由iReasoning SNMP API提供支持。 MIB浏览器是工程师管理启用SNMP的网络设备和应用程序不可或缺的工具。 它允许用户加载标准的,专有的MIB,甚至一些错误的MIB。 它还允许它们发出SNMP请求以检索代理的数据,或对代理进行更改。 内置陷阱接收器可以根据其规则引擎接收和处理SNMP陷阱。
下载地址:http://www.ireasoning.com/download.shtml
安装后界面
可以通过官网下载MIB库文件,导入ireasoning\mibbrowser\mibs目录下,通过MIB Browser可以查看设备的私有OID
0x01 如何获取CISCO设备OID值
思科的交换机snmp oid信息查询 http://tools.cisco.com/Support/SNMP/do/BrowseOID.do
1、通过交换机执行命令“show version”获取IOS名称,如下图标红的内容
2、根据系统信息进行官网页面查询
3、点击search后弹出新页面,列出这个IOS所有可用的MIB库,如下图
4、选择自己需要的MIB库,如CISCO环境监视器MIB文件,名称是CISCO-ENVMON-MIB,点击V2
我需要查看设备的温度值,找到具体的OBJECT-TYPE,如下图的 ciscoEnvMonTemperatureStatusTable
5、根据ciscoEnvMonTemperatureStatusTable 去官网查询它的OID
6、根据查询的OID,通过snmpwalk命令进行获取
7、cpu信息获取
下表显示他们替换的新的MIB和他们的对象在旧有MIB旁边和对象:
# sysDescr CSICO-3560 系统信息 # ifNumber CSICO-3560 接口总数 # ifTable CSICO-3560 接口详细信息 # .1.3.6.1.4.1.9.9.13.1.3.1.3 CSICO-3560 温度 # .1.3.6.1.4.1.9.9.13.1.4.1.3 CSICO-3560 风扇状态 # .1.3.6.1.4.1.9.9.13.1.5.1.3 CSICO-3560 电源状态 # 1.3.6.1.4.1.9.9.48.1.1.1.1 CSICO-3560内存池名称,有多个,如Processor、I/O、Driver # 1.3.6.1.4.1.9.9.48.1.1.1.5 CSICO-3560内存池使用 # 1.3.6.1.4.1.9.9.48.1.1.1.6 CSICO-3560内存池空闲,内存池总大小=使用+空闲
0x02 华为MIB库
如何下载华为设备MIB http://support.huawei.com/huaweiconnect/enterprise/thread-228323.html
操作方法同以上思科
0x03 python代码实现获取snmp信息
# -*- coding: utf-8 -*- import netsnmp class SnmpClass(object): """ SNMP """ def __init__(self, oid="sysDescr", version=1, destHost="localhost", community="public"): self.oid = oid self.version = version self.destHost = destHost self.community = community @property def query(self): """ snmpwalk """ try: result = netsnmp.snmpwalk(self.oid, Version=self.version, DestHost=self.destHost, Community=self.community) except Exception, err: print err result = None return result def main(): test_obj = SnmpClass(oid="ifIndex", destHost="192.168.137.11") print test_obj.query if __name__ == '__main__': main()