博文
转用VC++6.0实现SNMP协议的方法(zt)(2009-02-10 11:09:00)
摘要:SNMP(Simple Network Management Protocol)是简单网络管理协议,主要用来管理网络设备,正因为“简单”,所以其发展很快,到目前为止几乎所有的网络产品都要为其提供支持,以方便管理员的管理和软件开发人员的开发。
在这里我们不对有关SNMP的概念和基础知之作过多地阐述,一且假定你对其工作原理有了一定的了解,而仅缺的是如何去实现他。
我们所阐述的是基于VC6.0下的SNMP编程。详细介绍一下有关SNMP编程的过程及API函数的用法,在遇到难于理解的部分,我会以较大的篇幅作以解释。言归正传,进入我们的主题。
首先来阐述几个重要的概念:
1、community (共同体名):如果翻译过来可能会显得难于理解,其实你完全可以把它理解为一个带有权限的登陆账户,这是你访问网络设备的重要凭据,比如你要访问交换机,假如交换机的community是public,其权限是只读的,那你一次用户登陆交换机就可以查看有关交换机记录的数据。如果其权限是读写的,你你就有权修改其中的一些设置,如封锁某一个交换机的端口。大部分交换机默认情况下,以public作为只读community,以private作为读写community。
2、Oid(对象标志符):是以SMI(Structure of Management Information)管理信息结构为基础的一系列点分符号,如1.3.6.1.2.1.1.1,这些点分符号在任何网络设备中都唯一标识某一个数据参数。他们的集合我们称为MIB(Management Information Base)管理信息库。对于他们所标识的意义,读者可以到网上查询一下,提供一个简单的寻找办法,你可以进入google,直接输入1.3.6.1.2.1.1等点分字符串。
下面进入我们的正题。
和其他编程过程一样,整个SNMP编程也要经过一个创建,执行,销毁的过程,通俗点说就是要做准备,初始化SNMP环境即加载SNMP的功能,接着就要执行所进行的操作,SNMP是基于消息机制的,所以消息传递与管理是我们在编程中所必须注意的问题,最后要进行销毁和回收资源,这一点相信编程人员
都会注意到。以下我们按步骤给予详细介绍:
1、加载S......