`
biebiekao1
  • 浏览: 29647 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

使用ObejctSNMP组件快速开发java SNMP程序

阅读更多

ObjectSNMP借鉴了数据库领域的O-R Mapping技术,采用O/M Mapping。其原理是和O/R Mapping一样的。

先根据SNMP MIB定义一个JAVA对象,然后通过ObjectSNMP API基于对象的添加、删除、修改操作就可以了。

 

下面的例子,就是使用ObjectSNMP获取RFC1213-MIB的例子:其中的system和ifTable对象就是对应的SNMP MIB中的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 = 0; 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();
        }
    }

}

 

1
0
分享到:
评论
1 楼 mirinda95925 2011-02-13  
SNMPAPI snmpapi;

    SNMPNodeParam nodeParam;

jar包请问有下的么

相关推荐

    使用Java进行SNMP编程-SNMP4J-代码实例

    当学习这些代码实例时,读者应着重理解SNMP协议的基本概念、SNMP4J库的使用方法以及如何在Java程序中调用这些方法来执行具体的网络管理任务。这些知识能够帮助读者构建自己的SNMP监控工具或者集成SNMP功能到现有的...

    一个java snmp api的说明,帮助管理员开发

    在实际应用中,使用Java SNMP API进行开发,开发者需要理解SNMP的不同版本(如SNMPv1, SNMPv2c, SNMPv3)及其安全性、认证机制。同时,需要熟悉如何创建和解析PDU,以及如何操作MIB库中的对象。通过提供的API,可以...

    java调用snmp协议

    **标题解析:** "java调用snmp协议" 指的是使用Java编程语言来实现对SNMP(简单网络管理协议)的调用。SNMP主要用于监控和管理网络设备,如路由器、交换机等,而Java作为一种跨平台的编程语言,能够方便地实现这种...

    Java使用SNMP4J实现snmp trap接口发送消息_20170808_LK

    本文将详细讲解如何使用Java的SNMP4J库来实现SNMP Trap接口,发送这些消息。 首先,我们需要了解SNMP4J库。SNMP4J是Java平台上的一个开源SNMP库,它提供了完整的SNMPv1、SNMPv2c和SNMPv3支持。该库不仅包含SNMP协议...

    Java开发SNMP协议学习资料

    在Java中,开发SNMP应用程序通常涉及使用特定的库,如Net-SNMP或J SNMP等。以下是对SNMP协议和Java开发SNMP应用的一些关键知识点的详细说明: 1. **SNMP协议基础**: - SNMP由三个主要组件构成:管理站(Manager)...

    snmp_manager.rar_java snmp web开发_snmp in java _snmp java_snmp ma

    “snmp_java”和“snmp_manager”表明这是一个Java编写的SNMP管理工具,可能是服务器端的应用程序,负责接收和处理来自Web前端的请求,然后将这些请求转化为SNMP协议的数据包,发送给网络设备,并将返回的结果展示给...

    java实现snmp数据包发送和接收资料

    在Java中,可以使用开源库如JSNMP、SNMP4J来实现SNMP通信。这些库提供了API,允许开发者发送GET、SET、TRAP等SNMP操作,处理PDU(协议数据单元)并进行错误处理。 3. 发送SNMP请求: 要发送SNMP请求,首先需要...

    SNMP管理站开发-java实现

    在这个“SNMP管理站开发-java实现”的主题中,我们将深入探讨如何使用Java语言来构建一个SNMP管理站,以实现对SNMP代理的远程访问。 首先,要理解SNMP的基本概念。SNMP由三部分组成:管理信息库(MIB)、管理站...

    java snmp管理 java snmp管理

    在Java中实现SNMP管理,开发者可以使用各种库来与SNMP代理进行交互,如JSNMP、 SNMP4J等。本文将深入探讨Java SNMP管理的相关知识点。 首先,理解SNMP协议的基础概念至关重要。SNMP是一种应用层协议,工作在TCP/IP...

    java利用snmp4j包来读取snmp协议数据

    本篇文章将详细探讨如何使用SNMP4j库在Java中读取SNMP协议数据。 首先,了解SNMP是必要的。SNMP是一种网络管理标准协议,用于监控网络设备,如路由器、交换机、服务器等的状态和性能。它基于TCP/IP协议栈,通过发送...

    Java SNMP4J

    Java SNMP4J是一个基于Java平台的开源库,用于实现简单网络管理协议(SNMP)的应用程序。这个库为Java开发者提供了全面的工具集,让他们能够方便地与支持SNMP的网络设备进行通信,从而获取或管理系统配置、性能数据...

    windows下SNMP程序开发,通过SNMP协议开发的读取程序

    在实际开发中,应确保使用安全的SNMP版本(如SNMPv3),并正确配置认证和加密参数,以防止未经授权的访问和攻击。 总结,Windows下的SNMP程序开发涉及到SNMP协议的基本概念、版本、开发工具、编程语言选择以及源...

    Snmp网络协议及Java开发相关

    开发者可以通过查阅此文档快速理解和使用SNMP4J的各个功能,以便在Java项目中实现SNMP功能。 总结来说,SNMP是一种用于网络管理的协议,而Java中的SNMP4J库提供了实现SNMP功能的工具。通过学习和使用SNMP4J,开发者...

    实现SNMP的java代码

    在这个场景中,我们讨论的是如何使用Java语言实现SNMP功能,包括GET、GETNEXT和SET操作。下面将详细介绍这些概念以及如何在Eclipse环境中实现它们。 1. **SNMP协议基础**: SNMP是TCP/IP协议簇的一部分,主要用于...

    java snmp 实现代码

    在这个场景中,我们看到一个关于如何使用Java编程语言实现SNMP协议的项目。这个项目可能包含了一个或多个类,这些类实现了SNMP协议的核心功能,使得开发者能够通过Java程序与支持SNMP的网络设备进行通信。 首先,...

    java_snmp_connector.rar_ java snmp_Eclipse_java sn_java snmp_mib

    Eclipse是一种广泛使用的Java集成开发环境(IDE),在这个项目中,Java SNMP Connector被设计为可以在Eclipse中方便地进行开发和调试。 在Java SNMP Connector中,开发者可以利用封装后的API来发送Get、Set、Trap等...

    snmp java agent工具

    Java SNMP Agent工具允许程序员创建能够响应SNMP请求的应用程序,从而与网络管理系统(NMS)进行交互。 1. **SNMP Java Agent**: Java SNMP Agent是用Java语言编写的SNMP协议实现,它使得开发者能够在Java平台上...

    Java实现SNMP获得OId值

    ### Java实现SNMP获取OID值:深入解析与代码示例 #### SNMP协议简介与OID概念 简单网络管理协议(SNMP)是一种...同时,持续关注`Snmp4j`库的更新,利用其最新特性将进一步增强Java应用程序在网络管理方面的表现。

    snmp.rar_SNMP_java snmp_java snmp限制ip_snmp java_traplistener

    使用Java SNMP库开发应用程序后,通常需要进行网络模拟和真实环境的测试,以确保SNMP通信的正确性和稳定性。 综上所述,"snmp.rar"这个压缩包包含的资源可以帮助开发者深入了解和实现Java环境下的SNMP功能,包括IP...

Global site tag (gtag.js) - Google Analytics