当前位置:网站首页>SNMP协议相关资料

SNMP协议相关资料

2020-12-06 23:30:07 havealex

SNMP协议相关资料

简介

SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。

SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB,改进后的协议就是著名的SNMP。基于TCP/IP的SNMP网络管理框架是工业上的现行标准,由3个主要部分组成,分别是管理信息结构SMI(Structure ofManagement Information)、管理信息库MIB和管理协议SNMP。

SMI定义了SNMP框架所用信息的组织和标识,为MIB定义管理对象及使用管理对象提供模板。 MIB定义了可以通过SNMP进行访问的管理对象的集合。 SNMP协议是应用层协议,定义了网络管理者如何对代理进程的MIB对象进行读写操作。 SNMP中的MIB是一种树状数据库,MIB管理的对象,就是树的端节点,每个节点都有唯一位置和唯一名字.IETF规定管理信息库对象识别符(OID,Object Identifier)唯一指定,其命名规则就是父节点的名字作为子节点名字的前缀。

组成部分

一个SNMP管理的网络由下列三个关键组件组成:

  • 网络管理系统(NMS,Network-management systems)
  • 被管理的设备(managed device)
  • 代理者(agent) 网络管理系统运行应用程序,以该应用程序监视并控制被管理的设备。也称为管理实体(managingentity),网络管理员在这儿与网络设备进行交互。网络管理系统提供网络管理需要的大量运算和记忆资源。一个被管理的网络可能存在一个以上的网络管理系统。 被管理的设备是一个网络节点,它包含一个存在于被管理的网络中的SNMP代理者。被管理的设备通过管理信息库(MIB)收集并存储管理信息,并且让网络管理系统能够通过SNMP代理者取得这项信息。 代理者是一种存在于被管理的设备中的网络管理软件模块。代理者控制本地机器的管理信息,以和SNMP兼容的格式传送这项信息。

相关资料

-基于W5500+STM32的SNMP协议应用

-用SNMP协议实现系统监控

《Visual C++开发基于SNMP的网络管理软件(第2版)》.武孟军.2009年.人民邮电出版社.pdf

snmp的c#实现

发现有一个库相当的好用,SnmpSharpNet。官方网站为:http://www.snmpsharpnet.com/

snmp的C++和Java实现库

  • net-snmp
  • SNMP++ SNMP++v3.x is based on SNMP++v2.8 from HP and extends it by support for SNMPv3 and a couple of bug fixes. SNMP++v3.x is a C++ API which supports SNMP v1, v2c, and v3. The v3 support for SNMP++ is provided by courtesy of Jochen Katz (katz07@agentpp.com).

SNMP++v3.x extends the original SNMP++v2.8 code base by the following: SNMPv3 including User Security Model (USM) with: MD5, SHA, and SHA-2 authentication protocols DES (CBC), AES (128/192/256 bit), 3DES (EDE) privacy protocols Thread-safety Bug-fixes

  • SNMP4J SNMP4J is an enterprise class free open source SNMP implementation for Java SE. The following SNMP versions and security protocols are supported:

    • SNMP v1, v2c, and v3
    • MD5, SHA, and SHA-2 authentication protocols
    • DES (CBC), AES (128/192/256 bit), 3DES (EDE) privacy protocols SNMP4J as a built-in interface for MIB data (implemented by SNMP4J-SMI-PRO) for seamless usage of MIB object names instead of cumbersome object identifiers (OIDs).
  • AgenPro AgenPro is the most advanced and flexible code generation software available for SNMP development today.

With its open-source code generation back-end, AgenPro provides you full control about format, scope, target API, and even programming language of the generated code. Ready-to-use templates are included for:

- SNMP4J-Agent/-AgentX
- AGENT++/AgentX++.

The features are rounded out by a built-in SNMPv1/v2c/v3 agent simulator with live data editing for easy testing of command generator applications.

AGENTPP SNMP software is dedicated to make the simple in Simple Network Management Protocol come true for developing SNMP agents and applications (Java/C++) as well as authoring (SMI) MIBs. Our software packages achieve this objective by a clear and true object oriented design and implementation.

Standard conformance, long term maintainability, and usability are leading goals for any AGENTPP development. As a matter of course, all security relevant APIs are available as open source for maximum transparancy.

VS2017编译SNMP++步骤记录

WinSNMP API

Nodejs snmp API

Nodejs有几个关于snmp协议的库:

  • net-snmp JavaScript implementation of the Simple Network Management Protocol (SNMP)
  • snmp-node This is a native SNMP library for Node.js. The purpose is to provide enough functionality to perform large scale monitoring of network equipment.
  • snpm snmp for node.js 这个库9年多没更新了,最好别用。

版权声明
本文为[havealex]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4609891/blog/4777168