2 zl66482368 zl66482368 于 2014.10.16 10:30 提问

关于SNMP开发的一些问题

最近要开发基于snmp协议的一个简单网管系统,主要用来管理华为的PON设备(包括读取设备信息,监控设备告警,以及动态地去注册配置设备),因为第一次接触SNMP协议,可以说一头雾水,简单罗列了下碰到的一些问题,望懂得大哥大姐能帮忙解答下:

1.准备用JAVA语言开发网管系统,用什么开发工具比较好,SNMP4j?或者OBJECTSNMP?还是其他的?(暂时准备用SNMP4j,但网上资料少得可怜)

2.网上有很多snmp4j的GET方法的例子,我拿下来后已经可以取到设备的设备名称(根据OID1.3.6.1.2.1.1.5.0获得),设备地址(根据OID1.3.6.1.2.1.1.6.0获得)等信息了。

但是我用get方式去取设备的温度(1.3.6.1.4.1.25506.2.6.1.1.1.1.12)等一些华为厂家私有MIB库定义的信息时,得到的结果却都是NoSuchObject。我不知道这是因为设备的温度是私有厂家MIB库信息的原因还是因为温度信息是TABLE形式的,所以不能用GET方式去取。

请问我该怎么去拿到这个设备温度的信息,有没有人能指点下啊?

3.网上差了很多资料,知道网管系统包括管理端和代理端,但是我们实际开发时,代理端应该不需要开发的吧?因为它本来就在被管理设备上存在的,我们只要打开被管理设备的SNMP功能就好了吧?这是我个人理解,不知道是不是这样的。

4.snmp4j中去获取管理设备信息,是不是只要知道需获取信息相应的OID就行了?比如知道设备名称的oid(1.3.6.1.2.1.1.5.0)使用GET方式就能拿到设备名称了,知道设备地址的oid(1.3.6.1.2.1.1.6.0)就能拿到设备地址了。
那获取设备的其他信息是不是也只要相同的方式就可以了?如果仅仅这样的话,设备的管理岂不是很简单?厂家给我的MIB库就仅仅只是让我去找设备信息对应的OID吗?

疑问还有很多,最主要的还是以上的几个,有没有懂的大哥大姐,求帮忙啊

~网上找了几天了,实在找不到太深入的一些资料。

2个回答

qq_33574800
qq_33574800   2015.12.30 23:56

问题2:我该怎么去拿到这个设备温度的信息--单个节点的OID获取跟TABLE表无关,提示NOSUCHOBJECT的含义是此节点不存在。mib节点应该是用错了。
问题3:代理端这块的实现要针对不同的设备,有一部分产品应该是会支持的。
问题4;GET方式获取节点信息不仅仅取决于你的OID还取决于你的节点类型。如果是表节点的话,需要先获取索引。再用索引拼装新的OID访问设备。

three_man
three_man   2014.10.20 18:52

我写过一些简单的SNMP的使用指南,可以看一下:
http://blog.csdn.net/three_man/article/details/29857689

针对你的问题
1. 开发工具,目前最常用的还是SNMP4j
2. 这个问题,你需要先管设备商去要下MIB文件,有了MIB文件就能够知道具体的类型了
3. 是的。
4. 这儿要看节点类型的,如果是varchar等这样的但数据节点只是get就可以了。但是如果是table的话就需要使用getNext,来便利得到复杂的结构。 SNMP本来就是简单协议,所以基本内容也就这么多。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
net-snmp代理开发之表格开发入门
Net-SNMP代理开发之表格开发入门 net-snmp开发比较难以理解的是表格的实现方式,本文,笔者尝试一个人的理解,用简单的方式解释net-snmp的开发。并通过示例来说明如何开发表格。 Net-SNMP表格的理解 现实中的表格如下图所示,有多行,多列,有唯一确定某一行的索引列,可以是固定的一列,也可以是多列共同决定某行。 在Net-SNMP中,表格的标识方法如下图所示:
简单网络协议SNMP之net-snmp开发snmpget
目的:通过net-snmp关于snmpget源码的开发,从snmp代理设备获得自己想要的信息 准备:从http://www.net-snmp.org/网址下载net-snmp-5.6.1.1.tar.gz源码包   开发过程: 1.解压源码 2.进入解压源码的目录 1) Run ./configure --prefix=/usr/local/net-snmp      (type "
基于Net-SNMP的Agent的开发和使用
基于Net-SNMP的Agent的开发和使用 一.背景技术及术语解释 Net-SNMP是一个免费的、开放源码的SNMP实现,其中包含了一个Agent模块,通过这个模块可以获取到服务器的相关信息;在源码中实现了对服务器部分信息的获取,我们同样可以通过扩展mib库文件来实现获取我们需要的服务器的信息和管理服务器。 二.方案详细描述 1. Agent扩展方法简介 1.1添加自定义mib文件
snmp agent 表格实现(子代理方式实现)
前奏参见如下: http://blog.sina.com.cn/s/blog_8f3de3250100xhao.html http://blog.csdn.net/hepeng597/article/details/8782868 http://blog.csdn.net/rheostat/article/details/8172580 问题解决: http://bbs.cs
Visual C++开发基于SNMP的网络管理软件.pdf
本书讲述了snmp基础知识和使用visual c++开发实用网络管理软件的方法与技巧。书中第1章~第6章由介绍asn.1语言入手,通过分析snmp相关rfc文档的原始定义,并结合实例,翔实、深入地讲解了snmp的原理。第7章~第13章通过具体实例,讲述开发基于snmp网管软件的方法。.   本书可作为网络管理人员学习snmp、提高网络管理水平的参考资料,也可供网管软件开发人员参考使用。
SNMP++ 00-开发准备篇
一、下载SNMP++ SDK SNMP++ SDK官方下载地址:http://www.agentpp.com/download.html#AGENTPP。如需支持SNMP V3,还需下载LIBDES。结果如图1-1: 图1-1 二、生成 snmp++lib 静态 lib 文件(VS2013中的示例)(注:snmp++lib  为你要生成的 lib 的文件名,可自拟),结果如图2-1:
Snmp Agent开发流程
Snmp Agent扩展该文档将主要讲述基于开源项目net-snmp的snmp代理端开发流程,首先讲标准代理的安装流程,再讲述三种mib扩展方式,每种方式对应不同的开发需求,最后会讲下如何移植到arm板上。一.系统环境:操作系统:CentOS 5.4                 内核:Linux_2.6编译环境:gcc 4.1.2                代码版本:net-snmp-5.4.3.tar.gz (下载地址:http://jaist.dl.sourceforge.net/project
SNMP从入门到开发:基础篇 1
SNMP协议入门 1、引言 基于TCP/IP的网络管理包含3个组成部分: 1) 一个管理信息库MIB(Management Information Base)。管理信息库包含所有代理进程的所有可被查询和修改的参数。RFC 1213[McCloghrie and Rose 1991]定义了第二版的MIB,叫做MIB-II。 2)  关于MIB的一套公用的结构和表示符号。叫做管理信息结构SMI
SNMP开发过程中的一些积累
snmp开发过程中的一些技术积累
关于VMware虚拟机的一些问题
学习嵌入式Linux初期阶段都无可避免的要使用到VMware,因为新手一般不会安装Linux系统,所以需要在虚拟机上操作,那么,我总结一下最近学习中所遇到的问题及解决办法,我用的是VMware10.1版本的,其实无论什么版本,解决问题的方法都不会相差太多。   我是买的4412开发板,厂家提供了Ubuntu的镜像文件。VMware软件安装是比较简单的,取消掉一些不必要的选项,然后百度一下相应版本