`
周富贵
  • 浏览: 15479 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Snmp4j的例子

    博客分类:
  • Java
阅读更多
import java.io.IOException;

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;
import org.snmp4j.smi.Variable;

public class SnmpMain {

	public static void main(String[] args) {
		Address targetAddress = GenericAddress.parse("udp:127.0.0.1/161");

		CommunityTarget target = new CommunityTarget();
		target.setCommunity(new OctetString("public"));
		target.setAddress(targetAddress);
		target.setTimeout(10000);
		target.setVersion(SnmpConstants.version1);
		// creating PDU
		PDU pdu = new PDU();

		pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.1")));
		pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.2")));
		pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.3")));
		pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.4")));
		pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.5")));
		// pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,2})));
		pdu.setType(PDU.GETNEXT);

		try {
			TransportMapping transport = new DefaultUdpTransportMapping();
			transport.listen();
			Snmp snmp = new Snmp(transport);

			ResponseEvent response = snmp.send(pdu, target);
			if (response != null) {
				PDU respPdu = response.getResponse();
				for (int i = 0; i < respPdu.size(); i++) {
					VariableBinding varBinding = respPdu.get(i);
					Variable var = varBinding.getVariable();
					System.out.println(var.toString());
				}
			}

		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}



搞了半天没调通,原来忘了transport.listen()了。
呵呵,准备在用Flash做个类似vista那样的CPU,内存占用率的仪表盘。
分享到:
评论
4 楼 fredzhong 2012-03-23  
send
baseline 写道
我也弄个半天没调通,原来也是忘了transport.listen了,不过让我知道一个用法就是:
如果pdu的类型是trap等,不需要返回的,是不是就可以不用listen。
如果一定要接收response的话,就一定要listen了。

貌似SNMP TRAP也需要接收的.
3 楼 benber 2009-01-07  
transport.listen(); 
可以,或者在后面两行
snmp.listen();
也行,我以前一直snmp.listen();的
今天才知道可以
transport.listen(); 
2 楼 baseline 2008-08-25  
有个问题,楼主,你是在哪里找到这些OID所代表的意义的? 我用你的代码中的OID就能取到windows的一些信息,但是我在http://www.mibdepot.com/ 这个网站找到的microsoft的mib却得不到什么有用的信息。

谢谢
1 楼 baseline 2008-08-25  
我也弄个半天没调通,原来也是忘了transport.listen了,不过让我知道一个用法就是:
如果pdu的类型是trap等,不需要返回的,是不是就可以不用listen。
如果一定要接收response的话,就一定要listen了。

相关推荐

    snmp4j例子

    在这个“snmp4j例子”压缩包中,你将找到一系列示例源代码,它们演示了如何使用SNMP4j来实现SNMP协议的不同方面。 首先,让我们深入了解SNMP协议。SNMP(Simple Network Management Protocol)是一种应用层协议,...

    简单的snmp4j例子

    在这个"简单的snmp4j例子"中,我们将探讨如何在Eclipse环境下使用这个库来执行基本的SNMP操作,如GET、GETNEXT、WALK以及GETBULK,同时也会涉及同步和异步请求的概念。 首先,GET操作是SNMP中最基础的,它用于获取...

    利用SNMP4J实现Snmp Trap完整例子

    利用SNMP4J实现Snmp Trap完整例子 - 企业应用 - Java - JavaEye论坛.mht

    snmp4j-1.7.6a.zip_SNMP4J例子_java snmp编程_package_snmp in java _snm

    Java SNMP Package:这是一个实现了SNMP协议的Java包.它提供对基本的SNMP客户端与在SNMP版本1和2中定义的代理操作的支持.这个包提供了一种机制用于取得与设置SNMP对象标识(OID:object identifier)值通过一个简单的...

    SNMP4J 例子 说明

    SNMP4J是一个由Apache维护的开源项目,它为Java开发者提供了一个强大的框架,用于实现SNMP(简单网络管理协议)的编程。该框架支持SNMP的三个主要版本:SNMPv1、SNMPv2c和SNMPv3。无论是开发SNMP客户端还是服务器端...

    snmp4j包来读取snmp协议数据

    在Java环境中,SNMP4J库为开发者提供了便利,可以用来读取和操作SNMP协议的数据。本文将深入探讨如何利用SNMP4j包来读取SNMP协议数据。 首先,理解SNMP4j的基本概念至关重要。SNMP4j是一个开源的Java库,完全实现了...

    java利用snmp4j包来读取snmp协议数据

    SNMP4J是一个开源的Java库,专门设计用于实现SNMP协议的客户端功能,使得开发者能够从网络设备中读取或设置管理信息。本篇文章将详细探讨如何使用SNMP4j库在Java中读取SNMP协议数据。 首先,了解SNMP是必要的。SNMP...

    SNMP4j学习开发例子及文档

    在这个"SNMP4j学习开发例子及文档"中,你可以找到一系列与SNMP和SNMP4j相关的学习资源,这对于初学者或正在做毕业设计的学生来说非常有价值。以下是一些关键知识点: 1. **SNMP协议基础**:SNMP的基本概念包括管理...

    snmp4j AGENT 开发必备

    进行snmp4J网管开发的基础东东 agent代理端例子: Java代码 import java.util.*; import org.snmp4j.*; import org.snmp4j.smi.*; //agent代理端例子: public class Test2 { public static class Handler...

    snmp4j-1.9.3d.zip_snmp4j-1.9.3d_snmp管理工具

    这个例子展示了如何使用SNMP4J的`Snmp`类发起一个GET请求,获取目标设备的系统描述信息。通过这种方式,开发者可以轻松地与网络设备交互,获取或设置设备的各种配置。 总的来说,SNMP4J是Java开发SNMP应用的理想...

    使用snmp4j实现Snmp功能

    `snmp4j` 是一个用Java编写的开源库,提供了实现SNMPv1、SNMPv2c和SNMPv3功能的完整框架。在本文中,我们将探讨如何使用 `snmp4j` 库来实现SNMP的基本功能。 首先,我们需要了解SNMP的基本概念。SNMP由三部分组成:...

    snmp4j完整例子

    snmp4j实现的简单例子,网上找来的,谢谢作者哈。

    java_conn_SNMPtrap_send_accept.rar_SNMP_SNMPtrap_snmp java

    1. **SNMP4J入门**:`snmp4j入门例子.docx`提供了SNMP4J的基本使用教程,包括如何创建SNMP代理、建立连接、发送GET和SET请求等基础操作。SNMP4J库提供了一套完整的API,使得Java开发者能够轻松地集成SNMP功能。 2. ...

    snmp入门例子

    SNMP4J 是一个基于 Java 的 SNMP 库,提供了一个简单和方便的方式来实现 SNMP 管理站和 SNMP 代理。SNMP4J 中有多个重要的类和接口,例如 Snmp 类、PDU 类、ScopedPDU 类、Target 接口和 UserTarget 类等。 Snmp 类...

    snmp4j(网络管理的JAVA实现)

    snmp4J是一款优秀的网络管理API,可以用JAVA实现管理你的网络.里面还有一些例子,另你可以轻松管理网络,你可以实现管理路由器和集线器的端口,关闭端口和打开端口,轻松的实现让自己的机子独享一条宽带,封掉那些整天下载...

    snmp4j

    ### SNMP4J经典例子 在"esnmp2"这个示例中,可能包含了使用SNMP4J进行网络设备管理的基本操作,如: 1. **初始化Session**:创建一个SNMP4J Session对象,配置目标设备的IP地址、端口号、SNMP版本和认证/加密参数。 ...

    java通过SNMP协议获取交换机设备信息(如:交换机下的PC机MAC、IP、连接端口号等信息)

    在我们的例子中,我们将使用Snmp4j来获取交换机设备的OID(对象标识符)信息。 OID是SNMP中的唯一标识符,用于唯一地标识网络中的管理对象。每个OID都是一个由点分隔的数字序列,类似于“1.3.6.1.2.1”,这些数字...

    SNMP探测器 关于SNMP的Java编程

    在Java编程环境中,SNMP4J是一个开源库,为开发者提供了实现SNMP协议的接口和类。 SNMP4J库提供了丰富的功能,包括发送GET、GETNEXT、SET请求以及接收TRAP通知。GET操作用于获取MIB对象的值,GETNEXT用于遍历MIB树...

    UDP的发送接收例子 及SNMP trap

    `TrapReceiver_SNMP4J.java`可能是一个基于SNMP4J库的Trap接收器。SNMP4J是Java的一个开源SNMP库,它提供了全面的SNMP协议支持。 在`TrapReceiver_SNMP4J.java`中,开发者可能首先初始化SNMP引擎,设置安全模型和上...

    snmp的java实现

    这个例子展示了如何使用snmp4j库发送一个SNMP GET请求,获取目标设备的`sysDescr.0`对象(这是设备的描述信息)。你需要替换`yourPassword`为你的SNMPv3密码,如果使用的是SNMPv1或v2c,则无需设置USM和安全参数,只...

Global site tag (gtag.js) - Google Analytics