SNMP协议及编程实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CStringArray* pOidArray, smiLPVALUE pValueArray);—发送SNMP命令,读取指 定的OID变量值 3. bool Receive(CStringArray* pOidArray, CStringArray* pValueArray);—接收代理回送 的变量值 4. bool Register(HWND hWnd);—注册SNMPTrap服务,指定SNMP控制台的窗口句柄
代理—被管理设备
管理代理(agent)是一种特殊的软件(或固件),它 包含了关于一个特殊设备和/或该设备所处环境的信息。 当一个代理被安装到一个设备上时,上述的设备就被 列为“被管理的”。换句话说,代理就是一个数据库。
• 网络管理工作站可以从代理中获得关于设备的信息。 • 网络管理工作站可以修改、增加或者删除代理中的表项,例 如在由代理所维护的数据库中的路由选择表表项。 • 网络管理工作站可以为一个特定的自陷设置阈值。 • 代理可以向网络管理工作站发送自陷。
以上所有功能已经集成在JSSnmp.h和JSSnmp.cpp中,
1. bool Start(HWND hWnd, UINT wMsg);—启动Snmp,指定消息回送的目标窗口句柄 2. bool Send(LPCSTR strDstIP, smiINT nActionType, const char* pCommunity, _
SNMP协议及编程实现 讲座
主讲人:王华鑫 2007年02月12日
SNMP: Simple Network Management Protocol
简单网络管理协议,1990年V1,1993年的V2是目前 TCP/IP网络中应用最为广泛的网络管理协议。 特点: • SNMP易于实现 • 开放的免费产品 • 严格标准化,详细的文档资料 • SNMP协议可用于控制各种设备,可接入网络且需
WinSNMP实现步骤(二):
a.接收数据报文,调用SnmpRecvMsg() 函数; b.提取协议数据单元内的数据,调用SnmpGetPduData() 函数; c.取得变量绑定表中变量绑定的数量,调用SnmpCountVbl()函数; d.记录变量绑定表中每个变量绑定的标识OID及其值Value,调用
要控制的设备
基于TCP/IP的网络管理的四个组成部分 (1) 管理信息库(MIB),包含代理进程可能被查询 或修改的所有参数,即被管理对象的参数。
(2) 管理信息结构(SMI),管理信息是一个被管理 对象的集合,SMI定义了一个设备维护的规则集,用 于对被管理对象进行命名和编码。
(3) SNMP协议,管理进程和代理进程之间的通信协 议。SNMP是应用层协议,其下层协议一般为UDP, 管理进程端口号为162,代理进程端口号为161。 (4) 安全机制,在SNMPv1中安全机制很简单,v2和 v3在安全机制上作了一些改善。
SnmpGetVbl() 函数; e.对各绑定表中的值Value,按Value值的语法类型,用Case语句转换成字符
串形式的Value值; f.将各变量绑定中的标识OID转换成字符串,调用SnmpOidToStr()函数; g.存储字符串形式的OID标识及Value值到相应的数据表格中。
重点
1.动态链接库winsnmp32.dll 2.库文件wsnmp32.lib 3.头文件winsnmp.h 4.自定义消息WM_SNMPMESSAGE_GET 5.接收代理回送数据的消息处理函数OnSnmpReceive()
结束
谢谢各位
网络管理站(NMS)和网络管理代理(Agent)之间端到端的 SNMP连接。
WinSNMP以函数的形式封装了SNMP协议的各部分,且针对 SNMP是使用源自文库DP的特点而设置了消息重传、超时机制等。
WinSNMP实现步骤(一):
a.启动WinSNMP,调用SnmpStartup()函数; b.创建会话,调用SnmpOpen()函数; c.设置重传模式,调用SnmpSetRetransmitMode() 函数; d.创建共同体名,调用SnmpStrToContext()函数; e.分别创建管理者实体和代理实体,调用SnmpStrToEntity() 函数; f.分别设置管理者实体和代理实体的重传次数,调用SnmpSetRetry() 函数; g.分别设置管理者实体和代理实体的超时时间,调用SnmpSetTimeout()函数; h.创建读取对象的OID,调用SnmpStrToOid()函数; i.创建变量绑定表,调用SnmpCreateVbl()函数; j.指定协议数据单元的内容,并生成协议数据单元,调用SnmpCreatePdu()函数; k.发送请求报文,调用SnmpSendMsg()函数; l.释放暂时不用资源,调用SnmpFree()函数。
SNMP管理信息库MIB
MIB指明了网络元素所维持的变量(即能够被管理 进程查询和设置的信息)。MIB给出了一个网络中 所有可能的被管理对象的集合的树型数据结构。
MIB节点定义形式:1.3.6.1.4.1.19554.x1.x2……其中 19554是JiaSin的企业标记,x1.x2...是设备的某状态 或属性。
PDU类型:get-request, get-next-request, get-response, set-request, trap。其中get-response与trap的方向是代 理向网管主机发送。
Snmp在Windows下的实现—WinSNMP
在Windows中采用Winsock接口,在161,162端口通过UDP传 送信息。Windows2000及以上版本支持WinSNMP API,提供在 Windows下开发基于SNMP的网络管程序提供解决方案。
相关文档
最新文档