- 浏览: 2046187 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (795)
- java (263)
- 聚类搜索引擎 (9)
- 经验之谈 (67)
- DSP (3)
- C++ (140)
- Linux (37)
- SNMP (6)
- Python (6)
- 数据库 (61)
- 网络 (20)
- 算法 (15)
- 设计模式 (4)
- 笔试题 (38)
- 散文 (35)
- 数据结构 (9)
- 银行知识 (0)
- 榜样 (9)
- Lucene (15)
- Heritrix (6)
- MetaSeeker (0)
- netbeans (12)
- php (3)
- 英语 (8)
- DB2 (0)
- java基础 (5)
- mongodb & hadoop (4)
- Javascript (7)
- Spring (4)
- ibatis & myibatis (1)
- velocity (1)
- 微服务 (0)
- paddle (1)
- 第三方 (0)
- 知识沉淀 (1)
- 建模 (0)
最新评论
-
0372:
标示对java很陌生!
中文乱码解决的4种方式 -
梦留心痕:
Java中\是转意字符, 可是你的这句话我没看懂,只要把得到的 ...
java中如何忽略字符串中的转义字符--转载 -
yanjianpengit:
[b][/b]
java为什么非静态内部类里面不能有静态成员 -
springdata-jpa:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
eclipse 如何把java项目转成web项目 -
qq1130127172:
,非常好。
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
public static boolean readMibBulk(String ip, String community, SnmpOID[] oids, Vector[] resultList, Vector indexList) { SnmpAPI snmpapi = null; SnmpSession session = null; int maxRepInt = 25; try { snmpapi = new SnmpAPI(); snmpapi.start(); session = new SnmpSession(snmpapi); session.open(); SnmpPDU pdu = new SnmpPDU(); pdu.setRemoteHost(ip); pdu.setRemotePort(161); pdu.setCommunity(community); pdu.setTimeout(5000); pdu.setRetries(2); pdu.setVersion(SnmpAPI.SNMP_VERSION_2C); pdu.setCommand(SnmpAPI.GETBULK_REQ_MSG); pdu.setMaxRepetitions(maxRepInt); pdu.setNonRepeaters(0); //三重循环 for (int i = 0; i < oids.length; i++) { pdu.addNull(oids[i]); //先读第一个参数 resultList[i] = new Vector(); while (true) { //当读该参数的25行后还没有读完,则继续读25行 SnmpPDU v = session.syncSend(pdu); if (v == null) { return false; } int j = 0; SnmpOID loid = null; for (j = 0; j < maxRepInt; j++) {//读每一列 if (isInSubTree(oids[i].toIntArray(), v.getObjectID(j))) { //判断该索引是否属于要读的索引 String t = v.getVariableBinding(j).toString(); int index = t.indexOf(":"); resultList[i].add(t.substring(index + 2)); //返回值 pdu.removeVariableBinding(j); loid = v.getObjectID(j); //当前的行号 String d = getIndexs(oids[i].toIntArray(), v.getObjectID(j)); //索引 indexList.add(d); } else { break; //当块读的参数不符合的时候 } } //读完一列后 if (j == maxRepInt) { pdu.addNull(loid); //当读了25行,内容还没有读完,则从loid行开始继续读25行 } else { break; } } pdu.removeVariableBinding(0); } } catch (Exception ex) { ex.printStackTrace(); return false; } finally { if (null != session) { snmpapi.close(); session.close(); session = null; } } return true; }
public static boolean readMibWalk(String ip, String community, SnmpOID[] oids, Vector[] resultList, Vector indexList) { SnmpAPI snmpapi = null; SnmpSession session = null; try { snmpapi = new SnmpAPI(); snmpapi.start(); session = new SnmpSession(snmpapi); session.open(); SnmpPDU pdu = new SnmpPDU(); pdu.setRemoteHost(ip); pdu.setRemotePort(161); pdu.setCommunity(community); pdu.setTimeout(5000); pdu.setRetries(2); pdu.setVersion(SnmpAPI.SNMP_VERSION_2C); pdu.setCommand(SnmpAPI.GETNEXT_REQ_MSG); //两重循环 for (int i = 0; i < oids.length; i++) { //读一个参数 pdu.addNull(oids[i]); resultList[i] = new Vector(); while (true) { //用get-next的方式一行一行的读取 SnmpPDU v = session.syncSend(pdu); if (v == null) { return false; } if (isInSubTree(oids[i].toIntArray(), v.getObjectID(0))) { String t = v.getVariableBinding(0).toString(); int index = t.indexOf(":"); resultList[i].add(t.substring(index + 2)); //返回值 pdu.removeVariableBinding(0); pdu.addNull(v.getObjectID(0)); if (i == 0) { String d = getIndexs(oids[i].toIntArray(), v.getObjectID(0)); indexList.add(d); //索引 } } else { break; } } pdu.removeVariableBinding(0); } } catch (Exception ex) { ex.printStackTrace(); return false; } finally { if (null != session) { snmpapi.close(); session.close(); session = null; } } return true; }
public static boolean readMibCurrent(String ip, String community, SnmpOID[] oids, Vector[] resultList, Vector indexList) { SnmpAPI snmpapi = null; SnmpSession session = null; try { snmpapi = new SnmpAPI(); snmpapi.start(); session = new SnmpSession(snmpapi); session.open(); SnmpPDU pdu = new SnmpPDU(); pdu.setRemoteHost(ip); pdu.setRemotePort(161); pdu.setCommunity(community); pdu.setTimeout(5000); pdu.setRetries(2); pdu.setVersion(SnmpAPI.SNMP_VERSION_2C); pdu.setCommand(SnmpAPI.GET_REQ_MSG); //两重循环 for (int i = 0; i < oids.length; i++) { //读一个参数 pdu.addNull(oids[i]); resultList[i] = new Vector(); SnmpPDU v = session.syncSend(pdu); if (v == null) { return false; } if (isInSubTree(oids[i].toIntArray(), v.getObjectID(0))) { String t = v.getVariableBinding(0).toString(); int index = t.indexOf(":"); resultList[i].add(t.substring(index + 2)); //返回值 pdu.removeVariableBinding(0); } pdu.removeVariableBinding(0); } } catch (Exception ex) { ex.printStackTrace(); return false; } finally { if (null != session) { snmpapi.close(); session.close(); session = null; } } return true; }
public static boolean readMibCurrent(String ip, String community, SnmpOID[] oids, Vector[] resultList, Vector indexList) { SnmpAPI snmpapi = null; SnmpSession session = null; try { snmpapi = new SnmpAPI(); snmpapi.start(); session = new SnmpSession(snmpapi); session.open(); SnmpPDU pdu = new SnmpPDU(); pdu.setRemoteHost(ip); pdu.setRemotePort(161); pdu.setCommunity(community); pdu.setTimeout(5000); pdu.setRetries(2); pdu.setVersion(SnmpAPI.SNMP_VERSION_2C); pdu.setCommand(SnmpAPI.GET_REQ_MSG); //两重循环 for (int i = 0; i < oids.length; i++) { //读一个参数 resultList[i] = new Vector(); pdu.addNull(oids[i]); } SnmpPDU v = session.syncSend(pdu); if (v == null) { return false; } for(int j = 0; j < oids.length;j++){ if (isInSubTree(oids[j].toIntArray(), v.getObjectID(j))) { String t = v.getVariableBinding(j).toString(); int index = t.indexOf(":"); resultList[j].add(t.substring(index + 2)); //返回值 pdu.removeVariableBinding(j); } } pdu.removeVariableBinding(0); } catch (Exception ex) { ex.printStackTrace(); return false; } finally { if (null != session) { snmpapi.close(); session.close(); session = null; } } return true; }
private void setMib(String host, int port, String community, String writeCommunity, String oid, String value) throws SnmpException { SnmpAPI snmpapi = new SnmpAPI(); snmpapi.start(); SnmpSession session = new SnmpSession(snmpapi); session.open(); SnmpPDU pdu = new SnmpPDU(); try { pdu.setRemoteHost(host); pdu.setRemotePort(port); pdu.setCommunity(community); pdu.setWriteCommunity(writeCommunity); pdu.setTimeout(5000); pdu.setRetries(3); pdu.setVersion(SnmpAPI.SNMP_VERSION_2C); pdu.setCommand(SnmpAPI.SET_REQ_MSG); SnmpOID snmpOID = new SnmpOID(oid); // add OID // create SnmpVar instance for the value and the type SnmpVar var = null; try { var = SnmpVar.createVariable(value, SnmpAPI.INTEGER); //设置下发配置的值和类型 } catch (SnmpException e) { System.err.println("Cannot create variable: " + oid + " with value:1"); return; } SnmpVarBind varbind = new SnmpVarBind(snmpOID, var); //create varbind pdu.addVariableBinding(varbind); // add variable binding // Send PDU try { pdu = session.syncSend(pdu); } catch (SnmpException e) { System.err.println("Sending PDU" + e.getMessage()); } if (pdu == null) { System.out.println("Request timed out!"); return; } System.out.println("Response PDU received from " + pdu.getAddress() + ", community: " + pdu.getCommunity()); if (pdu.getErrstat() != 0) { System.err.println(pdu.getError()); } else { System.out.println(pdu.printVarBinds()); } } catch (Exception ex) { ex.printStackTrace(); } finally { if (session != null) { snmpapi.close(); session.close(); session = null; } } } }
发表评论
-
java用com.adventnet包读mib
2011-03-26 10:29 2666public static boolean readMibWa ... -
STP协议
2010-09-29 09:44 2071-交换机工作原理 ... -
net-snmp开发简介
2009-11-05 13:33 76691、安装 ./configure make make i ... -
net-snmp在Linux下的安装过程
2009-11-03 12:05 122452008-10-04 NET-SNMP安装方法 - [关于技术 ... -
SNMP Table简介
2009-10-29 17:50 4885SNMP Table 简介 收藏 SNMP Ta ...
相关推荐
使用AdventNet工具进行SNMP开发,通常涉及以下步骤: - 设计MIB:根据设备需要管理的信息定义MIB结构。 - 编写代理代码:实现SNMP协议,处理管理站的请求和响应。 - 测试与调试:使用SNMP代理模拟器和Trap接收器...
Adventnet MibBrower是一款强大的SNMP MIB查看器,它为网络管理员提供了方便的工具来浏览、查询和分析MIB结构。这款工具可以帮助用户理解网络设备的状态,通过读取和解析MIB文件,用户可以获取到网络设备的各种性能...
6. **编程接口**:AdventNet SNMP Agent可能提供了编程接口,可以集成到其他应用中,学习这些接口的使用方法。 7. **性能监控**:了解如何通过SNMP收集网络设备的性能数据,如CPU使用率、内存占用、网络流量等。 8. ...
文件列表中的“AdventNet snmp 简单网管协议 从接点取数据――之 Card 检测”很可能是一个详细的指南或代码示例,指导用户如何使用AdventNet工具进行Card检测。而“H”可能是另一个相关文件,可能是手册、API文档或...
测试snmp mib时所用软件,支持IPv6 mib获取
AdventNet SNMP Agent for Linux能简化网络中Linux机器的监控和管理,支持名为AdventNet-LINUX-MIB的预定义MIB,以及诸如MIB RFC-1213-MIB和HOST-RESOURCES-MIB的标准MIB。此外,它使用SNMP和HTTP控制台以便于管理。...
AdventNet SNMP API为基于SNMP的网络管理应用提供了一个全面的开发工具包。AdventNet的SNMP栈包含一系列强大的Java SNMP库,用来为监控和跟踪网络元素创建实时的应用程序,这些应用程序是可靠的、可伸展的且独立于OS...
本文将深入探讨如何使用Java语言和AdventNet SNMP API来设计和实现一个基于SNMP/MIB的网络数据获取系统。 首先,SNMP是一种应用层协议,运行在TCP/IP协议栈上,主要用于网络设备的管理和监控。它提供了标准的通信...
总的来说,AdventNet SNMP API 是一个强大且易于使用的工具,它使Java开发者能够快速构建具有SNMP功能的应用,从而更好地管理和监控网络环境。通过学习和实践提供的示例代码,开发者可以迅速掌握SNMP编程,并将其...
AdventNet MIB Browser是一个便于用户使用的工具,用来测试和监管网络上的多个SNMP设备。它允许网络和系统工程师加载标准的或某些供应商专有的MIB,并通过设备上运行的SNMP代理检索有关软件和硬件配置的数据。
2. 使用MIB浏览器:MIB浏览器是图形化的工具,用于查看MIB树结构,例如AdventNet MIB浏览器或iReasoning MIBBrowser。用户需输入被管理设备的IP地址和共同体名称以连接到设备。 3. 访问MIB对象:MIB浏览器提供了get...
在本文中,我们将深入探讨两个常用的SNMP开发包:AdventNet SNMP API和snmp4j。 首先,AdventNet SNMP API 是一个功能强大的SNMP库,尽管它没有公开源代码,但提供了丰富的API接口,使得开发者能够轻松地在Java应用...
"AdventNet SNMP API的网络管理系统的设计与开发.pdf"文件可能提供了使用AdventNet SNMP库开发NMS的详细指南。AdventNet SNMP API是一个强大的工具集,可以帮助开发者快速构建SNMP功能,简化了与网络设备的通信过程...
以下是一般步骤,使用Adventnet SNMP API获取网络设备指标信息: 1. **初始化SNMP**:创建一个SNMP session,设置目标设备的IP地址、社区字符串(如"public"或"private"),以及版本号(SNMPv1, v2c或v3)。 2. **...
《全面解析SNMP测试工具:AdventNet SNMP Utilities 5 for Windows》 在信息技术领域,网络管理和监控是不可或缺的一部分,而SNMP(简单网络管理协议)则是实现这一目标的重要工具。AdventNet SNMP Utilities 5 for...
综上所述,AdventNet Agent Toolkit Java Edition 6.0.0是一个全面的SNMP开发平台,它简化了MIB的解析、代理的开发和测试,是网络管理软件开发者不可或缺的工具。通过这款工具,开发者能够更高效地实现网络设备的...
这是2001年我用vc6.0写的一个mib浏览器的源码,运行时先打开目录下的RFC1155-SMI.txt,然后打开RFC1213-MIB.txt,然后再加载你自己的mib. 界面是仿制adventnet的mib browser风格 我已经很多年不用vc,也有很长...