关于snmp与windows的实验报告.doc
文本预览下载声明
关于snmp与windows的实验报告
一实验目的
1 了解并实践在windows下snmp的配置。
2 熟悉在windows 环境下snmp内部函数的调用方法。
3 对书中所给的关于snmp函数调用的例子进行调试。
二实验步骤
1 在windows 环境下安装并配置snmp 代理
安装必备的软件Visual c++
在Vc++环境下调用snm内部函数。
对书中的例子调试并检验。
三具体操作
1 在windows 环境下安装并配置snmp 代理
二、将简单网络管理协议(SNMP)以及WMI_SNMP勾选上,如下图所示:
选中“计算机”,点击右键,选择“管理”,在左侧,选择“服务和应用程序”-“服务”,在右侧找到“SNMP Service”,双击选择。
在弹出的对话框中,选择“安全”选项卡,点击“添加”,在弹出的对话框中,社区名称填入任意字符串,点击“添加”,最后点击“应用”。
2 安装必备的软件Visual c++
由于调试的过程中用到的头文件 snmp.h mgmtapi.h 只有Vc++ 中才提供,所以需要安装Vc++。具体安装过程不再详细介绍。
3 在Vc++ 环境下调用snmp内部函数。
书中例子的具体实现与检验结果
P180 例 5
#include snmp.h
#include stdio.h
#include windows.h
typedef int(_stdcall *Ocmp)(AsnObjectIdentifier *,AsnObjectIdentifier * );
void main()
{
int nResult;
UINT dwA[]={1,3,6};
UINT dwB[]={1,3,6,1,2,1,1};
HINSTANCE lh;
Ocmp myocmp;
lh=LoadLibrary(snmpapi.dll);
myocmp=(Ocmp)GetProcAddress(lh,SnmpUtilOidCmp);
AsnObjectIdentifier OidA={sizeof(dwA)/sizeof(UINT),dwA};
AsnObjectIdentifier OidB={sizeof(dwB)/sizeof(UINT),dwB};
nResult=(* myocmp)(OidA,OidB);
printf(%d,nResult);
FreeLibrary(lh);
}
运行结果:
p180 例6
#include snmp.h
#include stdio.h
#include windows.h
typedef int(_stdcall *Ocmp)(AsnObjectIdentifier *,AsnObjectIdentifier*,UINT);
void main()
{
int nResult;
UINT dwA[]={1,3,6,2};
UINT dwB[]={1,3,6,1};
HINSTANCE lh;
Ocmp myocmp;
lh=LoadLibrary(snmpapi.dll);
myocmp=(Ocmp)GetProcAddress(lh,SnmpUtilOidCmp);
AsnObjectIdentifier OidA={sizeof(dwA)/sizeof(UINT),dwA};
AsnObjectIdentifier OidB={sizeof(dwB)/sizeof(UINT),dwB};
nResult=(* myocmp)(OidA,OidB,3);
printf(%d\n,nResult);
FreeLibrary(lh);
}
运行结果:
P202 例1
#include mgmtapi.h
#include windows.h
#include stdio.h
typedef int(_stdcall *sto)(LPSTR,AsnObjectIdentifier *);
void main()
{
HINSTANCE lh;
sto mysto;
lh=LoadLibrary(mgmtapi.dll);
mysto=(sto)GetProcAddress(lh,SnmpMgrStrToOid);
AsnObjectIdentifier oid;
(* mysto)(1.1,oid);
printf(%d,oid.idLength);
FreeLibrary(lh);
}
运行结果:
p202
显示全部