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"));

Snmp4j编程简介之一相关推荐

  1. 自动售货机编程_Rosmaro中基于视觉自动机的编程简介

    自动售货机编程 by Łukasz Makuch 通过ŁukaszMakuch Rosmaro中基于视觉自动机的编程简介 (An introduction to visual automata-bas ...

  2. 《jQuery与JavaScript入门经典》——第 1 章 动态Web编程简介 1.1理解Web服务器浏览器范式...

    本节书摘来自异步社区<jQuery与JavaScript入门经典>一书中的第1章,第1.1节,作者:[美]Brad Dayley著,更多章节内容可以访问云栖社区"异步社区&quo ...

  3. linux下多进程编程简介

    两年前的文章,拿过来充充门面. ------------------------ linux下多进程编程简介 ( 作者:mikespook | 发布日期:2002-12-8 | 浏览次数:272 ) ...

  4. 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一

    点击上方"正运动小助手",随时关注新动态! 运动控制器ZHMI组态编程简介一  今天我们来学习一下,运动控制器的ZHMI组态编程简介.本文主要从产品概述.控制器连接触摸屏使用.HM ...

  5. OpenCV 1.x 2.x 编程简介(矩阵/图像/视频的基本读写操作)

    OpenCV 编程简介(矩阵/图像/视频的基本读写操作) Introduction to programming with OpenCV OpenCV编程简介 作者: Gady Agam Depart ...

  6. SVG脚本编程简介(转)

    SVG脚本编程简介 本文主要介绍SVG的脚本编程,并分别给出放大.缩小,查询,鼠标事件等实例. 一.            SVG简介 SVG,全称为Scalable Vector Graphics( ...

  7. [Qt教程] 第31篇 网络(一)Qt网络编程简介

    [Qt教程] 第31篇 网络(一)Qt网络编程简介 楼主  发表于 2013-8-28 17:04:17 | 查看: 515| 回复: 0 Qt网络编程简介 版权声明 该文章原创于作者yafeilin ...

  8. Persistent Memory编程简介

    Persistent Memory编程简介 编程 libpmem 持久化函数 libpmemobj 跟对象 root object 例程 事务支持 type safety 线程安全 管理工具 ipmc ...

  9. linux c read函数返回值,Linuxc - GNU Readline 库及编程简介

    GNU Readline 库及编程简介 简介 用过 Bash 命令行的一定知道,Bash 有几个特性: TAB 键可以用来命令补全 ↑ 或 ↓ 键可以用来快速输入历史命令 还有一些交互式行编辑快捷键: ...

  10. react发送和接收请求_React行为编程简介:请求,等待和阻止

    react发送和接收请求 by Luca Matteis 卢卡·马蒂斯(Luca Matteis) React行为编程简介:请求,等待和阻止 (An intro to Behavioral Progr ...

最新文章

  1. 下面为初学者分享一下SQL 数据库学习资料
  2. Dynamics CRM 导入用户数据错误 could not retrieve salesperson role
  3. 机器学习训练中常见的问题和挑战!
  4. boost::iterator_range用法的测试程序
  5. Java 冒泡排序的实现
  6. 不要再纠结卷积的公式啦!0公式深度解析全连接前馈网络与卷积神经网络!
  7. pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org',
  8. 数据治理资深大咖分享:一文详解数据标准管理
  9. python与材料计算快速入门线上训练营_Python18天训练营第二课基础1
  10. 软件测试相关的63个国外站点
  11. 学计算机修图,宅家修图很简单 手机电脑都可以修出大片的感觉
  12. 久未更 ~ 四之 —— Vsftpd出现 Failed to start Vsftpd ftp daemon错误
  13. Linux安装jdk、删除Open jdk
  14. PE+Dism++组合实现操作系统的备份恢复给力。
  15. 直接加QQ好友的链接或会话的方法
  16. 微信声音锁会上传到服务器吗,微信声音锁:你再也不用担心忘记密码了
  17. FFmpeg 音视频截取
  18. Python match case结构化模式匹配
  19. /Zc:strictStrings配置
  20. Google Maps API V3 之 图层

热门文章

  1. python的条件(三元)运算符——实现b? x: y
  2. stm32如何执行软复位_stm32f7软件复位 stm32f0 软件复位
  3. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 12 章 全文搜索_12.5. 解析器
  4. 如何动态确认每个输入的值都符合设定域
  5. Python UDP broadcast PermissionError: [Errno 13] Permission denied
  6. HDU1561 The more, The Better(树形dp)
  7. 初学linux网络服务之DHCP实验
  8. 时刻牢记“我是谁、为了谁、依靠谁” 始终践行党的群众观点和群众路线
  9. Google gae部署php简单说明
  10. 菜鸟从零学习数据库(三)——存储过程