文档详情

关于snmp与windows的实验报告.doc

发布:2015-09-13约2.41千字共9页下载文档
文本预览下载声明
关于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
显示全部
相似文档