前两天,发布了一篇关于Python/C语言使用netsnmp进行snmp编程的百家号文章,居然有不少人参看,阅读,为了完整性,把Java语言使用snmp4j的方法,说明一下供大家参考。
虽然有点重复,没有看过Python/C语言的snmp编程的,看着一篇就可以了,所以也是从安装构建环境开始。
第一部分: 安装snmp程序以及服务。
关于snmp的开发,netsnmp目前的最新版本是5.7.3。 为了支持python的开发,按照如下的方式构建开发环境。
在Ubuntu中安装snmp的支持,有两种方法,第一种,直接apt-get安装对应的程序,第二种,从netsnmp官网下载源码net-snmp-5.7.3.tar.gz,进行编译安装。
对以第二种方法,网络上的方法不胜列举,但是我是没有成功过,所以我这里推荐第一种,这种情况下,不要用源码下载编译,避免安装路径出错。
#第一种直接安装是在/usr/share下面,第二种缺省目录是在/usr/local/share下面,结果导致寻找mibs的路径出现混乱。
方法如下: 安装snmpd,snmp,和snmp-mibs-downloader
snmpd是一个监听snmp服务的进程,绑定在某个端口上,等待来自请求者的SNMP的请求,进行处理,返回信息给请求者。
snmp就是一个请求者的snmp命令集。
snmp-mibs-downloader表示mib名称
~$sudo apt-get install snmp
~$sudo apt-get install snmpd
~$sudo apt-get install snmp-mibs-downloader
接下来,就是启动snmpd服务
~$sudo service snmpd restart
最后,测试以下是否成功
~$snmpwalk -v 2c -c public localhost
如果数据返回正确,那么就表示安装的snmp已经可以正常使用了。
第二部分: java编程。
首先,到官网http://www.snmp4j.org,下载snmp4j。例如: SNMP4J sources and library 2.6.2
其次,把下载的snmp4j-2.6.2.jar拖放到你的程序的lib文件夹下(注:这个lib文件夹要你自己建)。
接下来,设定snmp4j-2.6.2.jar的BuildPath,如下图。
最后,附上程序,留下最最必须的,简单的流程,但是比Python而言,还是复杂。
最后,祝你幸运!