Windows下Mib2c工具的安装和使用
来源:互联网 发布:公路计算软件 编辑:程序博客网 时间:2024/06/04 18:45
一 编译net-snmp5.5源码,安装及测试net-snmp-5.5.0-1.x86.exe。可以参考“Net-Snmp 使用介绍 .doc”;
二.安装mib2c工具
使用mib2c时先安装perl module。
1.解压安装ActivePerl-5.8.8.822-MSWin32-x86-280952.zip。默认安装就行;安装成功后,在命令行输入perl命令,就不收到命令错误的提示;
2.将netsnmp.lib的路径加到环境变量中,否则运行下边命令时会提示netsnmp.lib找不到,具体方法(我的电脑->属性->高级->环境变量,对lib编辑,在他的值中加入netsnmp.lib 所在的目录(net-snmp源码中的\win32\lib\debug目录),我的是E:\net-snmp-5.5\net-snmp-5.5\win32\lib\debug , 注意:多个目录用.;间隔)
进入net-snmp源文件的perl目录下,运行以下命令:
(1)perl makefile.pl
之后会提示输入mibs目录和snmpd.exe所在的目录,分别输入C:\usr\share\snmp\mibs和C:\bin
如果成功,会生成makefile文件
(2)nmake
Nmake是vc带的命令,(在vc安装文件夹下有nmake.exe);如果没有该命令,从新装vc 6.0;
(3)nmake install
之后就安装perl module成功了;
注意:有时候运行nmake会失败,把其它机器上安装好的c:\perl\site\lib目录下的文件拷贝过来,也可以运行。
成功的话,现在mib2c工具应该就可以用了;
三 。用mib2c生成模板源代码
编写自己的mib文件,并将其放到 C:\usr\share\snmp\mibs目录下;
从CMD中进入C:\usr\share\snmp目录
运行以下命令:
1)set MIBFILES=C:\usr\share\snmp\mibs\PROBA-MIB.txt 将新的mib文件(我的是PROBA-MIB.txt)加入环境变量,否则执行下一步时会报错;
2 )mib2c -c mib2c.scalar.conf baseinfo
baseinfo 是我的mib文件中定义的一个节点;
会按照模板配置文件mib2c.scalar.conf生成baseinfo.h和baseinfo.c文件(在C:\usr\share\snmp目录下);
注意:待转换的节点如果不是顶层叶子节点的话,上一步命令可能会出错;提示出现perl.exe的错误提示框;并且显示perl脚本文件mib2c出现错误,line 845;
解决办法:
打开C:\usr\bin下的mib2c文件,将845 846 847 行的代码屏蔽掉:
# @thekeys = sort {
# new NetSNMP::OID($a) <=>
# new NetSNMP::OID($b) } @thekeys;
在执行mib2c转换命令就行了;
四 将生成的.c和.h 文件编译进net-snmp工程;
1)把baseinfo.h和baseinfo.c文件拷贝到net-snmp源文件下agent/mibgroup目录下;
2)打开win32.dsw,将其添加到netsnmpmibs工程;
3)打开net-snmp源文件下win32目录下的mib_module_incl?s.h,添加:
#incl? "mibgroup/proba/baseinfo.h"
4)打开net-snmp源文件下win32目录下的mib_module_inits.h,添加:
if (should_init("baseinfo")) init_baseinfo();
5)重新编译netsnmpmibs工程和snmpd工程,把生成的snmpd.exe拷贝到c:\usr\bin,
注意:
生成的.c和.h文件中有许多让用户自己修改的地方;如:其中部分代码
snmp_set_var_typed_val(reqsts->reqstvb, ASN_OCTET_STR,
(u_char *) /* XXX: a pointer to the scalar's data */,
/* XXX: the length of the data in bytes */);
为了简单的验证可以改成:
snmp_set_var_typed_val(reqsts->reqstvb, ASN_OCTET_STR,
(u_char *)"proba",
strlen("proba"));
把生成的snmpd.exe拷贝到c:\usr\bin之后,就可以测试新建的节点了;
snmpget -v 2c -c p lic -m all p:localhost:161 probaCmopName.0 (probaCompName是baseinfo节点下的子节点);
就能查到刚才新建的节点的信息了;
- Windows下Mib2c工具的安装和使用
- windows下安装和配置net-snmp和mib2c
- 关于windows下mib2c工具只能转换顶层节点的问题
- net-snmp windows安装(mib2c)
- net-snmp windows安装(mib2c)
- Windows下Subversion的安装和使用
- windows下redis的安装和使用
- windows下git的安装和使用
- Windows下Redis的安装和使用
- windows下Qt的安装和使用
- windows下gcc的安装和使用
- windows下kafka的安装和使用
- 调试MIB2C的经验和一个例子
- windows 下的 socat 工具下载地址和使用
- 配置mib2c工具
- windows下安装redis 缓存程序的安装和使用
- Linux下的sniffer工具--Tcpdump的安装和使用
- Linux下的sniffer工具--Tcpdump的安装和使用
- windows 下socket 编程
- 简单网络管理协议(SNMP)
- windows下安装vc6.0和其PSDK
- windows server 2008 DNS ,DHCP 服务器的配置(支持IPv6) :
- windows下安装和配置net-snmp和mib2c
- Windows下Mib2c工具的安装和使用
- 关于windows下mib2c工具只能转换顶层节点的问题
- 久违的月赛之二
- Android 开发人员必须掌握的 10 个开发工具
- 10年时光留下远去的背影 再见皮尔洛!米兰一代传奇!(转)
- 十年前、十年后...献给集体奔三的80后
- 一哥们拒绝女生的N种理由,笑不死你不算完!
- 【引用】如何在Linux中配置YUM
- 【引用】什么是AT指令集