SNMP网管学习笔记
一、 Net-SNMP的编译及安装
编译环境:win7,VC2008
解压net-snmp-5.7.1.zip
运行cmd到DOS窗口下;
cd C:\ProgramFiles\Microsoft Visual Studio 9.0\VC
vcvarsall.bat
到win32目录下:cd net-snmp-5.7.1\win32
执行build.bat
出现下面的信息:
Net-SNMP build and install options
==================================
1. OpenSSL support: disabled
2. Platform SDK support: disabled
3. Install path: c:/usr
4. Install after build: enabled
5. Perl modules: disabled
6. Install perl modules: disabled
7. Quiet build (logged): enabled
8. Debug mode: disabled
9. IPv6 transports (requiresSDK): disabled
10. winExtDLL agent (requires SDK): disabled
11. Link type: static
12. Install development files disabled
F. Finished - start build
Q. Quit - abort build
按相应的菜单项如2+回车,则使Platform SDK support 为enable.同样设置5,6,12为enable.设置完成后,按f+回车开始编译.
在环境变量中增加lib变量,并将c:\usr\lib追加到其中.
cd D:\SNMP\net-snmp-5.7.1\perl
perlmakefile.pl
Unable to locate the MIBs, Please enter thepath: [] C:\usr\share\snmp\mibs
Unable to locate "snmpd". Pleaseenter the path: [\sbin] C:\usr\bin
Unable to locate "snmptrapd".Please enter the path: [\sbin]C:\usr\bin
nmake
nmakeinstall
之后出现:
InstallingC:\Perl\site\lib\auto\NetSNMP\TrapReceiver\Tra
InstallingC:\Perl\site\lib\auto\NetSNMP\TrapReceiver\Tra
InstallingC:\Perl\site\lib\auto\NetSNMP\TrapReceiver\Tra
Installing C:\Perl\site\lib\auto\SNMP\SNMP.dll
InstallingC:\Perl\site\lib\auto\SNMP\SNMP.exp
InstallingC:\Perl\site\lib\auto\SNMP\SNMP.lib
InstallingC:\Perl\site\lib\auto\SNMP\SNMP.pdb
InstallingC:\Perl\html\site\lib\NetSNMP\OID.html
Appending installation info to C:\Perl\lib/perllocal.pod
此后,就可以使用mib2c了
二、 MIB文件的编写
1. MIB树状结构认知
MIB 对象按逻辑关系组织在一个称做树结构的层次结构中。每个 MIB 对象都有一个名称,这个名称从它在树结构中所处的位置派生出来。这个名称叫做对象标识符,通过跟踪从树结构顶部(或叫根)至其底部(即对象本身)的路径而创建。路径分支处的每个位置称为节点。节点可同时拥有父节点和子节点。如果一个节点没有子节点,它就称做叶节点。叶节点是实际的 MIB 对象。只有叶节点才从代理程序处返回 MIB 值。下图显示了一个 MIB 的树形结构。
一个完整的 MIB 对象标识符包括从根开始、包括叶节点在内的所有节点。各节点由句点连接和分隔,这是一种点分十进制表示法。例如,