返回信息流一、准备工作
1、安装Microsoft Visual Studio 2005,其中Visual C++为必选组件
2、安装Active Perl解析器至C:\usr目录下
该步骤必须执行,否则在后期执行配置操作时,会提示没有安装perl解析器的错误,从而无法自动配置。
二、编译NET-SNMP源文件(基于readme.win32中的Microsoft Visual C++ - Workspace - Building部分)
1、配置默认安装路径,打开net-snmp-5.1.3\win32\net-snmp\net-snmp-config.h,将第8行改为#define INSTALL_BASE "C:/usr"
在net-snmp-config.h文件中,所有的路径都是使用UNIX下的/符号,如果将其改为Windows下的\符号的话,反而会在后期配置时出现路径错误。
2、在Visual Studio 2005中打开net-snmp-5.1.3\win32\win32.dsw,点击“全部都是”转换工作空间。
3、单击菜单栏的“生成”下的“配置管理器”,将活动解决方案配置从Debug改成release。此处也可以不修改,但是在后面的安装过程中,需要加入“-debug”参数。(后续内容以不修改为例)。
4、在右侧解决方案资源管理器中,依次对libagent、libhelpers、libnetsnmptrapd、snmplib、netsnmpmibs这五个项目单击鼠标右键,选择“重新生成”。
5、单击菜单栏的“生成”下的“生成解决方案”。
6、单击菜单栏的“生成”下的“配置管理器”,在“项目上下文中”[color=red]去掉[/color]对libagent、libhelpers、libnetsnmptrapd、snmplib、netsnmpmibs这五个项目的选择,其余不变。
7、单击菜单栏的“生成”下的“重新生成”。
8、编译结束之后,单击菜单栏的“文件”下的“[color=red]关闭解决方案[/color]”,退出。
三、安装NET-SNMP(基于readme.win32中的Microsoft Visual C++ - Workspace - Installing部分)
1、打开net-snmp-5.1.3\win32\install-net-snmp.bat,检查第12行是否为set INSTALL_BASE="c:\usr",不是的话请改成这个。
2、打开命令提示符窗口,进入net-snmp-5.1.3\win32目录下,运行 install-net-snmp.bat -debug 安装。
如果编译的时候将活动解决方案配置改成了release的话,直接运行install-net-snmp.bat即可。
3、拷贝net-snmp-5.1.3\win32\local\*.bat文件至C:\usr\bin目录下。
该步骤本应该在执行批处理的时候自动执行,但实际上这些文件并没有被拷贝过去,所以我们必须手动进行,否则无法配置。
四、检查文件是否完整,在C:\usr\bin目录下应该存在下列22个文件
mib2c.bat、snmpconf.bat、traptoemail.bat、snmpconf、snmpbulkget.exe、 snmpbulkwalk.exe、snmpd.exe、snmpdelta.exe、snmpdf.exe、snmpget.exe、 snmpgetnext.exe、snmpnetstat.exe、snmpset.exe、snmpstatus.exe、 snmptable.exe、snmptest.exe、snmptranslate.exe、snmptrap.exe、snmptrapd.exe、 snmpusm.exe、snmpvacm.exe、snmpwalk.exe
五、配置NET-SNMP(基于readme.win32中的Configuring Net-SNMP部分)
1、打开C:\usr\bin\snmpconf.bat,检查第2行是否为set MYPERLPROGRAM=c:\usr\bin\snmpconf,不是的话请改成这个。
2、打开C:\usr\bin\snmpconf,查找所有/usr/local/并替换为C:/usr/。
该步骤必须执行,snmpconf中的文件路径采用的是UNIX下的/usr/local/,这里必须改为Windows下的C:/usr/,但/符号仍然保持UNIX下的/符号,不用改成windows下的\符号,否则运行时会提示无法创建路径。
3、运行 snmpconf -i
4、选择 3: snmp.conf
5、选择 3: Textual mib parsing
6、选择 1: Specifies directories to be searched for mibs.
7、输入 c:\usr\share\snmp\mibs
8、输入 finished回车 finished回车 quit回车,正常退出。
9、将C:\usr\share\snmp目录下的snmp.conf拷贝至C:\usr\etc\snmp目录。
10、拷贝net-snmp-5.1.3\win32\EXAMPLE.conf.win32至C:\usr\etc\snmp目录下,并改名snmpd.conf
11、打开刚刚拷贝的snmpd.conf,将第71行改为com2sec local localhost public
原文件中71行的COMMUNITY部分必须被改成public,COMMUNINTY只是个例子,不修改的话后期无法正常执行。
12、删除或者注释掉第72行。
理由与上一条相同,NETWORK/24也只是个例子。
六、运行NET-SNMP
1、打开一个命令提示符窗口,运行 snmpd -f -Le -d
2、提示如下则正确运行:
NET-SNMP version 5.1.3
3、新开一个命令行窗口,运行 snmpget -c public -v 2c localhost system.sysUpTime.0
4、当前窗口提示如下:
SNMPv2-MIB::sysUpTime.0 = Timeticks: (8279) 0:01:22.79
5、原命令行窗口提示如下:
Received 41 bytes from 127.0.0.1 76
0000: 30 27 02 01 01 04 06 70 75 62 6C 69 63 A0 1A 02 0'.....public... SMM)
0016: 02 0F BC 02 01 00 02 01 00 30 0E 30 0C 06 08 2B .........0.0...+
0032: 06 01 02 01 01 03 00 05 00 .........
Received SNMP packet(s) from 127.0.0.1
GET message
-- SNMPv2-MIB::sysUpTime.0
Sending 43 bytes to 127.0.0.1
0000: 30 29 02 01 01 04 06 70 75 62 6C 69 63 A2 1C 02 0).....public...
0016: 02 0F BC 02 01 00 02 01 00 30 10 30 0E 06 08 2B .........0.0...
0032: 06 01 02 01 01 03 00 43 02 20 57 .......
[原文] http://blog.ourconan.com.cn/blog.php?do-showone-type-blog-itemid-2118.html
这是一条镜像帖。来源:北邮人论坛 / windows / #61422同步于 2008/4/16
Windows机器人发帖
[转]在Windows环境下编译NET-SNMP的具体实现步骤
aiyaya
2008/4/16镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。