- 浏览: 291220 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
chenchangqun:
这段示例代码没有客户端 没法实验
Java NIO原理和使用 -
congjl2002:
误,整理好了在发<div class="quo ...
snmp trap的接收(jdmk方式) -
phk070832:
垃圾代码,一大推的编译错误,整理好了在发表吧。
snmp trap的接收(jdmk方式) -
zhangcctao:
我也遇到线程池的内存溢出问题。。不知道是不是这个原因呀?
多线程中使用静态方法 -
新入职:
分享了,这个eclise版本有没有讲究?我的3.3的可以么
windows下安装android及eclipse配置
snmp中告警的接收可以使用jdmk中的SnmpTrapListener,采用jdmk接收snmp trap的方式如下,先定义接收的线程,再用继承自SnmpTrapListener的类处理snmp的trap。详细内容见代码。
代码如下:
public class SnmpListener { /** * Main entry point. */ public static void main(String argv[]) { try { //创建一个DaemonTaskServer处理snmp的traps //你也可以不用DaemonTaskServer,但使用DaemonTaskServer //处理收到的PDU单元,可以更快的腾出来用于接收trap的socket, //这样可以减少丢包(trap是udp包) //把DaemonTaskServer的线程设置为NORM_PRIORITY,这样 //trap接收的线程可以优先于trap处理的线程 final DaemonTaskServer taskServer = new DaemonTaskServer(); taskServer.start(Thread.NORM_PRIORITY); //为snmp的trap包创建分配器(SnmpEventReportDispatcher)和监听器 //SnmpEventReportDispatcher做为一个线程运行,并且在指定的端口监听traps final SnmpEventReportDispatcher trapAgent = new SnmpEventReportDispatcher(Integer.parseInt("8085")+1, null,taskServer,null); //把TrapListenerImpl作为snmp trap的监听器 // TrapListenerImpl处理trap pdu包 trapAgent.addTrapListener(new TrapListenerImpl()); final Thread trapThread = new Thread(trapAgent); trapThread.setPriority(Thread.MAX_PRIORITY); trapThread.start(); Thread.sleep(4000); println("\n>> Press <Enter> if you want to stop" + " this SNMP manager.\n"); java.lang.System.in.read(); //stop the SnmpEventReportDispatcher. trapAgent.close(); taskServer.terminate(); java.lang.System.exit(0); } catch(Exception e) { java.lang.System.err.println("AsyncManager::main: "+ "Exception occurred:" + e ); e.printStackTrace(); } }
实际处理trap的pdu包的类:
public class TrapListenerImpl implements SnmpTrapListener { public void processSnmpTrapV1(SnmpPduTrap trap) { println("NOTE: TrapListenerImpl received trap :"); println("\tGeneric " + trap.genericTrap); println("\tSpecific " + trap.specificTrap); println("\tTimeStamp " + trap.timeStamp); println("\tAgent adress " + trap.agentAddr.stringValue()); } public void processSnmpTrapV2(SnmpPduRequest trap) { println("NOTE: Trap V2 not of interest !!!"); } public void processSnmpTrapV3(SnmpScopedPduRequest trap) { println("NOTE: TrapListenerImpl received trap V3:"); println("\tContextEngineId : " + SnmpEngineId.createEngineId(trap.contextEngineId)); println("\tContextName : " + new String(trap.contextName)); println("\tVarBind list :"); for(int i = 0; i < trap.varBindList.length; i++) println("oid : " + trap.varBindList[i].getOid() + " val : " + trap.varBindList[i].getSnmpValue()); } /** * print/println stuff... */ private final static void println(String msg) { java.lang.System.out.println(msg); } private final static void print(String msg) { java.lang.System.out.print(msg); } }
顺便发一段法送SnmpTrapV1的代码:
public static void main(String args[]) { try { // Bind the adaptor. By default port 161 is used. // For the example, we are going to use a on standard port. // // If you wish to use the standard SNMP ports, just comment // out the following line: // port = 8085; // int port = 8085; snmpAdaptor = new SnmpAdaptorServer(port); println("NOTE: SNMP Adaptor is bound on port " + port); // Start the adaptor. // snmpAdaptor.start(); // Send a coldStart SNMP Trap. // print("NOTE: Sending a coldStart SNMP trap to" + " each destination defined in the ACL file..."); snmpAdaptor.setTrapPort(new Integer(port + 1)); snmpAdaptor.snmpV1Trap(0, 0, null); println("v1 Done."); } catch (Exception e) { e.printStackTrace(); } }
使用snmpAdaptor.snmpV1Trap(0, 0, null)可以像目的端(接收snmp trap的程序)发送一个trap。
评论
3 楼
congjl2002
2012-09-25
误,整理好了在发
您一定是缺少了一些必要的包,或者您把错误贴上来大家一起分析
phk070832 写道
垃圾代码,一大推的编译错误,整理好了在发表吧。
您一定是缺少了一些必要的包,或者您把错误贴上来大家一起分析
2 楼
phk070832
2012-07-06
垃圾代码,一大推的编译错误,整理好了在发表吧。
1 楼
congjl2002
2008-08-07

发表评论
-
java阻塞队列学习(转帖)
2010-06-06 11:50 3481import java.util.concurrent.Arr ... -
httpclient链接关闭问题(转帖)
2010-03-11 22:09 2155HttpClient client = new HttpCli ... -
J2EE集群原理(转贴)
2010-03-09 19:57 1225J2EE集群原理 什么是集群呢?总的来说,集群包括两个概念: ... -
Spring 实现ibatis事务回滚
2010-03-05 20:34 3654网上发现这篇文章,转过来学习一下,好不好用还没有实践,需要自己 ... -
java 可变参数
2009-12-14 20:50 14153vararg的意思是变量参数,它是与Jav ... -
java中的string
2009-11-25 14:45 1331从javaeye的论坛里看到这 ... -
使用JDBC对BLOB和CLOB进行处理
2009-11-12 20:33 4871从网上看到这篇文章,转过来做为学习用 设有表:create ... -
避免或最小化 Servlet 中的同步
2009-09-24 21:02 982servlet 是多线程的。基于 servlet 的应用程序必 ... -
httpclient 使用小记
2009-09-03 21:05 3398最近学习apache的httpclient 在使用postm ... -
httpclient 学习笔记
2009-08-23 16:52 1551前阵子,学习了一下APACHE 的httpclient,感觉h ... -
log4j使用
2009-06-19 21:08 1559从网上看到得,发现写 ... -
java虚拟机的一些概念
2009-05-24 10:22 1351从网上看到这篇文章,感觉适合初学jvm,就转来作为以后学习参考 ... -
xmlbean 生成带包路径的jar
2009-05-23 23:12 3308因为使用xmlbean生成 ... -
多线程中使用静态方法
2009-05-14 19:54 6649终于把内存泄漏问题解决了,不是多线程访问静态函数的问题,事实证 ... -
java Annotation入门
2009-04-16 21:22 1262因为偶然的原因需要使用Annotation,所以从网上找了这篇 ... -
MINA2.0简单使用
2009-04-12 16:12 5155一直知道MINA是apache 开发的一个开发socket编程 ... -
log4j参数配置说明
2009-03-22 20:31 2013前几天用到log4j,到网上查了一下他的参数配置,发现还是比较 ... -
portal之SSO开发文档
2009-03-02 20:12 4070前两天看到别人写的,感觉不错,就转了过来做为参考 ... -
cas在tomcat中的配置
2009-02-25 21:22 2850cas在tomcat上配置时,需要打开tomc ... -
SSO 原理浅谈
2009-02-25 19:41 2119SSO 是一个非常大的主题,我对这个主题有着深深的感受,自从 ...
相关推荐
"snmp trap命令接收软件"是一个专为Windows平台设计的小型应用程序,它的主要作用是接收并显示来自SNMP代理的Trap通知。这对于测试和验证SNMP陷阱的正确配置以及监控网络设备的健康状况非常有用。通过使用这个工具,...
SNMP4J 实现 SNMP Trap 发送与接收 SNMP(Simple Network Management Protocol,简易网络管理协议)是一种广泛应用于网络管理的协议,SNMP4J 是一个基于 Java 的 SNMP 库,提供了完整的 SNMP 功能实现。本文将详细...
`snmp_trap`协议接收工具是针对SNMP Trap消息设计的应用,允许用户在Windows、Linux和Unix系统上接收并处理这些 traps。 SNMP Trap工作原理: 1. 设备触发事件:当网络设备(如路由器、交换机或服务器)遇到预定义...
**SNMP++实现Trap接收详解** SNMP(Simple Network Management Protocol)是一种广泛应用于网络设备管理的协议,它允许网络管理员远程监控和管理网络设备。在SNMP中,Trap是一种网络设备向管理站发送的被动通知,...
"SNMP_TRAP监听工具"正是用于接收并处理这些TRAP消息的应用程序。 SNMP TRAP分为多种类型,包括标准陷阱和自定义陷阱,它们携带了关于网络状态变化或异常事件的信息。例如,当路由器的接口状态改变、存储设备空间...
snmp trap 接收
这篇博客通过代码示例深入浅出地讲解了如何利用UDP进行数据发送和接收,并涉及SNMP的Trap机制。 UDP是一种无连接的传输层协议,它不保证数据包的顺序、可靠性和重传,而是以尽可能快的速度传输数据,适合实时性要求...
通过以上步骤,你可以创建一个基本的、跨平台的SNMP trap接收器,它可以与网络设备进行通信,接收并处理来自不同设备的trap通知。在实际应用中,你可能还需要考虑安全性,例如使用安全的SNMP版本(如v3),并配置...
创建一个SNMP Trap接收器是网络监控系统的重要组成部分。通过接收并处理这些Trap消息,管理员可以及时了解网络状态,快速响应潜在的问题。以下是一个详细的步骤和知识点: 1. **理解SNMP协议**:SNMP主要由三部分...
2. **Target Address**:Trap的目标地址,即接收Trap的管理站的IP地址和端口号。 3. **Security Parameters**:安全参数,如SNMP版本、社区字符串(对于SNMPv1和v2c)或认证和加密信息(对于SNMPv3)。 4. **...
"snmptrap.zip"这个压缩包显然包含了用于在Windows环境下接收和调试SNMP TRAP信息的工具。 **SNMP TRAP详解:** SNMP TRAP是一种异步通信机制,当网络设备遇到异常情况或者发生了预定义的事件(如接口故障、内存...
SNMP TRAP消息其实就是UDP报文,TRAP服务器就是UDP服务器(即接收方,UDP端口为162),发送TRAP消息的其实就是UDP客户端。 本demo包含TRAP接收的服务器和发送TRAP消息的UDP客户端两个部分,基于SnmpSharpNet做的,...
这个"snmp trap例子 源码"很可能是用VC++编写的,用于帮助开发者理解和实现SNMP Trap机制。 首先,我们来深入理解SNMP和SNMP Trap的基本概念。SNMP是Internet工程任务组(IETF)定义的一组协议,用于管理系统和网络...
2. **SNMPTrap实现**:`利用SNMP4J实现Snmp Trap完整例子.mht`文件详细解释了如何使用SNMP4J发送和接收SNMPTrap。SNMPTrap的发送涉及设置陷阱源、目的地、协议版本、陷阱类型和相关变量绑定;接收则需要配置Trap监听...
利用SNMP4J实现Snmp Trap完整例子 - 企业应用 - Java - JavaEye论坛.mht
SNMP Trap 接收工具,可以在windows 10 上运行,亲测可用,不需要安装dll,打开即可用。
1. 发送陷阱:你可以使用 SnmpTrap 工具模拟设备发送陷阱,以便测试 SNMP 管理系统是否能正确接收和处理。 2. 配置陷阱接收器:管理站需要配置为监听特定端口(默认为 UDP 162),并识别来自不同设备的陷阱消息。 3....
SNMPTT是一个用于接收和处理SNMP Trap的工具,它可以将接收到的Trap转换为Zabbix可以理解的格式,然后提交给Zabbix服务器。以下是SNMPTT安装所需的一些关键软件包: 1. **SNMP**: 这是最基础的组件,提供Trap的发送...
SNMP trap是一种网络设备主动向网络管理员发送报警信息的方式,常用于监控网络状态和故障检测。 1. **SNMP Trap原理**: SNMP Trap是网络设备在遇到特定事件(如接口状态改变、内存不足等)时,主动向预先设定的...