ObjectSNMP
下面的例子,就是使用ObjectSNMP获取RFC1213-MIB的例子:其中的system和ifTable对象就是对应的SNMPMIB中的system组合interface中的ifTable表。
public class TestMibMapping
{
SNMPAPI snmpapi; SNMPNodeParam nodeParam; public TestMibMapping()
{
try
{
/**
* 初始化系统日志文件。
*/
MyLog.initLogParam("SNMPTest"); //使用客户端模式。需要先启用ObjectSNMP的RMI服务(例如:运行RMISNMPServer.java)。
//SNMPFactory.init(SNMPFactory.Mode_Client, "127.0.0.1"); //使用本地模式。
SNMPFactory.init(SNMPFactory.Mode_Local, null); // 获取SNMP API
snmpapi = SNMPFactory.getSNMPAPI(); //设置SNMP Agent连接参数
nodeParam = new SNMPNodeParam();
nodeParam.nodeIP = "127.0.0.1"; } catch (Exception ex)
{
ex.printStackTrace();
} } /**
* 测试RFC1213中System组
*/
public void testMibSystem()
{
try
{
system sys = new system();
system mibsys = (system) snmpapi.getMibObject(sys, nodeParam);
System.out.println("...........MIBSystem");
System.out.println("系统名称:" + mibsys.getSysName());
System.out.println("描述:" + mibsys.getSysDescr());
System.out.println("系统位置:" + mibsys.getSysLocation());
System.out.println("联系人:" + mibsys.getSysContact());
System.out.println("系统对象ID:" + mibsys.getSysObjectID());
System.out.println("系统服务:" + mibsys.getSysServices());
System.out.println("启动时间:" + mibsys.getSysUpTime());
} catch (Exception ex)
{
ex.printStackTrace(); }
} /**
* 测试RFC1213中接口表
*/
public void testMibIFTable()
{
try
{
java.util.List list = snmpapi.getAllTableData(ifTable.class,
nodeParam);
System.out.println(".............网络接口个数:" + list.size());
for (int i = ; i < list.size(); i++)
{
ifTable table = (ifTable) list.get(i);
Object obj=snmpapi.getMibObject(table,nodeParam);
System.out.println(obj);
System.out.println("第" + i + "个接口名称:" + table.getIfDescr());
System.out.println("第" + i + "个接口物理地址:" +
table.getIfPhysAddress());
System.out.println("第" + i + "个接口速度:" + table.getIfSpeed());
System.out.println("第" + i + "个接口工作状态:" + table.getIfOperStatus());
} } catch (Exception ex)
{
ex.printStackTrace(); }
} /**
* 在本机测试从windows xp的SNMP Agent查询数据。(参见如何启动xp的SNMP Agent服务)
* @param args String[]
*/
public static void main(String args[])
{
try
{ TestMibMapping test = new TestMibMapping();
test.testMibIFTable();
test.testMibSystem(); } catch (Exception ex)
{
ex.printStackTrace();
}
} }
ObjectSNMP的更多相关文章
- snmp++开发实例一
1.官网下载 snmp开发,首先需要机器已经安装了snmp服务,这方面的资料网上比较完备,安装的时候注意每少一个文件,网上都可以下载到,这样可以自己形成一个包,供以后使用.只要最后snmp的服务开启就 ...
随机推荐
- Ext.grid.CheckboxSelectionModel复选框设置某行不可以选中
var sm = new Ext.grid.CheckboxSelectionModel({ renderer:function(v,c,r){ if(r.get("isEdit" ...
- 极化码的matlab仿真(1)——参数设置
根据老师的安排,对于极化码的了解从仿真开始. 仿真的手段有很多种.可以利用C,C++,matlab等进行仿真的实现.其中matlab由于具有强大的函数库,和壮观的矩阵运算能力,被(我们老师课题组)看中 ...
- 从源码分析java.lang.String.isEmpty()
今天在写代码的时候用到了java.lang.String.isEmpty()的这个方法,之前也用过,今天突发奇想,就看了看源码,了解了解它的实现方法,总结出来,大家可以交流交流. 通常情况下,我们使用 ...
- Java基础学习 —— io
/** 解决数据与数据之间的传输问题. 字节流: 输入字节流: -------| InputStream 所有输入字节流的基类.抽象类. -----------| FileInputStream 读取 ...
- Bash 脚本进阶,经典用法及其案例
前言:在linux中,Bash脚本是很基础的知识,大家可能一听脚本感觉很高大上,像小编当初刚开始学一样,感觉会写脚本的都是大神.虽然复杂的脚本是很烧脑,但是,当我们熟练的掌握了其中的用法与技巧,再多加 ...
- 编程零基础应当如何开始学习 Python?
提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦. 本篇通过以下四块展开,提供大量资源对应. 选一个好版本 有没有看过<在下坂本,有何贵干 ...
- 那些年,我们不懂的却又不得不提的 JAVA异常和异常处理!
---恢复内容开始--- 首先,我是个小小的菜鸟,最近突然突发奇想,想研究一下java的异常和异常的处理,稍有些理解,老鸟们莫要嘲笑... 既然要讲异常和异常的处理,我们就要先了解异常,那么,什么是异 ...
- js正则知识点
正则主要是用来匹配有规律的字符串,也就是说你要写一个正则前你必须非常清楚该类型字符串的规则,(比如邮箱)如果你没了解邮箱的规则那么你正则无论怎么写都是错的. \w字符(字母数字下划线)\W非字符\s空 ...
- Node.js中Async详解:流程控制
安装 npm install async --save 地址 https://github.com/caolan/async Async的内容主要分为三部分 流程控制: 简化九种常见的流程的处理 集合 ...
- 201521123088《java程序设计》第三周学习总结
1. 本周学习总结 本周学习了关于Java的封装,所谓封装就是将属性私有化,提供公有的方法访问私有属性 2. 书面作业 代码阅读 public class Test1 { private int i ...