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的服务开启就 ...
随机推荐
- Html5笔记之第六天
Canvas元素 <canvas> 标签定义图形,比如图表和其他图像,您必须使用脚本来绘制图形. 在画布上(Canvas)画一个红色矩形,渐变矩形,彩色矩形,和一些彩色的文字. <c ...
- MongoDB基本shell操作
---------------------MongoDB基本操作--------------------- 1.MongoDB创建数据库 use 数据库名:切换到指定的数据库中,在插入第一个条 ...
- Centos 7系统启动修复
author:JevonWei 版权声明:原创作品 错误界面 这个错误界面应该为/boot文件损坏,故应该修复/boot和grub2 修复/boot及grub 1 . chroot /mnt/sysi ...
- NET .NET深入体验和实战精要
在学习.NET之前要充分理解基础,在这里将基础的知识点一一列举. 万丈高楼平地起 1.命名空间 命名空间是一种特殊的分类机制,他将与一个特定功能集有关的所有类型都分到一起,是.避免类名冲突的一种方式 ...
- 设置SQL Server 2005数据库使之可以远程连接
1. 开启sql2005远程连接功能,开启办法如下: 配置工具->SQL Server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Databas ...
- React——state
在React--组件中介绍过组件有两种定义方式:函数形式以及类形式.但是要想在组件中使用state,就必须使用类形式定义组件. 组件中的state是组件私有的,完全由组件自己控制. 使用类形式定义一个 ...
- Spring Ioc DI 原理
IOC(DI):其实这个Spring架构核心的概念没有这么复杂,更不像有些书上描述的那样晦涩.Java程序员都知道:java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成,通常,每个对象在使用 ...
- 跨浏览器tab页的通信解决方案尝试
目标 当前页面需要与当前浏览器已打开的的某个tab页通信,完成某些交互.其中,与当前页面待通信的tab页可以是与当前页面同域(相同的协议.域名和端口),也可以是跨域的. 要实现这个特殊的功能,单单使用 ...
- 201521123082 《Java程序设计》第8周学习总结
201521123082 <Java程序设计>第8周学习总结 标签(空格分隔):Java 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 ...
- 【Beta】Daily Scrum Meeting——Day1
站立式会议照片 1.本次会议为第一次Meeting会议: 2.本次会议在上午大课间09:40,在陆大楼召开,本次会议为30分钟讨论今天要完成的任务以及接下来的任务安排. 燃尽图 每个人的工作分配 成 ...