snmpwalk工具使用
简介snmpwalk
snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。
在linux下使用snmpwalk工具,我们必须要安装net-snmp-utils这个软件包。
注意:如果linux只安装net-snmp的话,则不包含snmpwalk工具,如下:
yum -y install net-snmp-utils
rpm -qa | grep snmp
snmpwalk 命令参数
- –h:显示帮助。
- –v:指定snmp的版本, 1或者2c或者3。
- –c:指定连接设备SNMP密码。
- –V:显示当前snmpwalk命令行版本。
- –r:指定重试次数,默认为0次。
- –t:指定每次请求的等待超时时间,单为秒,默认为3秒。
- –l:指定安全级别:noAuthNoPriv|authNoPriv|authPriv。
- –a:验证协议:MD5|SHA。只有-l指定为authNoPriv或authPriv时才需要。
- –A:验证字符串。只有-l指定为authNoPriv或authPriv时才需要。
- –x:加密协议:DES。只有-l指定为authPriv时才需要。
- –X:加密字符串。只有-l指定为authPriv时才需要。
snmpwalk使用方法很简单,如下:
- snmpwalk -v 1或2c(代表SNMP版本) -c SNMP读团体密码 IP地址 OID(对象标示符)
- –v:指定snmp的版本, 1或者2,该参数必须有。
- –c:指定连接设备SNMPSNMP读团体密码,该参数必须有。
- IP:指定要walk的设备的IP地址,该参数必须有。
- OID:代表要获取设备的指标oid,该参数不是必须的。
案例:
命令 | 描述 |
---|
snmpwalk -v 2c -c public 192.168.237.50 .1.3.6.1.4.1.2021.10.1.3 | 监控cpuload |
snmpwalk -v 2c -c public 10.1.1.1 .1.3.6.1.2.1.25.2.2 | 取得系统总内存 |
snmpwalk -v 2c -c public 10.1.1.1 hrSystemNumUsers | 取得系统用户数(注意:hrSystemNumUsers与.1.3.6.1.2.1.25.1.5是等效的) |
snmpwalk -v 2c -c public 10.1.1.1 .1.3.6.1.2.1.4.20 | 取得IP信息 |
snmpwalk -v 2c -c public 10.1.1.1 system | 查看系统信息 |
snmpwalk -v 2c -c public 10.1.1.1 ifDescr | 获取网卡信息 |
MIB介绍【交换机MIB浏览器ifType、ifDescr、ifMtu、ifInOctets等的含义】
MIB | 描述 |
---|
ifType | 接口的类型取值117表示接口为GigabitEthernet,取值62表示借口为FastEnthernet等 |
ifMtu | 可传输数据包的最大字节数 |
ifinOctets | 接口输入的字节数 |
ifoutOctets | 接口输出的字节数 |
ifIndex | 桥接端口对应的端口 |
ifSpeed | 接口速率 |
ifPhysAddress | 接口的数据链路地址 |
ifAdminStatus | 接口的管理状态 |
ifOperStatus | 接口的操作状态 |
ifLastChange | 接口最后更新成当前操作状态的时刻 |
ifInUcastPkts | 通过上层协议传递到子网的单播报文数 |
ifInNUcastPkts | 传递给上层网络协议的非单报文数 |
ifInDiscards | 被丢弃(尽管没有错误)的输入报文数,并且这些报文不会被传递给上层网络协议 |
ifInErrors | 流入的错误报文数,由于错误使得这些报文不会被传递给上层网络协议 |
ifInUnknownProtos | 由于未知或不支持的网络协议而丢弃的输入报文的数量 |
ifOutUcastPkts | 上层协议(如IP)需要发送给一个网络单播地址的报文数,该数量包括丢弃的或未发送的报文数 |
ifOutNUcastPkts | 上层协议(如IP)需要发送给一个非单播地址的报文数,该数量包括丢弃的或因为某种原因未发送的报文数 |
ifOutDiscards | 由于某种与特定错误条件无关的原因,而不能发送的报文数。例如,可能由报文TTL超时导致() |
ifOutErrors | 由于错误而不能发送的报文数量 |
ifOutQLen | 该设备上的输出报文队列长度 |
ifSpecific | MIB引用定义,指向一个用于实现该网络接口的特定介质类型 |
atIfIndex | 指向每个特定映射 |
atPhysAddress | 介质相关的物理地址(是一个有效的IP地址) |
atNetAddress | 介质相关物理地址所关联的IP地址 |