net-snmp的嵌入式agent开发

本文详细介绍如何在嵌入式系统中配置和开发SNMP代理,包括net-snmp的安装、MIB文件编写、mib2c工具使用、代码实现get和set功能,以及如何将开发成果直接加入项目。

常用命令:

ps -ax|grep snmpd
export MIBS=ALL;
snmptranslate -Tp -IR Test-MIB::Test
snmpget -v 2c -c public localhost sysUpTime.0

env MIBS="+/usr/local/net-snmp-5.8/share/snmp/mibs/Test-MIB.txt" mib2c -c mib2c.scalar.conf Test
env MIBS="+/usr/local/net-snmp-5.8/share/snmp/mibs/ZZZVPXTIMING-MIB.txt" mib2c -c mib2c.iterate.conf VPXTIMING

mipsel-linux-gcc -o Test Test.c -I /usr/local/net-snmp-mips/include -L/usr/local/net-snmp-mips/lib -lnetsnmp -lnetsnmpagent -lnetsnmphelpers  -lnetsnmpmibs -lpthread

/mnt/mtd/snmpd -Lf /mnt/mtd/snmpd.log -c /mnt/mtd/snmpd.conf -M /mnt/mtd/mibs
snmpget -v2c -c public 192.168.123.221 1.3.6.1.4.1.16535.1.1.0
snmpget -v2c -c public 192.168.123.221 1.3.6.1.4.1.16535.2.1.0
snmpgetnest -v2c -c public 192.168.123.221 1.3.6.1.4.1.16535.2
snmpwalk -v2c -c public 192.168.123.221 1.3.6.1.4.1.16535


一、安装嵌入式net-snmp

官网下载解压net-snmp-5.8,而后至解压目录(已创建好安装目录:/usr/local/net-snmp-mips)
1、配置

./configure -with-cc mipsel-linux-gcc -with-ar=mipsel-linux-ar -prefix=/usr/local/net-snmp-mips -build=i686-linux -host=mipsel-linux -with-endianness=little -disable-applications -disable-manuals -disable-debugging -disable-snmptrapd-subagent -disable-ipv6 -disable--scripts -enable-mini-agent -with-mib-modules="notification" -with-mib-modules="agentx" -disable-ucd-snmp-compatibility -disable-embedded-per -disable-perl-cc-checks -disable-without-perl-modules
参数(顺序不能更改):
 -with-cc mipsel-linux-gcc        指明编译时使用的编译器
 -with-ar=mipsel-linux-ar         指明编译库的工具
 -prefix=/usr/local/net-snmp-mips 指定交叉编译后的net-snmp代理软件的安装路径
 -build=i686-linux                指明编译源码的主机
 -host=mipsel-linux               指明运行该程序的机器平台,即运行代理的平台
 -with-endianness=little          指明采用小端模式
 -disable-applications            指明不编译SNMP的应用程序
 -disable-manuals                 指明取消编译帮助信息
 -disable-debugging               关闭调试信息
 -disable-snmptrapd-subagent      指明不支持snmptrapd子代理
 -disable-ipv6                    指明不支持ipv6
 -disable--scripts                指明不安装脚本
 -enable-mini-agent               指明安装最简单的代理
 -with-mib-modules="notification" 指明加载notification模块,用于发送trap
 -with-mib-modules="agentx"       指明加载agentx模块,此模块支持主代理和子代理,默认是子代理,可在snmpd.conf中配置为主代理
 -disable-ucd-snmp-compatibility  指明不安装UCD-SNMP的头文件和库
 -disable-embedded-per            指明不支持嵌入式perl
 -disable-perl-cc-checks          在支持嵌入式perl的情况下,不对编译perl的C编译器进行兼容性检查
 -disable-without-perl-modules    指明不支持perl模块

2、编译

make

3、安装

make i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值