
SNMP 协议简介与开发
文章平均质量分 67
yyyyyyyuande
这个作者很懒,什么都没留下…
展开
-
SNMP功能开发简介 一 net-snmp编译与安装
部门产品还没有snmp功能,应客户需求,最近开始开发snmp功能。snmp即简单网络管理协议,管理很简单,但实际开发还是有点工作量,协议有三个版本,分为1,2c,3。相关的RFC文档也比较多,从零开始开发难度还是比较大,和技术经理讨论了下,可以基于现有方案做二次开发,移植。产品平台基于openwrt,armlinux。上层业务是用Golang开发,在github上看了下,现有的Go 版本的snmp...原创 2018-09-16 14:06:18 · 14017 阅读 · 2 评论 -
移植net-snmp 出现的编译问题 ./libs/libnetsnmpsnmpd.a(snmpd.o): relocation R_ARM_THM_MOVW_ABS_NC against `
将net-snmp功能移植到自己的模块中出现了编译问题:查了网上的资料,一种是说增加编译选项 -fPIC, 这种方式测试后可用。还有一种可能是静态库的嵌套引用问题,net-snmp提供了四个库,分别是libnetsnmp.a, libnetsnmpsnmpd.a, libnetsnmpagent.a, libnetsnmpmibs.a, 这四个库的引用顺序出错的话也会引起上面那个问题,在程...原创 2018-09-25 08:48:12 · 2208 阅读 · 3 评论 -
编译问题一 undefined reference to `EVP_sha1' ‘RAND_byte’ ‘DES_key_sched’ 问题解决
编译net-snmp的测试程序引用到libnetsnmp.a库,编译出现如下错误,看名字似乎和加密有关,去官网查了下,和-lcrypto有引用关系,于是在编译选项里增加了 -lcrypto选项,没有出现报错。...原创 2018-10-05 11:21:29 · 6037 阅读 · 0 评论 -
编译问题二 /snmplib/tools.c:920 undefined reference to `clock_gettime' 问题解决
编译net-snmp测试程序引用libnetsnmp.a库,编译报如下错误,网上查了下,需要在编译的时候引用-lrt库,增加后编译成功。cc -g -o container_test container-snmp-demo.c -lnetsnmp -lcrypto -lrt -L./libs...原创 2018-10-05 11:24:38 · 776 阅读 · 0 评论 -
SNMP功能开发简介 二 net-snmp源码分析报文处理流程图
最近在开发snmp功能,核心实现是基于net-snmp,将net-snmp的代理基本功能移植到自己的程序中去,因为需要修改一些定制化的内容,所以需要对net-snmp的流程有所了解,网上这方面的资料比较多而杂,也没有细致的分析流程,自己试着进行源码分析,画出简要的流程图,供有需要的同学参考一下。源代码版本链接:5.6.2流程图比较大,一幅图放不小,有需要完整高清图的话可以...原创 2018-10-14 15:56:45 · 4467 阅读 · 43 评论 -
SNMP功能开发简介 三 使用DEBUGMSG打印指定的信息
net-snmp自己提供了丰富的调试参数,可以打印指定的想要信息。 //假定token是"snmpd" /* 注册token值 */ debug_register_tokens("snmpd"); /* 开启debug打印功能 */ snmp_set_do_debugging(1); /** 程序中所有已snmpd开头的de...原创 2018-10-14 16:01:28 · 1191 阅读 · 0 评论 -
SNMP功能开发简介 四 net-snmp动态监听自定义端口
SNMP项目有个需求,就是能够动态改变net-snmp监听的端口而不需要重启设备。关于这个功能,一开始想的是如果端口变更了,那就直接使用pthread_kill 关闭原来的代理线程,然后重新执行线程。但是这样子测试后发现重启的线程会自动导致整个进程退出。模块框架大致是这样,进程启动读取配置,然后创建一个独立的代理线程,这个线程执行net-snmp库的启动入口(snmpd.c/SnmpDaemo...原创 2018-10-20 13:47:49 · 2504 阅读 · 0 评论 -
SNMP功能开发简介 五 使用MIB Builder创建MIB文件图文介绍
开发snmp功能一般都会涉及到添加私有节点,此外还要提供给其他人私有节点的MIB文件以方便查看。这里使用MG SOFT提供的MIB Builder工具创建MIB文件,工具下载链接:https://pan.baidu.com/s/16e2ADcEO3RUozeOyc5YsJQ, 密码:l7po这里介绍的例子是在enterprise下面新增私有节点ghost以及两个节点,效果如下图:1. ...原创 2018-10-24 20:32:58 · 8209 阅读 · 2 评论 -
SNMP功能开发简介 六 snmp功能开发阶段性总结
先说客户需求:能够通过SNMP协议获取设备信息便于管理。客户提出的需求信息转化成MIB结点都是Get类请求。背景&方案:我们的产品业务层是使用Go语言开发的,系统层基于OpenWrt(一个嵌入式的 Linux 发行版)。SNMP功能一年前在上家公司里接触过,当时是因为生产产品的时候需要通过snmp去进行相关的升级操作,那个时候还专门学测试了一下MIB结点的添加,也能够成功运行。虽说接触...原创 2018-11-04 13:13:08 · 2313 阅读 · 1 评论