agent代理端例子:
import java.util.*;
import org.snmp4j.*;
import org.snmp4j.smi.*;
//agent代理端例子:
public class Test2 {
public static class Handler implements org.snmp4j.CommandResponder {
protected java.lang.String mAddress = null;
protected int mPort = 0;
protected java.lang.String mMyCommunityName = null;
protected org.snmp4j.TransportMapping mServerSocket = null;
protected org.snmp4j.Snmp mSNMP = null;
public Handler() {
}
public void configure() {
mAddress = "192.168.10.191";
mPort = 161;
mMyCommunityName = "test";
}
public void start() {
try {
mServerSocket = new org.snmp4j.transport.DefaultUdpTransportMapping(
new org.snmp4j.smi.UdpAddress(java.net.InetAddress
.getByName(mAddress), mPort));
mSNMP = new org.snmp4j.Snmp(mServerSocket);
mSNMP.addCommandResponder(this);
mServerSocket.listen();
} catch (java.net.UnknownHostException vException) {
System.out.println(vException);
} catch (java.io.IOException vException) {
System.out.println(vException);
}
}
public synchronized void processPdu(
org.snmp4j.CommandResponderEvent aEvent) {
java.lang.String vCommunityName = new java.lang.String(aEvent
.getSecurityName());
System.out.println("Community name " + vCommunityName);
org.snmp4j.PDU vPDU = aEvent.getPDU();
if (vPDU == null) {
System.out.println("Null pdu");
} else {
System.out.println("(rcv) " + vPDU.toString());
switch (vPDU.getType()) {
case org.snmp4j.PDU.GET:
case org.snmp4j.PDU.GETNEXT:
break;
}
org.snmp4j.mp.StatusInformation statusInformation = new org.snmp4j.mp.StatusInformation();
org.snmp4j.mp.StateReference ref = aEvent.getStateReference();
try {
System.out.println("Sending response");
vPDU.setType(PDU.RESPONSE);
vPDU.set(0, new VariableBinding(vPDU.get(0).getOid(),
new OctetString("Test")));
aEvent.getMessageDispatcher().returnResponsePdu(
aEvent.getMessageProcessingModel(),
aEvent.getSecurityModel(),
aEvent.getSecurityName(),
aEvent.getSecurityLevel(), vPDU,
aEvent.getMaxSizeResponsePDU(), ref,
statusInformation);
} catch (org.snmp4j.MessageException vException) {
System.out.println(vException);
}
}
}
}
public static void main(String argv[]) {
Handler h = new Handler();
h.configure();
h.start();
/** Do nothing loop * */
while (true) {
synchronized (Test2.class) {
try {
Test2.class.wait();
} catch (Exception e) {
}
}
}
}
}
分享到:
相关推荐
eclipse工程(编译通过,能运行) snmp4j API get,getnext,set,trap,取mib值 实例
这个是本人由于公司需要扩展Net-SNMP的Agent而写的一个开发流程文档,压缩包中也包含程序的源代码,和配置文件。根据Net-SNMP官方的实例程序,详细介绍了SNMP代理开发的各个步骤,各位读者按照步骤可以轻松的完成一...
基于LINUX下的SNMP表格代理的开发,文件使用C语言进行编程,是很好的表格开发实例,同时附有MIB库文件编写例程,在LINUX平台下面使用mib2c进行模板文件生成。
使用snmp协议开发的一个使用实例。该代码有Snmp的源代码,可以拿来参考使用。
主要介绍了h3c交换机snmp配置、h3c交换机开启snmp、h3c snmp配置实例,需要的朋友可以参考下
很好的SNMP实例, 希望与大家一块学习 ~
IP电话网关适配器是IP GW 和PBX结合...该文结合IP电话网关适配器设计的实际要求,给出了一个基于VxWorks操作系统的SNMP Agent的实现实例,并从实用角度出发,对Agent的模块性、安全性、独立性给予了必要的改进和完善。
3.nagios的基本结构介绍,实例说明nagios如何通过snmp方式监控windows主机(公司环境原因,大部分是windows主机,而且因为先前已有其他监控,都打开了snmp,就不想再用agent方式了) 3.cacti的安装 4.ndoutils的安装...
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台
在JMX中MBean代表一个被管理的资源实例,通过MBean中暴露的方法和属性,外界可以获取被管理的资源的状态和操纵MBean的行为。 Agent 用来管理相应的资源,并且为远端用户提供访问的接口。该层的核心是MBeanServer,...
│ 34 - 08-zabbix-agent主动和被动模式.mp4 │ 35 - 01-zabbix版本升级.mp4 │ 36 02-安装zabbix-proxy服务.mp4 │ 37 - 03-使用zabbix-proxy添加一台主机监控.mp4 │ 38 04-安装tomcat并开启jmx远程监控.mp4 │ 39...
第三章:快速上手 33 Zabbix 中文语言 33 Zabbix 中文乱码 35 zabbix 监控第一台服务器 37 Zabbix 用户管理 41 第四章: zabbix 配置 48 配置简介 48 zabbix 主机与组配置 49 zabbix 资产清单 inventory 管理 53 ...