简单介绍一下SNMP4J
来源:互联网 发布:js导出数据到excel 编辑:程序博客网 时间:2024/04/28 12:10
简单介绍一下SNMP4J
SNMP4J——一个支持java管理器和代理,支持snmp应用程序接口的类库。
SNMP4J是一个商业类库,而且开源免费,它也是一个有着很高技术艺术性的SNMP执行能力的类库,支持J2SE1.4或更高的版本。SNMP4J支持指令发生器(管理器),就像指令回应(代理)一样好。它从SNMP++(一个著名的,支持SNMPv1/v2/v3的C++应用程序接口)获得灵感,具有清晰的对象导向。
SNMP4J 应用程序接口提供一下特性:
1. 支持MD5和SHA验证,DES和AES128、AES192和AES256加密的SNMPv3。
2. 支持MPv1,MPv2C和MPv3,带执行的可阻塞的信息处理模块。
3. 全部PDU格式。
4. 可阻塞的传输拓扑。UPD和TCP支持直接使用。
5. 可阻塞的超时模块。
6. 同步和异步请求。
7. 支持像指令回应器一样好的指令发生器。
8. 带有Apache证书模版,开源免费。
9. JAVA 1.4.1或更高版本。
10. 使用LOG4J记录日志。
11. 使用GETBULK实现Row-based矩阵的有效的异步表格获取。
12. 支持多线程。
13. JUNIT测试
利用SNMP4J获取可管网络设备的OID数据
使用SNMP4j来获得SNMP信息,首先要创建两个实例CommunityTarget和PDU(主要针对v1和v2)。
我写了个简单的程序如下。
import org.snmp4j.*;
import org.snmp4j.transport.*;
import java.io.*;
import org.snmp4j.smi.*;
import org.snmp4j.mp.*;
import org.snmp4j.event.*;
class SnmpGet{
public static void main(String[] args){
try{
//设定CommunityTarget
CommunityTarget myTarget = new CommunityTarget();
Address deviceAdd = GenericAddress.parse("udp:10.5.24.37/161");
myTarget.setAddress(deviceAdd);
myTarget.setCommunity(new OctetString("public"));
myTarget.setRetries(2);
myTarget.setTimeout(5*60);
myTarget.setVersion(SnmpConstants.version2c);//org.snmp4j.mp.*;
//设定采取的协议
TransportMapping transport1 = new DefaultUdpTransportMapping();
Snmp protocol = new Snmp(transport1);
transport1.listen();
//获取mib
PDU request = new PDU();
String oidstr ="1.3.6.1.2.1.4.20";
VariableBinding var = new VariableBinding(new OID(oidstr));
request.add(var);
request.setType(PDU.GETNEXT);
ResponseEvent responseEvent = protocol.send(request, myTarget);
PDU response=responseEvent.getResponse();
//输出
if(response != null){
System.out.println("request.size()="+request.size());
System.out.println("response.size()="+response.size());
VariableBinding vb = response.get(0);
System.out.println(vb);
}
}catch(IOException e){
e.printStackTrace();
System.out.println(e.getMessage());
return;
}
}
- 简单介绍一下SNMP4J
- snmp4j介绍
- 简单介绍一下OGraph
- 简单介绍一下AjAx
- snmp4j简单示例
- snmp4j的简单实现
- snmp4j 的简单使用
- 简单介绍一下这个项目
- 简单介绍一下我自己
- 五、简单 介绍一下 变量
- web.xml简单介绍一下
- 简单介绍一下Vue2.0
- 简单的介绍一下python
- SNMP4J
- SNMP4J
- SNMP4J
- 让我简单介绍一下Oracle sequence
- 简单介绍一下什么是注入攻击
- web service
- 作业:病毒式营销
- 转: 用Delphi7 调用.NET 2.0的WebService 所要注意的问题。
- RM和RMVB格式有什么区别?
- KTV室内设计 KTV装修设计 KTV设计图
- 简单介绍一下SNMP4J
- web.py 进阶例程
- 独家:未来五年程序员应当具备的十项技能
- 佛教
- 产品经理与项目经理的区别(信息来自网络,并编辑)
- nt kill
- ScriptX,smsx打印控件安装的解决办法
- 关于dll写code的一点疑问 答案
- 人生有三苦&人生四大乐事