免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1866 | 回复: 0
打印 上一主题 下一主题

snmp协议扩展 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-31 16:34 |只看该作者 |倒序浏览

1          下载源码包net-snmp-5.4.1
1.1         下载地址可以搜到很多
1.2         下载源码包net-snmp-5.4.1.tar.gz
1.3         用net-snmp是因为它是开源项目,并且容易扩展功能
1.4         最新版本是5.4.1

2          目录结构
net-snmp-5.4.1\agent\mibgroup是存放私有MIB文件目录:

3          编译:修改编译选项, 移植到不同硬件平台
3.1         各平台不同的参数主要有GCC、HOST、CFLAGS等几项,特别注意的是这两个参数:
企业OID:--with-enterprise-oid = 1567
企业名称OID:--with-enterprise-sysoid = .1.3.6.1.4.1.1567.5000.1.27

3.2         XSCALE下的编译选项:
./configure --with-cc=/opt/dev_env/XSCALE/usr/local/bin/arm-linux-gcc --with-cflags="-mbig-endian -O2"
--host=xscale
--with-endianness=big
--disable-applications
--disable-debugging
--with-sys-location="guoren"
--with-sys-contact="www.powercn.com"
--with-default-snmp-version="3"
--with-enterprise-oid=1567 --with-enterprise-sysoid=.1.3.6.1.4.1.1567.5000.1.27 --with-persistent-directory="/tmp"
--with-logfile="/tmp/snmp.log"
--sysconfdir="/etc/IWNCOMM/snmp" --with-libs=/home/wlan/zhaopz/project/0045-2/net-snmp-5.4.1/agent/libiw.so.xscale
3.3         其它平台如ARM9等的编译方式见源码包的cfg.arm文件;

4          修改公有MIB的代码, 使第二步能编译通过
4.1         只加入项目要使用的公有MIB的功能,原因是源码包在不同平台下编译时存在兼容性的问题,不能通过;常用的公有MIB库包括:mibII/system_mib、mibII/interfaces两项:
4.2         system_mib.c文件修改的是:存取系统名称的方法,原来是只读的方法,修改为可读写的;
4.3         interfaces.c文件修改的是:存取网络接口数据信息的方法,原来的方法和其它文件偶合过于紧密,修改后只在interfaces.c文件中实现所有功能;

5          扩展私有MIB
5.1         私有功能和网管系统(源码包)的接口
新增加的文件必须包含到
net-snmp-5.4.1\agent\mibgroup\default_modules.h文件中,并执行以下步骤:make distcleanàconfigureàmake;

5.2       5.3         开发方式:“添加私有MIB文件à配置à编译à修改文件à再编译”
5.3.1   新增加的文件必须包含到
net-snmp-5.4.1\agent\mibgroup\default_modules.h文件中,
并执行以下步骤:make distcleanàconfigureàmake;
5.3.2   修改文件内容直接执行:make

6          简单数据项和表格数据的存取原理
6.1.1   简单数据项直接通过OID存取;
6.1.2   表格数据需要需要提供列数和行数,才能读取某行某列的数据项;

7          网管的调试方法:
7.1.1   编译产生的应用程序snmpd,通过wget下载到AP的/tmp目录,然后重新启动snmpd;wget的使用方法:
wget ftp://username:password@IP_ADDR/PATH/snmpd
7.1.2   PC机上运行MIB察看工具,通过get/set读写每一项的值,验正其正确性;也可以通过walk读取一个分支的所有值,批量验正;

8          开发网管需要具备的技能:
8.1         熟练撑握C语言程序设计方法;
8.2         熟练使用VIM + Makefile + make + gdb的软件开发模式;
8.2.1   VIM的使用技巧,VIM的功能强大,使用方便,不亚于任何一种其它编辑器;一些常用的编辑技巧整理如下:
n        重复还原类
撤消上一个编辑操作:U   
重复上一个编辑操作:.   
还原被撤消的编辑操作:Ctrl + R   
n        大小写转换指令
~ :交换大小写
U :将小写变大写
u : 将大写变小写
n        跳转指令
ctrl + o :下一位置
ctrl + i :上一位置
       ctrl + ] + i : 跳到变量定义处
n        多窗口操作
在各个窗口切换: ctrl+w
在一个窗口总打开一个文件: new filename
分割窗口: split
左右分栏: vsplit
在新窗口中打开文件:new filename
8.2.2   另外熟练使用gdb是调试小程序必不可少的技能:
gdb环境下的命令:
n        b(reak):插入断点
n        l(ist):显示下十行程序;
n        r(un):执行程序
n        s(tep):步入子程序
n        c(ontinue):继续执行程序

8.3         熟悉UNIX系统调用方法,熟练编写UDP、UNIX socket等应用程序;
8.4         熟练撑握用C语言操作文本文件和二进制文件;
8.5         对网络设备驱动程序的原理和运行机制要有一定的了解;
8.6         良好的编程风格:尤其是模块化的程序设计方法,为开发才自己和后续开发人员都能提供极大的方便;



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/83910/showart_1355838.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP