当前位置:文档之家› 简单网络管理协议(SNMP)入门

简单网络管理协议(SNMP)入门

简单网络管理协议(SNMP)入门

简单网络管理协议(SNMP)在体系结构分为被管理的设备(Managed Device)、SNMP管理器(SNMP Manager)和SNMP代理(SNMP Agent)三个部分。被管理的设备是网络中的一个节点,有时被称为网络单元(Network Elements),被管理的设备可以是路由器、网管服务器、交换机、网桥、集线器等。每一个支持SNMP的网络设备中都运行着一个SNMP代理,它负责随时收集和存储管理信息,记录网络设备的各种情况,网络管理软件再通过SNMP通信协议查询或修改代理所记录的信息。

SNMP代理是驻留在被管理设备上的网络管理软件模块,它收集本地计算机的管理信息并将这些信息翻译成兼容SNMP协议的形式。

SNMP管理器通过网络管理软件来进行管理工作。网络管理软件的主要功能之一,就是协助网络管理员完成管理整个网络的工作。网络管理软件要求SNMP 代理定期收集重要的设备信息,收集到的信息将用于确定独立的网络设备、部分网络或整个网络运行的状态是否正常。SNMP管理器定期查询SNMP代理收集到的有关设备运转状态、配置及性能等的信息。

SNMP使用面向自陷的轮询方法(Trap-directed polling)进行网络设备管理。一般情况下,网络管理工作站通过轮询被管理设备中的代理进行信息收集,在控制台上用数字或图形的表示方式显示这些信息,提供对网络设备工作状态和网络通信量的分析和管理功能。当被管理设备出现异常状态时,管理代理通过SNMP自陷立即向网络管理工作站发送出错通知。当一个网络设备产生了一个自陷时,网络管理员可以使用网络管理工作站来查询该设备状态,以获得更多的信息。

管理信息数据库(MIB)是由 SNMP代理维护的一个信息存储库,是一个具有分层特性的信息的集合,它可以被网络管理系统控制。MIB定义了各种数据对象,网络管理员可以通过直接控制这些数据对象去控制、配置或监控网络设备。SNMP

通过SNMP代理来控制 MIB数据对象。无论MIB数据对象有多少个,SNMP代理都需要维持它们的一致性,这也是代理的任务之一。现在已经定义的有几种通用的标准管理信息数据库,这些数据库中包括了必须在网络设备中支持的特殊对象,所以这几种MIB可以支持简单网络管理协议(SNMP)。使用最广泛、最通用的MIB 是MIB- Ⅱ。此外,为了利用不同的网络组件和技术,还开发了一些其他种类的MIB。

SNMP

Simple Network Management Protocol

简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。它可以在IP,IPX,AppleTalk,OSI以及其他用到的传输协议上被使用。

SNMP事实上指一系列网络管理规范的集合,包括协议本身,数据结构的定义和一些相关概念。

简单网络管理协议(SNMP)是最早提出的网络管理协议之一,它一推出就得到了广泛的应用和支持,特别是很快得到了数百家厂商的支持,其中包括IBM,HP,SUN等大公司和厂商。目前SNMP已成为网络管理领域中事实上的工业标准,并被广泛支持和应用,大多数网络管理系统和平台都是基于SNMP的。

一、SNMP概述

SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet 上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

SNMP的体系结构是围绕着以下四个概念和目标进行设计的:保持管理代理

(agent)的软件成本尽可能低;最大限度地保持远程管理的功能,以便充分利用Internet的网络资源;体系结构必须有扩充的余地;保持SNMP的独立性,不依赖于具体的计算机、网关和网络传输协议。在最近的改进中,又加入了保证SNMP 体系本身安全性的目标。

另外,SNMP中提供了四类管理操作:get操作用来提取特定的网络管理信息;get-next操作通过遍历活动来提供强大的管理信息提取能力;set操作用来对管理信息进行控制(修改、设置);trap操作用来报告重要的事件。

二、SNMF管理控制框架与实现

1.SNMP管理控制框架

SNMP定义了管理进程(manager)和管理代理(agent)之间的关系,这个关系称为共同体(community)。描述共同体的语义是非常复杂的,但其句法却很简单。位于网络管理工作站(运行管理进程)上和各网络元素上利用SNMP相互通信对网络进行管理的软件统统称为SNMP应用实体。若干个应用实体和SNMP组合起来形成一个共同体,不同的共同体之间用名字来区分,共同体的名字则必须符合Internet的层次结构命名规则,由无保留意义的字符串组成。此外,一个SNMP 应用实体可以加入多个共同体。

SNMP的应用实体对Internet管理信息库中的管理对象进行操作。一个SNMP应用实体可操作的管理对象子集称为SNMP MIB授权范围。SNMP应用实体对授权范围内管理对象的访问仍然还有进一步的访问控制限制,比如只读、可读写等。SNMP体系结构中要求对每个共同体都规定其授权范围及其对每个对象的访问方式。记录这些定义的文件称为“共同体定义文件”。

SNMP的报文总是源自每个应用实体,报文中包括该应用实体所在的共同体的名字。这种报文在SNMP中称为“有身份标志的报文”,共同体名字是在管理进程和管理代理之间交换管理信息报文时使用的。管理信息报文中包括以下两部分内容:

(1)共同体名,加上发送方的一些标识信息(附加信息),用以验证发送方确实是共同体中的成员,共同体实际上就是用来实现管理应用实体之间身份鉴别的;(2)数据,这是两个管理应用实体之间真正需要交换的信息。

在第三版本前的SNMP中只是实现了简单的身份鉴别,接收方仅凭共同体名来

判定收发双方是否在同一个共同体中,而前面提到的附加倍息尚未应用。接收方在验明发送报文的管理代理或管理进程的身份后要对其访问权限进行检查。访问权限检查涉及到以下因素:

(1)一个共同体内各成员可以对哪些对象进行读写等管理操作,这些可读写对象称为该共同体的“授权对象”(在授权范围内);

(2)共同体成员对授权范围内每个对象定义了访问模式:只读或可读写;

(3)规定授权范围内每个管理对象(类)可进行的操作(包括get,get-next,set和trap);

(4)管理信息库(MIB)对每个对象的访问方式限制(如MIB中可以规定哪些对象只能读而不能写等)。

管理代理通过上述预先定义的访问模式和权限来决定共同体中其他成员要求的管理对象访问(操作)是否允许。共同体概念同样适用于转换代理(Proxy agent),只不过转换代理中包含的对象主要是其他设备的内容。

2.SNMP实现方式为了提供遍历管理信息库的手段,SNMP在其MIB中采用了树状命名方法对每个管理对象实例命名。每个对象实例的名字都由对象类名字加上一个后缀构成。对象类的名字是不会相互重复的,因而不同对象类的对象实例之间也少有重名的危险。

在共同体的定义中一般要规定该共同体授权的管理对象范围,相应地也就规定了哪些对象实例是该共同体的“管辖范围”,据此,共同体的定义可以想象为一个多叉树,以词典序提供了遍历所有管理对象实例的手段。有了这个手段,SNMP 就可以使用get-next操作符,顺序地从一个对象找到下一个对象。get-next(object-instance)操作返回的结果是一个对象实例标识符及其相关信息,该对象实例在上面的多叉树中紧排在指定标识符;bject-instance对象的后面。这种手段的优点在于,即使不知道管理对象实例的具体名字,管理系统也能逐个地找到它,并提取到它的有关信息。遍历所有管理对象的过程可以从第一个对象实例开始(这个实例一定要给出),然后逐次使用get-next,直到返回一个差错(表示不存在的管理对象实例)结束(完成遍历)。

由于信息是以表格形式(一种数据结构)存放的,在SNMP的管理概念中,把所有表格都视为子树,其中一张表格(及其名字)是相应子树的根节点,每个列是根下

面的子节点,一列中的每个行则是该列节点下面的子节点,并且是子树的叶节点,如下图所示。因此,按照前面的子树遍历思路,对表格的遍历是先访问第一列的所有元素,再访问第二列的所有元素……,直到最后一个元素。若试图得到最后一个元素的“下一个”元素,则返回差错标记。

SNMP树形表格结构示意图

SNMP中各种管理信息大多以表格形式存在,一个表格对应一个对象类,每个元素对应于该类的一个对象实例。那么,管理信息表对象中单个元素(对象实例)的操作可以用前面提到的get-next方法,也可以用后面将介绍的get/set等操作。下面主要介绍表格内一行信息的整体操作。

(1)增加一行:通过SNMP只用一次set操作就可在一个表格中增加一行。操作中的每个变量都对应于待增加行中的一个列元素,包括对象实例标识符。如果一个表格中有8列,则set操作中必须给出8个操作数,分别对应8个列中的相应元素。

(2)删除一行:删除一行也可以通过SNMP调用一次set操作完成,并且比增加一行还简单。删除一行只需要用set操作将该行中的任意一个元素(对象实例)设置成“非法”即可。但该操作有一个例外:地址翻译组对象中有一个特殊的表(地址变换表),该表中未定义一个元素的“非法”条件。因此,SNMP中采用的办法是将该表中的地址设置成空串,而空字符串将被视为非法元素。

至于删除一行时,表中的一行元素是否真的在表中消失,则与每个设备(管理代理)的具体实现有关。因此,网络管理操作中,运行管理进程可能从管理代理中得到“非法”数据,即已经删除的不再使用的元素的内容,因此管理进程必须能通过各数据字段的内容来判断数据的合法性。

三、背景知识

SNMP开发于九十年代早期,其目的是简化大型网络中设备的管理和数据的获取。许多与网络有关的软件包,如HP的OpenView和Nortel Networks的Optivity Network Management System,还有Multi Router Traffic Grapher(MRTG)之类的免费软件,都用SNMP服务来简化网络的管理和维护。

由于SNMP的效果实在太好了,所以网络硬件厂商开始把SNMP加入到它们制造的每一台设备。今天,各种网络设备上都可以看到默认启用的SNMP服

务,从交换机到路由器,从防火墙到网络打印机,无一例外。

仅仅是分布广泛还不足以造成威胁,问题是许多厂商安装的SNMP都采用了默认的通信字符串(例如密码),这些通信字符串是程序获取设备信息和修改配置必不可少的。采用默认通信字符串的好处是网络上的软件可以直接访问设备,无需经过复杂的配置。

通信字符串主要包含两类命令:GET命令,SET命令。GET命令从设备读取数据,这些数据通常是操作参数,例如连接状态、接口名称等。SET命令允许设置设备的某些参数,这类功能一般有限制,例如关闭某个 缃涌凇⑿薷穆酚善鞑问 裙δ堋5 芟匀唬珿ET、SET命令都可能被用于拒绝服务攻击(DoS)和恶意修改网络参数。

最常见的默认通信字符串是public(只读)和private(读/写),除此之外还有许多厂商私有的默认通信字符串。几乎所有运行SNMP的网络设备上,都可以找到某种形式的默认通信字符串。

SNMP 2.0和SNMP 1.0的安全机制比较脆弱,通信不加密,所有通信字符串和数据都以明文形式发送。攻击者一旦捕获了网络通信,就可以利用各种嗅探工具直接获取通信字符串,即使用户改变了通信字符串的默认值也无济于事。

近几年才出现的SNMP 3.0解决了一部分问题。为保护通信字符串,SNMP 3.0使用DES(Data Encryption Standard)算法加密数据通信;另外,SNMP 3.0还能够用MD5和SHA(Secure Hash Algorithm)技术验证节点的标识符,从而防止攻击者冒充管理节点的身份操作网络。有关SNMP 3.0的详细说明,请参见https://www.doczj.com/doc/5714523691.html,/rfc/rfc2570.txt。

虽然SNMP 3.0出现已经有一段时间了,但目前还没有广泛应用。如果设备是2、3年前的产品,很可能根本不支持SNMP 3.0;甚至有些较新的设备也只有SNMP 2.0或SNMP 1.0。

即使设备已经支持SNMP 3.0,许多厂商使用的还是标准的通信字符串,这些字符串对黑客组织来说根本不是秘密。因此,虽然SNMP 3.0比以前的版本提供了更多的安全特性,如果配置不当,其实际效果仍旧有限。

四、禁用SNMP

要避免SNMP服务带来的安全风险,最彻底的办法是禁用SNMP。如果你

没有用SNMP来管理网络,那就没有必要运行它;如果你不清楚是否有必要运行SNMP,很可能实际上不需要。即使你打算以后使用SNMP,只要现在没有用,也应该先禁用SNMP,直到确实需要使用SNMP时才启用它。

下面列出了如何在常见的平台上禁用SNMP服务。

■Windows XP和Windows 2000

在XP和Win 2K中,右击“我的电脑”,选择“管理”。展开“服务和应用程序”、“服务”,从服务的清单中选择SNMP服务,停止该服务。然后打开服务的“属性”对话框,将启动类型该为“禁用”(按照微软的默认设置,Win 2K/XP 默认不安装SNMP服务,但许多软件会自动安装该服务)。

■Windows NT 4.0

选择“开始”→“设置”,打开服务设置程序,在服务清单中选择SNMP服务,停止该服务,然后将它的启动类型该为禁用。

■Windows 9x

打开控制面板的网络设置程序,在“配置”页中,从已安装的组件清单中选择“Microsoft SNMP代理”,点击“删除”。检查HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunS ervices和HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows\CurrentVersion\Run注册键,确认不存在snmp.exe。

■Cisco Systems硬件

对于Cisco的网络硬件,执行“no SNMP-server”命令禁用SNMP服务。如果要检查SNMP是否关闭,可执行“show SNMP”命令。这些命令只适用于运行Cisco IOS的平台;对于非IOS的Cisco设备,请参考随机文档。

■HP硬件

对于所有使用JetDirect卡(绝大部分HP网络打印机都使用它)的HP网络设备,用telnet连接到JetDirect卡的IP地址,然后执行下面的命令:

SNMP-config: 0

quit

这些命令将关闭设备的SNMP服务。但必须注意的是,禁用SNMP服务会影响服务的发现操作以及利用SNMP获取设备状态的端口监视机制。

■Red Hat Linux

对于Red Hat Linux,可以用Linuxconf工具从自动启动的服务清单中删除SNMP,或者直接从/etc/services文件删除启动SNMP的行。对于其他Linux系统,操作方法应该也相似。

五、保障SNMP的安全

如果某些设备确实有必要运行SNMP,则必须保障这些设备的安全。首先要做的是确定哪些设备正在运行SNMP服务。除非定期对整个网络进行端口扫描,全面掌握各台机器、设备上运行的服务,否则的话,很有可能遗漏一、二个SNMP 服务。特别需要注意的是,网络交换机、打印机之类的设备同样也会运行SNMP 服务。确定SNMP服务的运行情况后,再采取下面的措施保障服务安全。

■加载SNMP服务的补丁

安装SNMP服务的补丁,将SNMP服务升级到2.0或更高的版本。联系设备的制造商,了解有关安全漏洞和升级补丁的情况。

■保护SNMP通信字符串

一个很重要的保护措施是修改所有默认的通信字符串。根据设备文档的说明,逐一检查、修改各个标准的、非标准的通信字符串,不要遗漏任何一项,必要时可以联系制造商获取详细的说明。

■过滤SNMP

另一个可以采用的保护措施是在网络边界上过滤SNMP通信和请求,即在防火墙或边界路由器上,阻塞SNMP请求使用的端口。标准的SNMP服务使用161和162端口,厂商私有的实现一般使用199、391、705和1993端口。禁用这些端口通信后,外部网络访问内部网络的能力就受到了限制;另外,在内部网络的路由器上,应该编写一个ACL,只允许某个特定的可信任的SNMP管理系统操作SNMP。例如,下面的ACL只允许来自(或者走向)SNMP管理系统的SNMP通信,限制网络上的所有其他SNMP通信:

access-list 100 permit ip host w.x.y any

access-list 100 deny udp any any eq snmp

access-list 100 deny udp any any eq snmptrap

access-list 100 permit ip any any

这个ACL的第一行定义了可信任管理系统(w.x.y)。利用下面的命令可以将上述ACL应用到所有网络接口:

interface serial 0

ip access-group 100 in

总之,SNMP的发明代表着网络管理的一大进步,现在它仍是高效管理大型网络的有力工具。然而,SNMP的早期版本天生缺乏安全性,即使最新的版本同样也存在问题。就象网络上运行的其他服务一样,SNMP服务的安全性也是不可忽视的。不要盲目地肯定网络上没有运行SNMP服务,也许它就躲藏在某个设备上。那些必不可少的网络服务已经有太多让人担忧的安全问题,所以最好关闭SNMP之类并非必需的服务——至少尽量设法保障其安全。

编辑词条

开放分类:

协议、通讯、网络协议、网络管理

参考资料:

https://www.doczj.com/doc/5714523691.html,Snmp site:

2.https://www.doczj.com/doc/5714523691.html,/

3.SoureForge download link:

4.https://www.doczj.com/doc/5714523691.html,/project/showfiles.php?group_id=12694

5.Mail List/Group:

6.https://www.doczj.com/doc/5714523691.html,/mail/?group_id=12694

7.https://www.doczj.com/doc/5714523691.html,/group/https://www.doczj.com/doc/5714523691.html,-snmp-coders/

8.Other useful links:

9.https://www.doczj.com/doc/5714523691.html,/

10.https://www.doczj.com/doc/5714523691.html,/

11.https://www.doczj.com/doc/5714523691.html,/

12.Books:

13.OReilly - <>

基于SNMP的网络管理软件的配置与使用

华北电力大学 实验报告 实验名称基于SNMP的网络管理软件的配置与使用课程名称网络管理 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:

(一)基于SNMP的网络管理软件的配置与使用 一、实验目的 1.熟悉路由器和交换机并掌握路由器和交换机的基本配置方法和配置命令。 2.练习构建一个由四个路由器和四台主机构成的网络。 3.操作SiteView NNM管理系统,掌握如何添加网元,构建管理系统,并每 一个可被管理的设备进行操作。 4.掌握网络管理软件的使用方法,实现对网络的拓扑发现实时监控,告警设置: 1).应用Siteview软件进行拓扑发现。通过自动和手动两种方式实现。 2).基于SNMP的实时监控。对设备,链路,端口等进行相应的监控。 3).进行告警设置(告警方式)。通过对不同设备,条件等进行告警设置。 二、实验环境 计算机4台、路由器4台、交换机4台、SiteView NNM网络管理软件系统。 三、实验原理 网络设备只有配置了SNMP协议以后,才能够通过SNMP进行监控和管理,因 此,使用网络管理软件之前,需要对所有设备进行配置。主要包括: 1)主机SNMP配置; 2)路由器SNMP配置; 3)交换机SNMP配置。 四、实验步骤: 1、局域网的实现与配置: 网络拓扑图:

路由配置: 1)IP分配: 四台PC的本地连接2的IP分别为: PC1:222.1.3.5 PC2:222.1.2.5 PC3:222.1.1.5 PC4:222.1.4.5 本地连接1 IP: PC51:192.168.1.21 PC52:192.168.1.22 PC53:192.168.1.23 PC54:192.168.1.24 2)地址分配: 路由器R1 S2端地址:222.1.6.1 路由器R1 S3端地址:222.1.7.1 路由器R1与路由器R2间的地址:222.1.6.0 路由器R1与两层交换机1间接口G1 地址:222.1.3.1 路由器R2 S2端地址:222.1.6.2 路由器R2 S3端地址:222.1.5.1 路由器R2与路由器R3间的地址:222.1.5.0 路由器R2与两层交换机2间的地址:222.1.2.1 路由器R3 S2端地址:222.1.5.2 路由器R3 S3端地址:222.1.8.1 路由器R3与路由器R4间的地址:222.1.8.0 路由器R3与两层交换机2间的地址:222.1.1.1 路由器R4 S2端地址:222.1.8.2 路由器R4 S3端地址:222.1.7.2 路由器R4与路由器R1间的地址:222.1.7.0 路由器R4与交换机间的地址:222.1.4.1 PC1地址:222.1.3.5 网关:222.1.3.2 PC2地址:222.1.2.5 网关:222.1.2.2 PC3地址:222.1.1.5 网关:222.1.1.2 PC4地址:222.1.4.5 网关:222.1.4.2

SNMP(简单网络管理协议)

SNMP(Simple Network Management Protocol,简单网络管理协议) 通信线路进行管理。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。说白了就是一网管系统。网络管理功能一般分为性能管理,配置管理,安全管理,计费管理和故障管理等五大管理功能。 Windows NT是纯32位操作系统,采用先进的NT核心技术。Windows NT Workstation的设计目标是工作站操作系统,适用于交互式桌面环境;Windows NT Server的设计目标是企业级的网络操作系统,提供容易管理、反应迅速的网络环境。两者在系统结构上完全一样,只是为适应不同应用环境在运行效率上做相应调整。 另一个可以采用的保护措施是在网络边界上过滤SNMP通信和请求,即在防火墙或边界路由器上,阻塞SNMP请求使用的端口。标准的SNMP服务使用161和162端口,厂商私有的实现一般使用199、391、705和1993端口。禁用这些端口通信后,外部网络访问内部网络的能力就受到了限制;另外,在内部网络的路由器上,应该编写一个ACL,只允许某个特定的可信任的SNMP管理系统操作SNMP 1.按应用层次划分为入门级服务器、工作组级服务器、部门级服务器和企业级服务器四类。 (1)入门级服务器 (2)工作组级服务器 (3)部门级服务器 (4)企业级服务器 2.按服务器的处理器架构(也就是服务器CPU所采用的指令系统)划分把服务器分为CISC(复杂指令集)架构服务器、RISC架(精简指令集)构服务器和VLIW架构服务器三种。 (1)CISC架构服务器 (2)RISC架构服务器 (3)VLIW架构服务器 3.按服务器按用途划分为通用型服务器和专用型服务器两类。 (1)通用型服务器 (2)专用型服务器 4.按服务器的机箱结构来划分,可以把服务器划分为“台式服务器”、“机架式服务器”、“机柜式服务器”和“刀片式服务器”四类。 (1)台式服务器 (2)机架式服务器 (3)机柜式服务器 (4)刀片式服务器 入门级服务器通常只使用一到两颗CPU,主要是针对基于Windows NT,NetWare等网络操作系统的用户,可以满足办公室型的中小型网络用户的文件共享、打印服务、数据处理、Internet接入及简单数据库应用的需求,也可以在小范围内完成诸如E-mail、Proxy 、DNS等服务。

snmp介绍

什么是SNMP协议 简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。许多人认为SNMP在IP上运行的原因是Internet运行的是TCP/IP协议,然而事实并不是这样。 SNMP被设计成与协议无关,所以它可以在IP,IPX,AppleTalk,OSI以及其他用到的传输协议上被使用。 SNMP是一系列协议组和规范(见下表),它们提供了一种从网络上的设备中收集网络管理信息的方法。S NMP也为设备向网络管理工作站报告问题和错误提供了一种方法。 名字说明 MIB 管理信息库 SMI 管理信息的结构和标识 SNMP 简单网络管理协议 从被管理设备中收集数据有两种方法:一种是只轮询(polling-only)的方法,另一种是基于中断(interrupt -based)的方法。 如果你只使用只轮询的方法,那么网络管理工作站总是在控制之下。而这种方法的缺陷在于信息的实时性,尤其是错误的实时性。你多久轮询一次,并且在轮询时按照什么样的设备顺序呢?如果轮询间隔太小,那么将产生太多不必要的通信量。如果轮询间隔太大,并且在轮询时顺序不对,那么关于一些大的灾难性的事件的通知又会太馒。这就违背了积极主动的网络管理目的。 当有异常事件发生时,基于中断的方法可以立即通知网络管理工作站(在这里假设该设备还没有崩溃,并且在被管理设备和管理工作站之间仍有一条可用的通信途径)。然而,这种方法也不是没有他的缺陷的,首先,产生错误或自陷需要系统资源。如果自陷必须转发大量的信息,那么被管理设备可能不得不消耗更多的时间和系统资源来产生自陷,从而影响了它执行主要的功能(违背了网络管理的原则2)。 而且,如果几个同类型的自陷事件接连发生,那么大量网络带宽可能将被相同的信息所占用(违背了网络管理的原则1)。尤其是如果自陷是关于网络拥挤问题的时候,事情就会变得特别糟糕。克服这一缺陷的一种方法就是对于被管理设备来说,应当设置关于什么时候报告问题的阈值(threshold)。但不幸的是这种方法可能再一次违背了网络管理的原则2,因为设备必须消耗更多的时间和系统资源,来决定一个自陷是否应该被产生。 结果,以上两种方法的结合:面向自陷的轮询方法(trap-directed polling)可能是执行网络管理最为有效的方法了。一般来说,网络管理工作站轮询在被管理设备中的代理来收集数据,并且在控制台上用数字或图形的表示方式来显示这些数据。这就允许网络管理员分析和管理设备以及网络通信量了。 被管理设备中的代理可以在任何时候向网络管理工作站报告错误情况,例如预制定阈值越界程度等等。代理并不需要等到管理工作站为获得这些错误情况而轮询他的时候才会报告。这些错误情况就是众所周知的SNMP自陷(trap)。

网络管理与维护实验1-Windows环境下简单网络管理协议的安装与配置

一. 实验目的 1. 掌握Windows系统中SNMP服务的安装以及SNMP服务属性配置。 2. 掌握如何使用Snmputil命令查看代理的MIB对象,熟悉MIB结构,掌握SNMP操作; 3. 理解GetRequest、GetNextRequest、trap消息,以及团体名的作用。 二. 实验所需设备及材料 安装Windows操作系统的计算机1台。 三. 实验内容及要求 1. 参考实验指导书P251页5. 2.2节实验,完成Windows操作系统中SNMP服务的安装和SNMP服务属性的配置,其中只读团体名设置为自己的八位学号,联系人设置为自己的姓名拼音全称。 2. 参考实验指导书P256页5.2.4节实验,练习使用Snmputil工具查看代理的MIB对象(实例),熟悉Get、GetNext、Walk命令操作。 完成以下内容: ⑴管理站发送Get、GetNext请求访问“系统组”,当代理正常返回的对象实例和值时,截图,并逐条给予解释。例如先解释sysObjectID对象的语义,然后根据返回的值说明是哪一厂商。 ⑵访问“IP组”的ipAddTable,截图,并根据返回的信息,绘制出本机的ipAddTable表,并填写所有列对象实例的值。用箭头标示该表的索引列。 ⑶访问“IP组”的ipNetToMediaTable,在返回的多个接口信息中,选取某一个接口,写出其ARP表,并用arp 命令验证,截取arp命令回显内容。 ⑷使用netstat命令查看TCP连接,找到有本机IP地址的n条TCP连接(n>=4),截图,注意这n条TCP连接必须是连续出现的。针对你选择的n条TCP连接,思考如何使用Snmputil的get和getnext命令,查询“TCP 组”的TCP连接表的tcpConnState、tcpConnLocalPort两个列对象实例的值,截图。并参照理论教材P50图3.19的形式画出TCP连接表的对象及其实例的子树(每个列对象只画出你选择的n个实例)。 ⑸查询本机接口的个数,并利用某个命令查询所有接口的速率,截图。 ⑹本机是否可以作为IP网关?为什么?请结合访问相关对象的截图来说明。 ⑺访问系统当前的系统安装列表,截图(若内容太多,后半部分可以适当省略)。 ⑻产生一个trap,截图,并说明显示的trap信息中generic当前取值的含义。 四.实验过程

snmp协议的分析

竭诚为您提供优质文档/双击可除 snmp协议的分析 篇一:实验三snmp协议分析 实验三snmp协议分析 一、实验目的 (1)掌握嗅探工具ethereal协议分析软件的使用方法(2)利用ethereal软件工具截snmp数据包并完成报文分析 二、实验环境 局域网,windowsserver20xx,snmputil,ethereal,superscan 三、实验步骤(0、snmp的安装配置) 1、理解应用层snmp协议工作原理; 2、使用windows平台上的snmputil.exe程序实现snmp 交互; 3、利用协议分析和抓包工具ethereal抓取分析snmp 协议报文。 四、实验内容 内容一:

1.打开ethereal软件开始抓包, 输入命令: snmputilget[目标主机ip地址]团体 名.1.3.6.1.2.1.1.2.0停止抓包。对snmp包进行过滤。(给出抓包结果截图) 2.找出一对snmp协议请求包和相对应的应答包。给出抓包结果截图。 3.对上面这对请求和应答包进行分析,根据snmp协议数据包格式填值。 请求包报文分析 应答包报文分析 内容二: 1.通过snmptuil.exe与snmp交互: 输入snmputilwalk[目标主机ip地址]团体 名.1.3.6.1.2.1.1命令列出目标主机的系统信息。 2.打开ethereal软件开始抓包,再次输入上面命令后,停止抓包。对snmp包进行过滤。给出抓包结果截图。 3.找出一对snmp协议请求包和相对应的应答包。给出抓包结果截图。 4.对上面这对请求和应答包进行分析,根据snmp协议数据包格式填值。 请求包报文分析

简单网络管理协议工具

第六章简单网络管理协议工具 本章重点仍是一些网络工具,它们可用于管理系统及其它的网络设备,例如交换器、路由器、集线器和其它支持SNMP的设备等。这部分介绍的网络工具很有用,对于你已经掌握的软件来说,是一个很好的补充。 本章中介绍的工具有: ·UCD的SNMP命令 ·Snmpconf命令 总的来看,这些工具提供了监控和管理的功能,它们可用于以下方面: ·确定SNMP 的系统节奏(system heartbeat) ·确定系统开/关消息 ·获得协议统计信息 ·获得接口性能数据 ·监控系统进程活动性 ·监控路由 ·配置网络设备 6.1 监控/管理功能 1. 系统节奏 系统节奏(system heartbeat)是一条SNMP的get-request请求,管理员使用该请求来确定管理代理和系统的一般可连接性。举例说明,网络管理员可以查询管理代理的系统时钟MIB变量,可以确定每次连续的查询都比前一次查询晚一些。各次连续查询应该表明时间在向前移动。可用于这方面的MIB变量是数据对象unitTime ,它是Sun系统管理代理的sunSystem组的一部分。此外,MIB-II的system组中的数据对象sysUpTime也可用于这个方面,所有的SNMP管理代理应该都可以使用这个数据对象。 2. 系统开/关消息 如果一个系统因某种原因被关闭或重启,此时系统应该以trap形式向指定的网络管理系统发送一条报文。我们说过,trap是一种由管理代理主动发送的报文,它表明某些特定条件或事件。例如,接收这些报文后,管理员得知发生系统中断,于是采取适当的操作。UCD 管理代理的配置文件和其它工具可用于向一个或多个网络管理系统续传trap报文。 3. 协议统计信息 因为许多SNMP管理代理支持MIB-II标准,所以有可能实现协议性能监控和系统监控。这包括IP、ICMP、TCP、SNMP协议,网络接口计数器,及一些Sun系统性能数据对象。 4. 系统进程活动性 Sun MIB扩展和UCD管理代理的应用,使得实现系统进程的监控成为可能。通过监控 143

snmp报文分析

SNMP报文格式分析 报文格式 snmp简介 snmp工作原理 SNMP采用特殊的客户机/服务器模式,即代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。 管理站和代理端使用MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和代理都实现相应的MIB对象,使得双方可以识别对方的数据,实现通信。 管理站向代理请求MIB中定义的数据,代理端识别后,将管理设备提供的相关状态或参数等数据转换成MIB定义的格式,最后将该信息返回给管理站,完成一次管理操作。 snmp报文类型 SNMP中定义了五种消息类型:Get-Request、Get-Response、 Get-Next-Request、Set-Request和Trap 。 1.Get-Request 、Get-Next-Request与Get-Response SNMP 管理站用Get-Request消息从拥有SNMP代理的网络设备中检索信息,而SNMP代理则用Get-Response消息响应。Get-Next- Request用于和 Get-Request组合起来查询特定的表对象中的列元素。 2.Set-Request SNMP管理站用Set-Request 可以对网络设备进行远程配置(包括设备名、设备属性、删除设备或使某一个设备属性有效/无效等)。 3.Trap SNMP代理使用Trap向SNMP管理站发送非请求消息,一般用于描述某一事件的发生,如接口UP/DOWN,IP地址更改等。

上面五种消息中Get-Request、Get-Next-Request和Set-Request是由管理站发送到代理侧的161端口的;后面两种Get-Response和Trap 是由代理进程发给管理进程的,其中Trap消息被发送到管理进程的162端口,所有数据都是走UDP封装。 snmp报文格式图 SNMP报文的形式大致如下图所示。 snmp报文编码格式 SNMP(简单网络管理协议)是目前在计算机网络中用得最广泛的网络管理协议,它使用(Abstract Syntax Notation One抽象语法表示法.1)来定义SNMP报文格式和MIB(Management Information Base管理信息库)变量的名称。 是一种描述数据和数据特征的正式语言,它和数据的存储及编码无关。根据标准定义,数据类型分为: a.简单数据类型: boolean布尔值

基于SNMP网络管理的研究与应用

基于SNMP网络管理的研究与应用 基于SNMP网络管理是保障网络运行稳定的重要条件,同时也是有效发挥网络利用率的重要前提。文章介绍了基于SNMP网络管理的基本机构,在此基础上设计了一个网络管理系统。在设计出来的网络管理系统中,对传统的SNMP 网络搜索设备的基础上进行了改进,并找出了唯一标识路由器的方法,最后分析了临界区的相关使用。 标签:SNMP网络管理;体系结构;临界区;接口类型;子网系统 SNMP是Simple Network Management Protocol的简称,即简单网络管理协议,它是由简单网关监控协议(即SGMP)转化而来的,它主要的功能就是管理通信线路。随着技术的不断发展与进步,人们开始逐渐修改SGMP,改进后的SGMP就成了现在的SNMP。SNMP具有结构简单、方便实用等优点。技术飞速发展促进了SNMP的发展,其版本也在不断改进和升级。文章主要根据我国中小型企业在管理网络方面的情况,设计了符合我国企业应用的网络管理软件。 1 SNMP网络管理体系结构 SNMP的设计模型是ISO的网络管理模型,一般由两个部分组成,即管理节点和代理节点。在代理节点上,一般都会有一个管理信息库,这个管理信息库是针对被管理对象而设置的,它主要负责数据的采集与传输,最后将所得的信息递交给网管系统。另外,SNMP的优点之一就是简单性,所以它可以监督网络管理的工作,降低系统资源对系统的占用。SNMP的管理模型可以以图表的形式展现出来,具体如图1: 图1 另外,SNMP对操作进行了限制和说明,主要有以下三种模式:(1)Get操作,SNMP主要通过GET语句获得管理对象的具体值;(2)Set操作,通过SET 语句设置管理对象的具体值;(3)Trap操作,通过TRAP语句设置阈值。 另外,SNMP有一个显著特点,它不能通过对象的实例操作改变管理信息库机构,它只能在对象的标志数中进行操作,这就在很大程度上促使SNMP由简单走向更简单。 2 关于网络管理软件的设计 2.1 相关的体系框架 网络管理软件的体系结构一般由四个层次组成。其一,被管网络设备,顾名思义,这个层次主要由一些被管理的相关设备组成。这些设备包括路由器、核心交换机等;其二,数据采集层,它采集的数据覆盖所有被管设备,完成数据采集

简单网络管理协议(SNMP)学习理解

简单网络管理协议学习理解 1.SNMP网络管理协议综述 SNMP(Simple Network Management Protocol)是被广泛接受并投入使用的工业标准,它是由SGMP即简单网关监控协议发展以来的。它的目标是保证管理信息在任意两点中传送,便于网络管理员在网络上的任何节点检索信息,进行修改,寻找故障;完成故障诊断,容量规划和报告生成。它采用轮询机制,提供最基本的功能集。最适合小型、快速、低价格的环境使用。它只要求无证实的传输层协议UDP,受到许多产品的广泛支持。 2.1 管理信息 经由SNMP协议传输的所有管理倍息都表现为非聚集的对象类型。这些对象类型被收集到一个或多个管理信息库[MIB]中并且对象类型按照管理信息结构和标识(SMI)定义。简单网络管理协议策l版的sM[于1990年5月定义在一篇题为《基于因特网的了TCP/IP管理信息结构和标识》的RFC中。这一RFC要求所有的管理信息库数据和信息必须根据ISO 8824标准《抽象句法表示法1规范》(ASN.1)编码。按照ASN.1表示所有信息和对象的目的在于方便向OSI的网络管理协议迁移而无需重新定义现已存在的所有对象和MIB。 SMI为每一对象类型定义以下成分: ①名字; ②句法; ②编码说明。 注意:一个对象类型的名字明确地代表一个对象,称为对象标识符。不得分配标识符0给对象类型作为其名字的一部分。为便于阅读,在标准文档中对象标识符旁边包含对这一对象的描述。对象标识符是按照在OSI MIB树中建立的严格分层空间构造的,对象标识符总是一个唯一的从树根开始描述MIB树的整数序列。对象标识符和它的文字描述的组合称为标号。 2.1.1 管理树 SMI明确要求所有被管理的信息和数据都要由管理树来标识。这棵管理树来源于

简单网络管理协议(SNMP)入门

简单网络管理协议(SNMP)入门 简单网络管理协议(SNMP)在体系结构分为被管理的设备(Managed Device)、SNMP管理器(SNMP Manager)和SNMP代理(SNMP Agent)三个部分。被管理的设备是网络中的一个节点,有时被称为网络单元(Network Elements),被管理的设备可以是路由器、网管服务器、交换机、网桥、集线器等。每一个支持SNMP的网络设备中都运行着一个SNMP代理,它负责随时收集和存储管理信息,记录网络设备的各种情况,网络管理软件再通过SNMP通信协议查询或修改代理所记录的信息。 SNMP代理是驻留在被管理设备上的网络管理软件模块,它收集本地计算机的管理信息并将这些信息翻译成兼容SNMP协议的形式。 SNMP管理器通过网络管理软件来进行管理工作。网络管理软件的主要功能之一,就是协助网络管理员完成管理整个网络的工作。网络管理软件要求SNMP 代理定期收集重要的设备信息,收集到的信息将用于确定独立的网络设备、部分网络或整个网络运行的状态是否正常。SNMP管理器定期查询SNMP代理收集到的有关设备运转状态、配置及性能等的信息。 SNMP使用面向自陷的轮询方法(Trap-directed polling)进行网络设备管理。一般情况下,网络管理工作站通过轮询被管理设备中的代理进行信息收集,在控制台上用数字或图形的表示方式显示这些信息,提供对网络设备工作状态和网络通信量的分析和管理功能。当被管理设备出现异常状态时,管理代理通过SNMP自陷立即向网络管理工作站发送出错通知。当一个网络设备产生了一个自陷时,网络管理员可以使用网络管理工作站来查询该设备状态,以获得更多的信息。 管理信息数据库(MIB)是由 SNMP代理维护的一个信息存储库,是一个具有分层特性的信息的集合,它可以被网络管理系统控制。MIB定义了各种数据对象,网络管理员可以通过直接控制这些数据对象去控制、配置或监控网络设备。SNMP

snmp报文分析

SNMP报文格式分析 1.SNMP报文格式 1.1 snmp简介 1.1.1 snmp工作原理 SNMP采用特殊的客户机/服务器模式,即代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。 管理站和代理端使用MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和代理都实现相应的MIB对象,使得双方可以识别对方的数据,实现通信。 管理站向代理请求MIB中定义的数据,代理端识别后,将管理设备提供的相关状态或参数等数据转换成MIB定义的格式,最后将该信息返回给管理站,完成一次管理操作。 1.1.2 snmp报文类型 SNMP中定义了五种消息类型:Get-Request、Get-Response、 Get-Next-Request、Set-Request和Trap 。 1.Get-Request 、Get-Next-Request与Get-Response

SNMP 管理站用Get-Request消息从拥有SNMP代理的网络设备中检索信息,而SNMP代理则用Get-Response消息响应。Get-Next- Request用于和Get-Request组合起来查询特定的表对象中的列元素。 2.Set-Request SNMP管理站用Set-Request 可以对网络设备进行远程配置(包括设备名、设备属性、删除设备或使某一个设备属性有效/无效等)。 3.Trap SNMP代理使用Trap向SNMP管理站发送非请求消息,一般用于描述某一事件的发生,如接口UP/DOWN,IP地址更改等。 上面五种消息中Get-Request、Get-Next-Request和Set-Request是由管理站发送到代理侧的161端口的;后面两种Get-Response和Trap 是由代理进程发给管理进程的,其中Trap消息被发送到管理进程的162端口,所有数据都是走UDP封装。 1.1.3 snmp报文格式图 SNMP报文的形式大致如下图所示。

简单网络管理协议SNMP

SNMP 1概述 (1) 2SNMP的工作原理 (1) 2.1网络管理模型 (1) 2.2网络管理协议结构 (2) 2.3网络管理服务 (3) 2.4委托代理 (4) 3管理信息结构SMI (4) 3.1ASN.1 (4) 3.2文本约定 (5) 3.3对象定义 (6) 3.4T RAP定义 (6) 3.5对象标志符 (7) 3.6表对象的定义 (8) 3.7对象和对象实例的区别 (10) 3.8OID的字典序 (10) 4协议数据单元(PDU--PROTOCOL DATA UNIT) (10) 4.1SNMP报文格式 (10) 4.2SNMP报文类型 (11) 4.3SNMP V2基本的PDU格式 (12) 4.4SNMP消息的生成 (13) 4.5SNMP消息的接受和处理 (13) 5SNMP协议操作 (15) 5.1G ET R EQUES T (15) 5.1.1GetRequest—PDU报文格式 (15) 5.1.2SNMPv2对GetRequest-PDU的处理(参考RFC1905) (15) 5.1.3SNMPv1对GetRequest-PDU的处理(参考RFC1157) (16) 5.2G ET N EXT R EQUEST—PDU (16) 5.2.1GetNextRequest报文格式 (17) 5.2.2SNMPv2对GeNextRequest-PDU的处理(参考RFC1905) (17)

5.2.3SNMPv1对GeNextRequest-PDU的处理(参考RFC1157) (18) 5.3R ESPONSE-PDU (18) 5.3.1Response报文格式 (18) 5.3.2SNMPv2对Response-PDU的处理(参考RFC1905) (20) 5.3.3SNMPv1对响应报文GetResponse的处理(参考RFC1157) (20) 5.4S ET R EQUES T-PDU (20) 5.4.1SetRequest报文格式 (20) 5.4.2SNMPv2实体对SetRequest报文的处理(参考RFC1905) (21) 5.4.3SNMPv1对SetRequest报文的处理(参考RFC1157) (22) 5.5G ET B ULK R EQUES T-PDU (23) 5.5.1GetBulkRequest-PDU报文格式 (23) 5.5.2SNMPv2对GetBulkRequest-PDU报文的处理(参考RFC1905) (24) 5.6I NFORM R EQUES T-PDU (25) 5.6.1InformRequest-PDU的格式 (25) 5.6.2SNMPv2对InformRequest-PDU的处理(参考RFC1905) (26) 5.7T RAP-PDU (26) 5.7.1SNMPv1的Trap (26) 5.7.2SNMPv2的SNMPv2-Trap-PDU (28) 6SNMP的安全控制 (29) 6.1SNMP V2-基于共同体的管理框架 (29) 6.2SNMP V3的安全策略 (30)

网络管理实验SNMP报文解析实验报告

网络管理实验————SNMP报文解析 2010-6-1 4.trap操作: Sniffer软件截获到的trap报文如下图所示:

30 2e SNMP报文是ASN.1的SEQUENCE 类型,报文长度是46个八位组。 02 01 00:版本号为integer类型,取值为0,表示snmpv1。 04 06 70 75 62 6c 69 63:团体名为octet string类型,值为“public” a4 21: 表示pdu类型为trap,长度为33个八位组。 06 0c 2b 06 01 04 01 82 37 01 01 03 01 02:制造商标识,类型为object identifier。 值为1.3.6.1.4.1.311.1.1.3.1.2。 40 04 c0 a8 01 3b:代理的IP地址,类型OCTECT STRING,值为192.168.1.59; 02 01 04:一般陷阱,类型为INTEGER,值为4,代表这是由“authentication Failure (身份验证失败)”引发的TRAP; 02 01 00:特殊陷阱,类型为INTEGER,值为0(当一般陷阱取值不是6时); 43 03 06 63 29:时间戳,类型为TIME TICKS,值为418601 (百分之一秒),即系 统在运行到大约第70分钟时,代理发出了此TRAP; 30 00变量绑定表为空。 5.SNMPv2 GetBulk操作: Sniffer软件截获到的getbulkrequest报文如下图所示:

对该报文的分析如下 : 30 27 SNMP 报文是ASN.1的SEQUENCE 类型,报文长度为46个八位组;

SNMP协议全称为简单网络管理协议

SNMP协议全称为简单网络管理协议(Simple Network Management Protocol),该协议能够被广泛使用,不受协议的限制,如IP、IPX 、AppleTalk、OSI及其它传输协议均能使用。互联网络开始规模很小,网络结构简单,因此谈不上网络监控和管理问题。仅使用ICMP 的Ping 程序就能解决问题。但随着互联网络规模不断扩大,使用Ping 已无法掌握网络运行情况。此时,SNMP协议就产生了,它可通过提供有限的信息类型、简单的请求/响应机制来实现对被管理对象的操作。同时可将管理信息模型和被管理对象分成两个模块,两个模块间通过信令交互协同工作。目前SNMP协议已在TCP/IP 网络中广泛使用,并已成为网络管理领域事实标准。下面简单介绍下SNMP协议的基本概念、管理模型及版本号: 一SNMP协议基本概念 1 NMS NMS(Network Management System),是运行在网管端工作站上的网络管理软件。网络管理员通过操作NMS,向被管理设备发出请求,从而监控和配置网络设备。 2 Agent 运行在被管理设备上的代理进程。被管理设备在接收到网管设备侧NMS 发出的请求后,由Agent 作出响应操作。主要功能包括:收集设备状态信息、实现NMS 对设备的远程操作、向网管端发出告警消息。 3 MIB MIB 是一个虚拟的数据库,是在被管理设备端维护的设备状态信息集。Agent 通过查找MIB 来收集设备状态信息。MIB 按照层次式树形结构组织被管理对象,使用ASN.1格式进行描述。 4 ASN.1 抽象语法表示,使用独立于物理传输的方法定义协议标准中的数据类型。ASN.1 描述传输过程的中的语法,但不涉及具体数据含义的表示。 5 BER 基本编码规则,按照ASN.1 的语法结构,描述了在传送过程中数据内容是如何表示的。 6 SMI SMI(Structor of Management Information)为命名和定义管理对象指定了一套规则。所有管理对象都是按一种层次式树形结构排列。一个对象在这个树形结构中的位置,标识了如何访问这个对象。 7 Trap 告警信息。设备中的模块在达到告警的条件后触发告警,之后将告警消息通过SNMP发往网管端。 8 实体 可以被管理的软件或硬件。

SNMP协议详解

SNMP协议详解 简单网络管理协议(SNMP:Simple Network Management Protocol)是由互联网工程任务组(IETF:Internet Engineering T ask Force )定义的一套网络管理协议。该协议基于简单网关监视协议(SGMP:Simple Gateway Monitor Protocol)。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。虽然SNMP开始是面向基于IP的网络管理,但作为一个工业标准也被成功用于电话网络管理。 1. SNMP基本原理 SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP 代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。下图10是NMS公司网络产品中SNMP协议的实现模型。 SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP (用户数据报协议)作为第四层协议(传输协议),进行无连接操作。SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。数据报结构如下图 版本识别符(version identifier):确保SNMP代理使用相同的协议,每个SNMP代理都直接抛弃与自己协议版本不同的数据报。 团体名(Community Name):用于SNMP从代理对SNMP管理站进行认证;如果网络配置成要求验证时,SNMP 从代理将对团体名和管理站的IP地址进行认证,如果失败,SNMP从代理将向管理站发送一个认证失败的Trap消息协议数据单元(PDU):其中PDU指明了SNMP的消息类型及其相关参数。 2. 管理信息库MIB IETF规定的管理信息库MIB(由中定义了可访问的网络设备及其属性,由对象识别符(OID:Object Identifier)唯一指定。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。 下图给出了NMS系统中SNMP可访问网络设备的对象识别树(OID:Object Identifier)结构。

基于snmp网络管理系统的设计与实现

本科毕业设计(论文) 题目:基于SNMP网络管理系统 的设计与实现 院(系):计算机科学与工程学院 专业: 班级: 学生: 学号: 指导教师: 2014年6月

1 基于SNMP网络管理的研究 在Windows环境下进行SNMP编程,可以使用WinSNMP API函数。这些函数实现了基本的SNMP功能,但直接使用WinSNMP API函数要复杂得多,幸运的是,目前有许多支持SNMP功能的第三方开发包,如UCD SNMP,PowerTCP 和SNMP++等,使用这些开发包,可以大大简化Windows环境下的SNMP编程工作。 SNMP++是网络管理程序与SNMP代理之间的通信协议,因此SNMP编程也包括两大部分:网络管理程序的开发和SNMP代理软件的开发。 SNMP代理运行在特定的网络设备中,由设备生产商负责开发。本文主要研究在Windows 环境下开发基于SNMP的网络管理程序,不涉及SNMP代理开发方面的内容。 微软的Windows系统(包括Windows NT、Windows 2000、Windows XP、Windows 2003等)支持SNMP,默认是关闭的,可以通过添加组件的方式进行打开并进行简单配置。启动后,代理在主机上启动一个SNMP代理服务器进程,监听从UDP端口161接收的SNMP操作请求。但是还不能使用SNMP获取到系统的信息,因为此时代理支持的MIB-II中还没有定义相关的被管理对象,因此,还需要安装第三方支持的软件。 SNMP第三方软件实际上是一个SNMP子代理,系统中原来的代理称为SNMP主代理,主代理与子代理之间使用特有的协议进行通信。通过安装子代理,可以在系统中扩展主代理不支持的MIB。Net-SNMP就是这样的一款第三方软件,安装后即可为SNMP提供信息。 2 环境配置 使用windows XP 操作系统,软件使用VC++6.0,测试设备,本机,工大瑞普虚拟实验环境,可以模拟如帧中继,路由交换的环境。 从https://www.doczj.com/doc/5714523691.html, 下载SNMP++开发包,解压后进行编译,形成一个静态链接库,下面的步骤将在VC++6.0开发环境中将SNMP软件包编译成一个静态的链接库。 在VC6中编辑生成snmp_pp.lib文件,操作步骤如下: 1) 在开发环境下,选择“File”->“New…”项,在弹出的窗口中选择“Win32 Static Library”,工程名为“snmp_pp”,如图2.1所示。

第三章 简单网络管理协议-SNMP

第三章简单网络管理协议-SNMP SNMP(Simple Network Management Protocol,简单网络管理协议)是由Internet活动委员会(IAB)制订的,被采纳为基于TCP/IP协议的各种互联网络的管理标准。由于它满足了人们长久以来对通用网络管理标准的需求,而且它本身简单明了,实现起来比较容易,占用的系统资源少,所以得到了众多网络产品厂家的支持,成为实际上的工业标准,基于它的网络管理产品在市场上占有统治地位。1993年它的更新版本SNMP V ersion 2(SNMPv2)又被推出,改进了SNMP的不少缺陷。 本章及下一章在介绍SNMP协议的基础上,着重讨论SNMPv2协议的特点,并就作者自己开发的基于SNMPv2协议的网络计费管理软件作了介绍。 3.1 SNMP 3.1.1SNMP协议的工作原理 SNMP的管理结构如图3.1所示。它的核心思想是在每个网络节点上存放一个管理信息库( MIB),由节点上的代理(agent)负责维护,管理站(manager)通过应用层协议对这些信息库进行管理。SNMP最大的特点就是其简单性。它的设计原则是尽量减少网络管理所带来的对系统资源的需求,尽量减少agent的复杂性。它的整个管理策略和体系结构的设计都体现了这一原则。 管理工作站 图3.1:SNMP管理模型

3.1.2SNMP通信报文的操作处理 SNMP标准主要由三部分组成:简单网络管理协议(SNMP);管理信息结构(Structure ofa nagement Information,简称SMI)和管理信息库(Management Information Base,简称MIB) 。SNMP主要涉及通信报文的操作处理,协议规定manager如何与agent通信,定义了它们之间交换报文的格式和含义,以及每种报文该怎样处理等等。 SNMP中规定的网络管理操作有五种,分别是: (1)Get-Request; (2)Get-Next-Request; (3)Set-Request; (4)Get-Response; (5)Trap。 Get-Request被manager用来从agent取回某些变量的值;Get-Next-Request被manager 用来从agent取回某变量的下一个变量的值;Set-Request被manager用来设置(或改变)agent上某变量的取值;Get-Response是agent向manager发送的应答;Trap被agent用来向manage r报告某一异常事件的发生。 Get-Request、Get-Next-Request和Set-Request这三种操作都具有原子(atomic)特性,即如果一个SNMP报文中包括了对多个变量的操作,agent不是执行所有操作,就是都不执行(例如,一旦对其中某个变量的操作失败,其它的操作都不再执行,已执行过了的也要恢复)。 SNMP的报文格式为: version community data version域表示SNMP协议的版本,在SNMP中它是version-1(0); data域存放实际传送的报文,报文有五种,分别对应上述五种操作。 community域是为增加系统的安全性而引入的,它的作用相当于口令(password)。3.1.3 SNMP的安全机制 SNMP网络管理由几个特征,它包含一个管理站和一组代理之间的一对多的关系:管理站能够取得和设置代理中的对象,并从代理接收陷阱。因此,从操作或控制的观点来看,管理站“管理”多个代理。也可能有多个管理站,其中的每一个管理站管理全部代理或这些代理的一个子集,这些子集可能重叠。 我们也可以把SNMP网络管理看作是一个在一个代理和多个管理站之间的一对多的关系。每个代理控制它自己的本地MIB,而且必须能够控制多个管理站对该MIB 的使用。该控制有3个方面:

什么是SNMP

什么是SNMP 文档版本01 发布日期2019-05-31

版权所有 ? 华为技术有限公司 2019。保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明 和其他华为商标均为华为技术有限公司的商标。 本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意 您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。 由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。 华为技术有限公司 地址:深圳市龙岗区坂田华为总部办公楼邮编:518129 网址:https://www.doczj.com/doc/5714523691.html,

什么是SNMP目录 目录 1 简介 (1) 2 SNMP系统组成 (2) 3 SNMP查询 (5) 4 SNMP设置 (10) 5 SNMP Traps (12) 6 SNMP端口号 (16) 7 使用SNMP的相关信息 (17)

什么是SNMP 1 简介 1简介简单网络管理协议SNMP(Simple Network Management Protocol)用于网络设备的管 理。网络设备种类多种多样,不同设备厂商提供的管理接口(如命令行接口)各不相 同,这使得网络管理变得愈发复杂。为解决这一问题,SNMP应运而生。SNMP作为广 泛应用于TCP/IP网络的网络管理标准协议,提供了统一的接口,从而实现了不同种类 和厂商的网络设备之间的统一管理。 SNMP协议分为三个版本:SNMPv1、SNMPv2c和SNMPv3。 l SNMPv1是SNMP协议的最初版本,提供最小限度的网络管理功能。SNMPv1基于团体名认证,安全性较差,且返回报文的错误码也较少。 l SNMPv2c也采用团体名认证。在SNMPv1版本的基础上引入了GetBulk和Inform操作,支持更多的标准错误码信息,支持更多的数据类型(Counter64、 Counter32)。 l SNMPv3主要在安全性方面进行了增强,提供了基于USM(User Security Module)的认证加密和基于V ACM(View-based Access Control Model)的访问控制。 SNMPv3版本支持的操作和SNMPv2c版本支持的操作一样。

相关主题
文本预览
相关文档 最新文档