近來想學習snmp方面的,但是網上搜了很少這方面的書,Visual C++開發基於SNMP的網絡管理軟件(第2版)只有這本看上去比較實用,可惜的是沒有pdf版下載。
http://blog.sina.com.cn/s/blog_56f098eb0100099m.html 這里有五六篇是vc6使用snmp的筆記
所以決定使用snmp++還操作snmp,首先去http://www.agentpp.com/snmp_pp3_x/download_snmp_ppv3/download_snmp_ppv3.html
主要的是下載 libdes以及snmp++ |
再去百度文庫下載snmp++中文說明資料。
以下為網上轉載,由於之前保存為txt文本文件,現在不知網址出在那里。
vc6.0編譯snmp++生成snmp_pp.lib F#CC++C#Microsoft.1、首先下載snmp++v3.2.25(snmp++v3.2.25.tar.gz)和libdes-l-4.01a(libdes-l-4.01a.tar.gz)
http://www.agentpp.com/snmp_pp3_x/download_snmp_ppv3/download_snmp_ppv3.html
此處提供了官方鏈接,下載完畢后解壓即可
注意:
Please note that the SNMPv3 support in SNMP++ can be disabled by undefining _SNMPv3 in
config_snmp_pp.h. In that case the DES library is optional.
由於支持為了snmpv3,libdes-l-4.01a.tar.gz是必需的,如果不需要支持,可以將config_snmp_pp.h中
// #define _NO_SNMPv3 前的注釋符號去掉
2、打開vc6.0,File->new->Projects 選擇 Win32 Static Library
工程名字為snmp_pp 點擊OK Finish即可
切換到FileView,可以看到Source Files和Header Files
右鍵點擊Source Files,選擇Add Files to Folder,將snmp++v3.2.25\snmp++\src下的所有cpp文件添加進來
同時將libdes-l-4.01a\libdes下的所有c文件添加進來
鍵點擊Header Files,選擇Add Files to Folder,將snmp++v3.2.25\snmp++\include\snmp_pp下所有.h文件
添加進來
同時將libdes-l-4.01a\libdes下的所有.h文件添加進來
3、Tools->Options,選擇Directories,添加目錄
F:\snmp++v3.2.25\snmp++\include
F:\snmp++v3.2.25\snmp++\include\snmp_pp
F:\libdes-l-4.01a\libdes
根據自己的解壓目錄決定
4、Project->Settings,選擇C/C++
Category設置為Code Generation
User run-time library設置為Debug Multithreaded
5、Build->Build snmp_pp.lib
提示錯誤
F:\snmp++v3.2.25\snmp++\src\auth_priv.cpp(286) : error C2371: 'i' : redefinition; different basic types F:\snmp++v3.2.25\snmp++\src\auth_priv.cpp(267) : see declaration of 'i'
解決:打開文件auth_priv.cpp,錯誤原因是變量i重復定義,將267行
for (int i = 0; i < auth_size; i++) auth[i] = 0;
改為
for (int m = 0; m < auth_size; m++) auth[m] = 0;
次編譯即可成功,將編譯后的snmp_pp.lib拷貝到Microsoft Visual Studio\VC98\Lib,即可使用(方便)
snmp基本資料,需要查看tcp/ip協議那本書。
建一個工程,把snmp_pp.lib加入工程里。
Oid o1("1.3.6.1.2.1.7.1");
MessageBox(o1.get_printable());
可以顯示1.3.6.1.2.1.7.1表示環境已OK
上面的oid是對象標識