`
avery_leo
  • 浏览: 387899 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Snmp4j编程简介之一:Target

阅读更多

关于Snmp4j包,最重要三个概念,也是三个类:Snmp、Target、PDU。
   
    Target,表示被管理的设备。对于一个被管理的设备,我们关注它的Address,它使用的协议版本version,访问它的用户名和密码、以及对这个设备我们设置跟它打交道的一些策略,比如超时时间、重传次数等。所以有如下方法:
    1)获取或者设置ip地址
    void setAddress(Address address)  
    Address getAddress()
    2)设置或者获取版本号(支持V1,V2c,V3)
    void setVersion(int ver)
    int   getVersion()
    3)超时时间 ( 单位:milliseconds )
    void   setTimeout(long out)
    long getTimeout()
    4)重传次数
    void   setRetries(int retries)
    int   getRetries()
    5)最大PDU大小值
    void setMaxSizeRequestPDU(int max)
    int   getMaxSizeRequestPDU()

    上面这些对于Snmp三个版本都是相同的,不同的只是在于安全方面,具体来说,Snmpv1,v2c采用共同体(community)方式,安全性很差;SnmpV3采用基于用户的安全(USM)方式,安全性能得到很大提高。
   (1) 对于Snmpv1,v2c,使用Target派生出一个子类CommunityTarget,增加了对Community的方法:
        void setCommunity(OctetString community)
        OctetString getCommunity()

    (2)对于SnmpV3,使用其子类UserTarget,增加了一些有关USM安全方面的设置,比如采用的安全模型、安全级别、访问该设备的用户名以及权威引擎ID(authoritative engine ID):
       i)安全级别(支持三种安全级别)
       void setSecurityLevel(int level)
       int   getSecurityLevel()
       ii)访问用户名(该访问用户名称必须在设置USM的时候添加其相应的UsmUser)
       void setSecurityName(OctetString name)
       OctetString   getSecurityName()
       iii)安全模型(支持三种安全模型)
       void setSecurityModel(int model)
       int   getSecurityModel()
       V)权威引擎ID(authoritative engine ID)
       void   setAuthoritativeEngineID(byte[] id)
       byte[] getAuthoritativeEngineID()
   
对于Target的代码大致如下:(摘自Snmp4j的说明文档)

  • Community Target
    CommunityTarget target = new CommunityTarget();
    target.setCommunity(new OctetString("public"));
    target.setAddress(targetAddress);
    target.setVersion(SnmpConstants.version1);
  • User Target
    UserTarget target = new UserTarget();
    target.setAddress(targetAddress);
    target.setRetries(1);
    // set timeout to 500 milliseconds -> 2*500ms = 1s total timeout
    target.setTimeout(500);
    target.setVersion(SnmpConstants.version3);
    target.setSecurityLevel(SecurityLevel.AUTH_PRIV);
    target.setSecurityName(new OctetString("MD5DES"));
分享到:
评论
1 楼 jinyan798 2008-08-12  
,明白了,

相关推荐

    Snmp4j 编程入门.doc

    Target 是 SNMP4J 库中的另一个核心类,表示被管理的设备。Target 类提供了许多方法,用于设置和获取设备的地址、协议版本、用户名、密码、超时时间、重传次数等信息。 在 Target 类中,有多个方法,用于设置和获取...

    snmp4j编程简介.doc

    在使用Snmp4j进行编程时,有三个核心概念:Snmp、Target和PDU。 1. Snmp:这是SNMP协议的接口,负责实际的通信工作。它包含了发送请求(Trap、Get、Set等操作)和接收响应的方法。Snmp对象通常通过一个...

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

    Java中的SNMP编程是网络管理员和服务器监控人员常用的技术之一。SNMP(简单网络管理协议)是一种用于收集和组织关于计算机网络中设备状态信息的协议,它能够帮助网络管理员监测网络性能、发现设备问题、管理网络配置...

    snmp4j api文档

    开发者可以通过查阅文档,了解每个类的功能、方法的参数和返回值,以便更有效地使用SNMP4J进行SNMP编程。 总之,SNMP4J为Java开发者提供了一个强大且灵活的框架,用于构建SNMP应用程序。通过理解和掌握SNMP4J API,...

    用SNMP4J实现的Trap源码

    在这个项目中,"用SNMP4J实现的Trap源码"是基于JAVA语言利用SNMP4J库编写的,旨在帮助开发者理解和实践如何通过编程方式实现SNMP Trap的功能。下面将详细解释相关的知识点: 1. **SNMP4J库**:SNMP4J是一个开源的...

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

    SNMP4J是一个开源的Java库,专门设计用于实现SNMP协议的客户端功能,使得开发者能够从网络设备中读取或设置管理信息。本篇文章将详细探讨如何使用SNMP4j库在Java中读取SNMP协议数据。 首先,了解SNMP是必要的。SNMP...

    snmp4j-2.3.0源码等

    SNMP4J是一个开源的Java实现的简单网络管理协议(SNMP)库,适用于开发SNMP应用程序。2.3.0版本是这个库的一个特定发行版,提供了对SNMP v1、v2c和v3的支持。在深入探讨SNMP4J的源码之前,我们需要先了解SNMP的基本...

    snmp4j源码

    8. **异步编程模型**:SNMP4J提供了异步请求处理机制,允许开发者在一个非阻塞模式下发送SNMP请求,提高程序性能。相关的类如`AsyncRequest`和`FutureResponse`用于异步操作。 9. **错误处理和异常**:在源码中,...

    snmp4j最新开发包

    SNMP4J是一个Java实现的简单网络管理协议(SNMP)的应用编程接口(API),它为开发者提供了在Java环境中开发SNMP应用的功能。这个最新的2.3.1版本是官方发布的,确保了稳定性和兼容性。下面将详细介绍SNMP4J的几个...

    snmp4j开发包,强烈推荐

    在Java开发中,SNMP4j是一个非常重要的库,它提供了对SNMP协议的全面支持,包括SNMP v1、v2c和v3三个版本。这个开发包被广泛推荐,因为它提供了详尽的实例和易于理解的API,是Java开发者进行SNMP编程的理想工具。 ...

    SNMP4J-API.rar_SNMP4J API中文版_SNMP4J.jar api_snmp4j_snmp4j api ch

    SNMP4J是一个Java实现的简单网络管理协议(SNMP)的应用编程接口,它提供了全面的SNMPv1、SNMPv2c和SNMPv3支持,包括代理和管理站的角色。SNMP4J-API中文版是这个库的中文文档,对于理解和使用SNMP4J库非常有帮助。...

    snmp4j java关于访问snmp设备的jar包

    SNMP4J是一个Java库,专门用于实现Simple Network Management Protocol(SNMP)的应用程序。SNMP是一种网络管理协议,常用于监控和管理网络设备,如路由器、交换机、服务器等。它允许网络管理员远程收集和配置设备...

    snmp4j-doc-1.9.3d

    SNMP4J-Doc-1.9.3d是一个针对SNMP(Simple Network Management Protocol)开发的Java库的文档集合,主要为开发者提供详细的指南和参考资料。SNMP是一种广泛应用于网络设备管理的标准协议,它允许网络管理员远程监控...

    snmp4j-2.7.0-distribution 最新jar包和源码

    SNMP4J是一个Java实现的简单网络管理协议(SNMP)的开源库,它提供了全面的SNMP协议支持,包括v1、v2c和v3版本。在SNMP4J-2.7.0-distribution这个压缩包中,包含了最新的SNMP4J库的jar包和源代码,这对于开发者来说...

    snmp4j.zip_snmp4j

    这个“snmp4j.zip”压缩包包含了一个基本的SNMP4J应用示例,名为“snmp4j.java”,这将帮助我们了解如何使用SNMP4J库进行编程。 SNMP(Simple Network Management Protocol)是一种广泛应用于网络设备管理的协议,...

    snmp4j-2.5.11最新资源

    SNMP4J是一个Java实现的简单网络管理协议(SNMP)的应用编程接口(API),它为开发者提供了在Java环境中进行网络设备管理和监控的功能。SNMP是互联网标准协议,用于网络设备如路由器、交换机等的远程管理和监控。...

    snmp4j-2.0.3.jar和api

    在Java环境中,SNMP4J是一个开源库,提供了全面的SNMP支持,使得开发者能够轻松地在Java应用程序中实现SNMP功能。"snmp4j-2.0.3.jar"是这个库的主程序包,包含了SNMP4J的所有类和方法,供开发者在项目中导入并使用。...

    snmp的安装包-在使用snmp4j时

    在Java环境中,SNMP4J是一个流行的库,它提供了对SNMP协议的支持,方便开发者编写应用程序来与SNMP兼容的设备进行通信。 首先,让我们详细了解一下SNMP协议的基础知识。SNMP是基于Internet的管理框架的一部分,由三...

    snmp4j-api以及帮助文档doc

    SNMP4J是一个Java实现的简单网络管理协议(SNMP)的应用程序编程接口(API),它为开发人员提供了在Java环境中实现SNMP功能的工具。SNMP是一种广泛用于网络设备管理的标准协议,允许系统管理员远程监控和管理网络...

Global site tag (gtag.js) - Google Analytics