1、设定远程实体
snmp4j中,用CommunityTarget对象来表示远程实体(要进行snmp消息通信的远程主机,使用snmp的v2版本)
2、指定远程实体的地址
snmp4j中使用Address接口对象来表示,Address对象需要通过实现该接口的类的对象向上转型来实例化
3、通过CommunityTarget以及其父接口中提供的setXX方法来设定远程实体的属性,如设定远程实体的snmp共同体属性、远程实体的地址、超时时间、重传次数、snmp版本等
4、设定使用的传输协议
snmp4j中,用TransportMapping接口的对象来表示传输协议(tcp/udp)
5、调用TransportMapping中的listen()方法,启动监听进程,接收消息,由于该监听进程是守护进程,最后应调用close()方法来释放该进程
6、创建SNMP对象,用于发送请求PDU
a、创建请求pdu,即创建PDU类的对象,调用PDU类中的add()方法绑定要查询的OID,调用PDU中的setType()方法来确定该pdu的类型(与snmp中物种操作想对应)
b、通过PDU的构造方法 public SNMP(TransportMapping transportingMapping),或者其他构造方法来生成pdu,之后调用 ResopnseEvent send(PDU pdu,Target target)发送pdu,该方法返回一个ResponseEvent对象
7、通过ResponseEvent对象来获得SNMP请求的应答pdu,方法:public PDU getResponse()
8、通过应答pdu获得mib信息(之前绑定的OID的值),方法:VaribleBinding get(int index)
转自:http://blog.csdn.net/creazyjava/article/details/5453004
分享到:
相关推荐
接下来,我们重点讨论如何使用Snmp4j获取本地所有OID。Snmp4j提供了丰富的API来执行SNMP操作,以下是一个简单的示例代码: ```java import org.snmp4j.*; import org.snmp4j.mp.MPv1; import org.snmp4j.mp.MPv2c; ...
### Java实现SNMP获取OID值:深入解析与代码示例 #### SNMP协议简介与OID概念 简单网络管理协议(SNMP)是一种应用层协议,用于收集和组织有关网络设备的信息,如路由器、交换机和服务器等,并对其进行管理。SNMP...
基于java的Oid获取软件.rar Java进行SNMP通信的指南SnmpProgrammingGuideViaJava.doc Java实现snmp的get和walk代码示例.doc snmp4j.chm snmp.chm SnmpMain.java snmp配置说明.doc snmp协议详细讲解.doc ...
在这个"SNMP4J远程获取设备信息案例"中,我们将深入探讨如何使用SNMP4J库来从远程设备获取数据。 首先,我们需要理解SNMP的基本概念。SNMP由三个主要组件构成:管理站(Manager)、代理(Agent)和管理信息库(MIB...
总结来说,通过SNMP获取远程主机的内存利用率和CPU使用率涉及SNMP协议的理解、OID的选择、以及使用像SNMP4J这样的库来构建SNMP请求和解析响应。在Java程序中,这通常包括建立SNMP会话、构造PDU、发送GET请求以及解析...
对于Java环境,可以使用如`snmp4j`这样的库来编写SNMP查询代码。 5. **解析响应**:收到SNMP响应后,解析返回的OID值,转换成可读的内存和硬盘使用情况。例如,内存总量可能是以字节为单位的,需要进行转换成人类可...
`SNMP4JTableUtils`和`SNMPWalk`是SNMP4J库中的工具类,分别用于获取MIB表和执行Walk操作。 另外,代码还展示了异步请求的发送,通过`sendAsyncRequest`方法实现。异步操作的好处在于它们允许程序在等待网络操作的...
以上代码片段展示了如何使用SNMP4j包读取SNMP协议数据的基本步骤,包括初始化SNMP会话、发送GET请求、处理陷阱以及配置SNMPv3安全模型。实际应用中,根据网络设备的具体情况,可能需要对这些基础代码进行相应的调整...
为了使用SNMP4J,开发者需要了解SNMP的基本概念,如MIB(Management Information Base)、OID(Object Identifier)和PDU等,并且需要熟悉Java编程。通过导入"snmp4j-2.0.3.jar"到项目中,结合SNMP4J提供的API,就...
本文将深入探讨如何使用SNMP4J来实现SNMP的基本操作,包括GET、GETNEXT、SET和TRAP。 1. SNMP协议基础: SNMP协议主要由管理站(Manager)和代理(Agent)两部分组成。管理站负责发送请求并接收响应,而代理则驻留...
本篇文章将详细探讨如何使用SNMP4j库在Java中读取SNMP协议数据。 首先,了解SNMP是必要的。SNMP是一种网络管理标准协议,用于监控网络设备,如路由器、交换机、服务器等的状态和性能。它基于TCP/IP协议栈,通过发送...
通过上述内容,你应能掌握使用snmp4j库进行SNMP操作的基本方法,包括获取和设置MIB值,发送TRAP,以及在SNMPv3环境下的安全配置。这个eclipse工程提供了一个实用的起点,帮助你开始在Java项目中集成SNMP功能。
SNMP(简单网络管理协议)是用于网络设备管理的标准协议,而SNMP4J是一个Java实现的SNMP库,它提供了在Java应用程序中与SNMP兼容设备交互的能力。"SNMP get walk" 是一个关键的操作,它允许从网络设备中批量获取MIB...
以下是一个简单的示例,展示了如何使用 `snmp4j` 获取远程设备的主机名(OID为1.3.6.1.2.1.1.5.0): ```java import java.io.IOException; import java.util.Vector; import org.snmp4j.CommunityTarget; import ...
以上就是使用SNMP4J在Java中实现SNMP Trap的基本过程。实际应用中,你可能需要处理更复杂的场景,如SNMPv3的安全性、自定义MIB对象、错误处理等。通过理解SNMP4J库的工作原理和SNMP协议的基础知识,你可以灵活地扩展...
这个例子展示了如何使用SNMP4J的`Snmp`类发起一个GET请求,获取目标设备的系统描述信息。通过这种方式,开发者可以轻松地与网络设备交互,获取或设置设备的各种配置。 总的来说,SNMP4J是Java开发SNMP应用的理想...
在我们的例子中,我们将使用Snmp4j来获取交换机设备的OID(对象标识符)信息。 OID是SNMP中的唯一标识符,用于唯一地标识网络中的管理对象。每个OID都是一个由点分隔的数字序列,类似于“1.3.6.1.2.1”,这些数字...
### Snmp4j库的使用 Snmp4j是一个用于实现SNMP通信的Java库,支持SNMPv1、v2c和v3,同时提供了强大的扩展性和灵活性。 #### Demo中的代码解析 **初始化通信** ```java public void initComm() throws IOException ...