免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 10228 | 回复: 0

用NET-SNMP API 管理端编程----获取表的数据 [复制链接]

论坛徽章:
0
发表于 2008-05-17 15:21 |显示全部楼层
系统环境:
CentOS 5

NET-SNMP版本:
5.3.2

安装在/usr/local/net-snmp目录下。

头文件:/home/dexin/Desktop/net-snmp-5.3.2/include
库文件:-L/usr/local/net-snmp/lib,会用到libnetsnmp.so库。
标准库文件:libcrypto.so。
编译命令:
gcc my_snmptable.c -o my_snmptable -I/home/dexin/Desktop/net-snmp-5.3.2/include     
-L/usr/local/net-snmp/lib -lnetsnmp -lcrypto

snmp.conf配置文件(附件里有)
位置:/root/.snmp/snmp.conf
内容:
*****************************************************************************
mibdirs  /usr/local/net-snmp/share/snmp/mibs
*****************************************************************************

snmpd.conf配置文件(附件里有)
位置:/root/.snmp/snmpd.conf
内容:
*****************************************************************************
com2sec         local         localhost         dexin #dexin 为你设定的community

group         MyRWGroup         v1                         local
group         MyRWGroup         v2c                         local
group         MyRWGroup         usm                         local

view                 all                 included         .1

access         MyRWGroup         ""           any                 noauth          exact  all  all   none
*****************************************************************************

源码分析:
表的列的数据结构,包含输出宽度、子oid、列的名称,还有输出格式:
struct column {
    int             width;
    oid             subid;
    char           *label;
    char           *fmt;
}              *column = NULL;

lable:列的名称;
fmt:列输出格式,在函数print_table()中用到。

void            usage(void);
参数输入不对时,程序用该函数友好提示正确用法。

void            get_field_names(void);
根据root(表的OID),获取表名(table_name)、获取表的列的个数(fields)和各列的名称(在column[]中)。

void            get_table_entries(netsnmp_session * ss);
用SNMP_MSG_GETNEXT获取表的数据,和表的行的个数(entries)。

void            getbulk_table_entries(netsnmp_session * ss);
用SNMP_MSG_GETBULK获取表的数据,和表的行的个数(entries)。


表内容的数据结构(在附件里,且是word格式):


源码:
在附件里。


[ 本帖最后由 dexinmeng 于 2008-5-17 15:30 编辑 ]

表内容的数据结构(图)

表内容的数据结构(图)

snmp.conf.tar.bz2

479 Bytes, 下载次数: 207

snmp.conf配置文件

snmpd.conf.tar.bz2

375 Bytes, 下载次数: 167

snmpd.conf配置文件

表内容的数据结构.rar

3.23 KB, 下载次数: 279

表内容的数据结构(word)

my_snmptable.rar

5.86 KB, 下载次数: 365

源码

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP