使用snmp4j实现Snmp功能

问题描述

求个例子~~

解决方案

这个例子是可以用的import java.io.IOException; import java.util.Vector; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.event.ResponseEvent; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OID; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class SnmpUtil { private Snmp snmp = null; private Address targetAddress = null; public void initComm() throws IOException { // 设置Agent方的IP和端口 targetAddress = GenericAddress.parse("udp:127.0.0.1/161"); TransportMapping transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); transport.listen(); } public ResponseEvent sendPDU(PDU pdu) throws IOException { // 设置 target CommunityTarget target = new CommunityTarget(); target.setCommunity(new OctetString("public")); target.setAddress(targetAddress); // 通信不成功时的重试次数 target.setRetries(2); // 超时时间 target.setTimeout(1500); target.setVersion(SnmpConstants.version1); // 向Agent发送PDU,并返回Response return snmp.send(pdu, target); } public void setPDU() throws IOException { // set PDU PDU pdu = new PDU(); pdu.add(new VariableBinding(new OID(new int[] { 1, 3, 6, 1, 2, 1, 1, 5, 0 }), new OctetString("SNMPTEST"))); pdu.setType(PDU.SET); sendPDU(pdu); } public void getPDU() throws IOException { // get PDU PDU pdu = new PDU(); pdu.add(new VariableBinding(new OID(new int[] { 1, 3, 6, 1, 2, 1, 1, 5, 0 }))); pdu.setType(PDU.GET); readResponse(sendPDU(pdu)); } public void readResponse(ResponseEvent respEvnt) { // 解析Response if (respEvnt != null && respEvnt.getResponse() != null) { Vector<VariableBinding> recVBs = respEvnt.getResponse() .getVariableBindings(); for (int i = 0; i < recVBs.size(); i++) { VariableBinding recVB = recVBs.elementAt(i); System.out.println(recVB.getOid() + " : " + recVB.getVariable()); } } } public static void main(String[] args) { try { SnmpUtil util = new SnmpUtil(); util.initComm(); util.setPDU(); util.getPDU(); } catch (IOException e) { e.printStackTrace(); } } }

时间: 2024-09-19 08:52:43

使用snmp4j实现Snmp功能的相关文章

snmp-关于SNMP开发的一些问题

问题描述 关于SNMP开发的一些问题 最近要开发基于snmp协议的一个简单网管系统,主要用来管理华为的PON设备(包括读取设备信息,监控设备告警,以及动态地去注册配置设备),因为第一次接触SNMP协议,可以说一头雾水,简单罗列了下碰到的一些问题,望懂得大哥大姐能帮忙解答下: 1.准备用JAVA语言开发网管系统,用什么开发工具比较好,SNMP4j?或者OBJECTSNMP?还是其他的?(暂时准备用SNMP4j,但网上资料少得可怜) 2.网上有很多snmp4j的GET方法的例子,我拿下来后已经可以取

《精通SNMP》——1.2 SNMP概述

1.2 SNMP概述 作为一种标准的网络管理协议,从功能上,SNMP的组成可以分为两大部分:管理信息的定义与标识和SNMP实体之间的通信协议. 管理信息的定义与标识的核心内容是管理信息结构与标识(Structure and Identification of Management Information,SMI)和许多的管理信息库(Management Information Base,MIB).SMI目前有SMIv1和SMIv2两个版本,它规定如何定义.标识管理信息.MIB遵循SMI规范,定义

如何防止无线上网的安全隐患?

  无线上网存在哪些隐患: 大家知道,无线网络节点正常可以辐射到300米左右的范围,因此在300米以内的安装有无线网卡的任何计算机,都能访问到无线网络节点,并有可能进入到无线网络中;很显然这种便捷的访问方式,容易给无线网络带来安全威胁.例如,在300米以内的某台黑客计算机同样也有机会进入到你的无线网络,从而控制你的计算机中的"一举一动";尽管无线网络在信息的保密性方面没有有线网络那样严格,但你肯定不希望非法攻击者很轻易地知道你在网络中的各种行踪,例如你访问了哪些网站啦,对外发送了什么隐

Cacti安装配置及使用

工作原理图: 整个系统有四部分组成: 1.Cacti系统平台用于用户设置与查看图表:Cacti需要LAMP环境的支持. 2.snmp用于采集数据给rrdtool绘制成图,使用161.162端口,用MIB数据库来保持数据信息,根据OID定位数据(类似1.3.6.1.2.1):Linux下使用net-snmp自带的snmpget和snmpwalk等程序,Windows下使用php的snmp功能. 3.RRDTool绘图引擎用于性能数据的存储和绘画图像. 4.Mysql数据库用来存储RRDTool绘图

网吧交换机故障诊断的方法

在网吧这个局域网里面,交换机扮演者一个重要的角色,如果出现网吧交换机故障的问题,就会影响整个网吧的网络无法运行.作为网吧热点资讯,小编分享到几个网吧交换机故障诊断的方法. 1,连接到一个空闲端口 这是一个简单的诊断方法,是在交换机的空闲端口接入一个监测工具,例如协议分析仪.把监测工具接入交换机的一个空闲端口,不用中断服务就可以查看所属广播域.该监测工具与广播域里的其他站点一样有相同的权限. 实际操作当中需要我们通过控制口(交换机的RS232端口),除了监测工具之外,我们通常还需要带一台电脑或者终

Linux系统下的ipmitool工具使用指南

  本文介绍ipmitool工具的使用,这个命令主要是用来操作服务器硬件的,所以一般的业务运维很少会用它,但它的功能很强大,比如:能够硬重启服务器,重设BMC口,配置BMC口IP,进入grub环境,设置boot顺序,等等. 在CentOS和RedHat Linux的大部分版本中都会默认安装它,所以它的实用性比较广. 还有一个好处是用它可以制作远程管理服务器的运维自动化系统. - 进入grub环境: 代码如下: ipmitool -H $BMC_IP -I lanplus -U $USERNAME

怎样在 Ubuntu 14.10 Server 上安装 Cacti

怎样在 Ubuntu 14.10 Server 上安装 Cacti Cacti 是一个完善的网络监控的图形化解决方案,它被设计用来发挥 RRDTool (一个 Linux 数据存储和绘图工具)的数据存储和绘图的强大功能.Cacti 提供一个快速的轮询器,高级的绘图模版,多种数据获取方法和用户管理功能,并且可以开箱即用.所有的这些都被打包进一个直观,易用的界面,可用于监控简单的 LAN 网络,乃至包含成百上千设备的复杂网络. 功能 绘图 没有数量限制的监控图条目(graph item),每个图形可

使用snmpwalk采集设备的OID信息

打算开始学习有关监控方面的知识,但是现在很多监控系统都是根据SNMP进行的.而SNMP监控的性能指标很多都是通过snmpwalk采集设备的OID信息得到的,所以今天就来先介绍下,如何通过snmpwalk来采集设备的OID信息. 要使用snmpwalk采集设备的OID信息,需要以下几个步骤: 1. 理解snmpwalk的原理 2. 安装snmpwalk 3. snmpwalk参数说明 4. snmpwalk的使用方法 5. 使用snmpwalk采集设备OID信息 6. 生产环境中设备OID信息注意

ConnetOS:最懂网络的开放交换机软件

云启科技(YUNQI TECH)是一家专注于开放网络研发的创业型公司,其创始人及核心研发工程师作为曾经百度自研交换机项目的项目负责人/核心成员,主导产品研发及运营,实现了百度自研交换机从无到有.再到全线取代商用交换机的重要突破,奠定了百度数据中心网络在国内乃至全球互联网行业的的领先地位. 云启科技研发团队不仅具有丰富的互联网行业经验,同时也拥有一线网络厂商的技术背景.凭借在数据中心网络研发上深厚的积累以及对数据中心网络设计和运营方面独到的见解,历经多年探索,云启科技成功打造出一款适应现代数据中心