Snmp学习总结(六)——NET-SNMP 简介与使用
在 Linux 系统中,我们可以选择 net-snmp 来处理绝大多数和 SNMP 相关的工作。
NET-SNMP 是一种开放源代码的 SNMP 协议实现。它支持 SNMP v1, SNMP v2c 与 SNMP v3,并可以使用 IPV4 及 IPV6 。也包含 SNMP Trap 的所有相关实现。Net-snmp 包含了 snmp 实用程序集和完整的 snmp 开发库。
用户使用 net-snmp 提供的工具,可以完成很多关于 SNMP 的操作,具体说来,包括以下一些命令行应用程序:
一些应用程序可以用来从支持 SNMP 的设备获得数据。其中 snmpget, snmpgetnext 可以支持独立请求,比如:
% snmpget -v 1 -c demopublic test.net-snmp.org system.sysUpTime.0 system.sysUpTime.0 = Timeticks: (586731977) 67 days, 21:48:39.77
该命令获得单个独立的 MIB 对象 system.sysUpTime.0 的值。
而 snmpwalk, snmptable, snmpdelta 则用来支持重复请求。
% snmpwalk -v 2c -c demopublic test.net-snmp.org system SNMPv2-MIB::sysDescr.0 = HP-UX net-snmp B.10.20 A 9000/715 SNMPv2-MIB::sysObjectID.0 = OID: enterprises.ucdavis.ucdSnmpAgent.hpux10 SNMPv2-MIB::sysUpTime.0 = Timeticks: (586998396) 67 days, 22:33:03.96 SNMPv2-MIB::sysContact.0 = Wes Hardaker wjhardaker@ucdavis.edu SNMPv2-MIB::sysName.0 = net-snmp
上面的命令返回所有 system 节点以下的 MIB 对象的值。
命令 snmpset 对支持 SNMP 的设备配置属性。如下例所示:
$ snmpget -v 1 -c demopublic test.net-snmp.org ucdDemoPublicString.0 UCD-DEMO-MIB::ucdDemoPublicString.0 = "hi there!" $ snmpset -v 1 -c demopublic test.net-snmp.org ucdDemoPublicString.0 s "Hello, world!" UCD-DEMO-MIB::ucdDemoPublicString.0 = "Hello, world!" $ snmpget -v 1 -c demopublic test.net-snmp.org ucdDemoPublicString.0 UCD-DEMO-MIB::ucdDemoPublicString.0 = "Hello, world!"
命令 snmpdf, snmpnetstat, snmpstatus 可以从支持 SNMP 的设备获取特定的信息。比如下面的命令从目标系统上获得类似 netstat 的信息:
% snmpnetstat -v 2c -c public -a testhost Active Internet (tcp) Connections (including servers) Proto Local Address Foreign Address (state) tcp *.echo *.* LISTEN tcp *.discard *.* LISTEN tcp *.daytime *.* LISTEN tcp *.chargen *.* LISTEN tcp *.ftp *.* LISTEN tcp *.telnet *.* LISTEN tcp *.smtp *.* LISTEN Active Internet (udp) Connections Proto Local Address udp *.echo udp *.discard udp *.daytime udp *.chargen udp *.time
snmptranslate 命令将 MIB OIDs 的两种表现形式 ( 数字及文字 ) 相互转换。并显示 MIB 的内容与结构,如下所示:
% snmptranslate .1.3.6.1.2.1.1.3.0 SNMPv2-MIB::sysUpTime.0 % snmptranslate -On SNMPv2-MIB::sysUpTime.0 .1.3.6.1.2.1.1.3.0
Net-snmp 还提供了一个基于 Tk/perl 的,图形化的 MIB 浏览器 tkmib。
图 2. Tkmib 界面