当前位置:文档之家› 简单网络管理协议工具

简单网络管理协议工具

第六章简单网络管理协议工具

本章重点仍是一些网络工具,它们可用于管理系统及其它的网络设备,例如交换器、路由器、集线器和其它支持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

系统的关键进程,我们可以使用进程数据对象来确保某个网络或一个独立系统的正常运转。

5. 路由监控

路由监控管理代理可用于确定一个系统的路由配置、报告发现的错误。例如,假如某组织确定每台机器都必须有一个缺省的路由,我们可以通过查询这些设备中的SNMP管理代理来验证这个路由。

6. 接口性能

MIB-II还提供了这样一类数据对象,其中包含某个SNMP设备中安装的各个接口的性能信息。所以,我们可以获得这些性能信息,实现监控各个激活接口的性能。

7. 配置控制

许多网络设备(例如路由器和交换器)在它们用于网络之前,必须先进行配置。另外,在网络要求变化时,网络设备中的配置也必须相应改变。这里列出的工具将支持设备配置的改动。

6.2 UCD命令

6.2.1 概述

UCD软件包不仅提供了一个功能强大的SNMP管理代理,而且还提供了一系列使用方便的工具,它们可用于管理支持SNMP协议的网络设备。这些工具支持SNMPv1和SNMPv2协议;另外,还支持一部分SNMPv3协议。在使用上述工具时,可以通过命令行选项来选择你要使用的SNMP的版本号。此外,这些工具还可以用于编译实现复杂网络管理功能或自定义任务的script或其它程序。例如,命令snmpget可用于监控关键接口,确定是否有接口无法运转。如果有这种现象发生,监控软件将自动通知有关的系统维护人员。

如果我们完全安装整个UCD软件包,那么在系统中还同时安装了一套完整的UNIX帮助信息手册,它包括了本章介绍的所有UCD工具。该手册的缺省位置是/usr/local/man。

表6.1列出UCD软件包提供的工具及应用程序:

表6.1 UCD的SNMP工具

144

UCD工具的基本句法是:

其中,字符串snmpcmd表示上面表中列出的UCD命令之一。

字符串protocol_version的值是1、2c或2p 。该字符串标识符指定应该使用的SNMP 协议的版本号。这里1代表标准SNMPv1 。2c 代表的SNMPv2版本在支持的SNMP协议数据单元方面与SNMPv1不同,但它使用与SNMPv1相同的基于分区(community)的安全模型。2p 代表的SNMPv2版本使用基于成组(party)的安全模型。

字符串addition_options的选项内容列在表6.2和表6.3中,用于控制UCD工具的操作属性和显示属性。在后面会介绍到最通用的命令行选项。

字符串hostname表示网络上的一个主机名,该主机包含了与命令行protocol_version信息相匹配的SNMP管理代理。在这里也可以用一个有效的标准形式的IP地址来替换主机名。

字符串object表示一个应该被访问(使用SNMP GET)或被改动(使用SNMP SET)的MIB OID。它可以是使用带点的数字形式的表示式,也可以是带点的名字形式的表示式。在进行SNMP GET操作时,要得到的是附加的数据对象信息,这些将在以下“SNMP Set”中讨论。注意,在命令行中一次可以指定多个数据对象。

6.2.2 通用的命令行选项

UCD工具的命令行中可以使用很多个命令行选项参数。记住一些最通用的命令行选项可以使我们更加方便地使用这些工具。所有工具都支持的命令行选项可以分成两类:操作选项和显示选项。操作选项控制各个工具的性能,而显示选项控制如何显示MIB数据对象和其相应的值以及其它一些信息。

1. 显示选项

表6.2列出了这些显示选项,共有8个。注意,并不是所有的选项都在下面详细介绍。例如,选项-h用于显示一条帮助信息字符串,其中包括命令行选项等;我们并没有介绍这个选项的意义,因为它的功能一目了然。

表6.2 通用的显示选项

上面列出的选项中,有三个用于控制以何种格式显示MIB路径。这三个选项是-f 、-s 和-S 。选项–f 用于显示完整的数据对象标识符路径信息。因此该数据对象,system.sysContact.0

145

将被打印成:

https://www.doczj.com/doc/1017426646.html,.dod.internet.mgmt.mib-2.system.sysContact.0

选项-s只允许打印路径的后缀部分,即只显示MIB数据对象标识符的最后一个部分的符号。比如说,

https://www.doczj.com/doc/1017426646.html,.dod.internet.mgmt.mib-2.system.sysName.0

将打印成:

sysName.0

最后一个是选项-S ,它要求显示MIB数据对象标识符的后缀部分和MIB名。因此,https://www.doczj.com/doc/1017426646.html,.dod.internet.mgmt.mib-2.system.sysUpTime.0

将打印成:

SNMPv2-MIB:sysUpTime.0

需要注意的是,在本例中,数据对象sysUpTime属于SNMPv2-MIB ;所以上面例子是使用UCD工具时实际显示的内容。不过,在MIB-II结构树中也能找到这个数据对象。

如果需要收集一个设备的SNMP信息,并把这些信息作为另一个程序的输入信息,这时使用选项-q 会很方便。一般情况下,MIB数据对象信息的显示形式如下:

选项-q代表一种快速格式(quick format),使用它可以使输出结果以另一种格式显示。首先,等号被去掉了;这使得显示结果更适合其它程序解析,因为现在数据是以列格式显示。其次,上面的sysObjectID和sysUpTime的格式也改变了。本例中的数据对象信息是解释性的,而下面列出的结果只有原始数据。

要显示故障排除信息,需要使用选项-D 。该选项可以显示包信息,包括容量、目的地址,及包的十六进制和ASCII形式的映像。下面显示的是使用SNMP GET时得到的有关MIB数据对象system.sysContact的输出结果:

146

输出结果的第一部分是请求包,这是由字符串sending标明的,包括SNMP包的格式。请注意,我们可以看到通信字符串public 。接收包是管理代理发出的响应,也使用SNMP 的包格式。在本例中,我们既看到分区名public ,还看到数据对象字符串sysContact 。

2. 操作选项

表6.3中列出了操作选项,与显示选项的个数相同,也是8个。注意,并不是所有的选项都在下面详细介绍。例如,选项-c用于通过SNMPv2的身份验证消息来定义时钟值。因为对于UCD工具来说,这不算是一项重要的功能,所以这里没有详细讨论它。

表6.3 通用的操作选项

MIB数据对象system.sysContact.0通常就位于结构树https://www.doczj.com/doc/1017426646.html,.dod.internet.mgmt.mib-2 中。UCD工具支持随机访问MIB 。使用这种访问方式时,MIB数据对象system.sysContact可以按sysContact 形式键入,不用再写组名system。要指定只访问某个MIB数据对象时,因为同样的名字可能会出现多次,所以还需要指定MIB的名字,然后再加上数据对象的名字,如SNMPv2-MIB:sysContact.0 。要使管理代理允许随机访问,需要使用命令行选项–R 。当要搜寻的某个数据对象不在标准位置时,或者是管理代理中有多个数据对象使用相同的名字时,该选项最有用。

SNMP管理代理在与任何软件工具通信时,有时必须把MIB结构树的数字形式的标识符(例如1.3.6.)转化为名字形式的标识符(例如https://www.doczj.com/doc/1017426646.html,.dod.internet.mgmt.mib-2)。一般来讲,没有MIB文件时,UCD工具显示数字形式的MIB信息。这是因为这些工具从管理代理处只接收到数字形式的信息;它们不知道如何把这些数字形式的标识符映射成相应的名字字符串。为了说明,再举一例,当我们对一个没有MIB文件的管理代理进行SNMP GET 操作时,将显示如下的输出结果片段:

147

上面的输出是一个Cisco路由器的查询结果,可以看到,MIB数据对象的路径信息只有数字形式的。这是因为,缺省状态下查询命令只支持一套MIB核心定义。当涉及非标准的或厂商规定的MIB时,查询命令可用的只有数字形式的标识符。要解决这个问题,我们可以使用选项-m和-M。选项-m用于指定要载入管理代理的模块的名单,这些模块必须在UCD 工具进行SNMP查询管理代理前载入。一次指定多个模块时,各个模块名之间必须用冒号分隔。一个MIB模块就是一个包含管理代理的MIB定义的文件。使用选项–m ,我们可以提供正确的MIB模块,这样上面的输出结果就可以有名字形式的显示了。选项-M也很有用,这是因为我们可以指定一个管理代理搜寻MIB文件的目录名单。因此,这条命令,snmpwalk –M /var/mibs cisco-gwl public system

将在目录/var/mibs 中搜索文件。假定它找到了标准MIB文件,于是将显示如下内容:

还有一种速记方法可用于为任何命令指定所有的MIB模块(没有提供模块名单)。该方法涉及设置环境变量MIBS,将在下节予以介绍。

6.2.3 环境变量

每种UCD工具都要用到几个环境变量,它们用于为某个操作参数设置全局值,或者是为某个命令行选项设置快捷方式。这些环境变量包括:

·PREFIX

·MIBS

·MIBDIR

·SUFFIX

变量PREFIX可用于定义MIB数据对象标识符的前缀部分。这个变量的缺省值是https://www.doczj.com/doc/1017426646.html,.dod.internet.mgmt.mib-2 。如果定义了该变量,当UCD工具访问某个MIB数据对象时,变量值将加在数据对象名的前面。在使用非标准MIB的情况下,定义该值会很有用。例如,如果我们正在查询Sun系统管理代理,我们会遇到Sun MIB中定义的MIB数据对象。如果没有定义PREFIX ,在查询这样一个Sun数据对象时,我们将得到如下的输出结果:

148

然而,如果我们定义PREFIX为如下的值时:

setenv PREFIX https://www.doczj.com/doc/1017426646.html,.dod.internet.mgmt.mib-2.enterprise.sun

然后,我们再一次查询该数据对象,将得到另一种显示结果:

UpTime

system.UpTime.0

变量MIBS和MIBDIR用于把附加的MIB模块载入管理代理。变量MIBDIR的功能和命令行选项-M的作用完全相同。因为它们可用于所有的UCD工具,所以使用起来都很方便。

变量SUFFIX用于锁定命令行选项–s ,该选项用于显示MIB数据对象路径的后缀部分(或最后一个元素)。

6.2.4 snmpbulkwalk

snmpbulkwalk工具用于通过SNMPv2 的SNMP GET BULK请求命令与其它网络实体通信。与snmpwalk工具类似,snmpbulkwalk也要遍历整棵MIB结构树,直到访问了所有的节点或者有错误发生。前已述及,BULK请求提供了一种比SNMPv1的GET请求更有效的传输大量数据的机制。例如,假定我们要访问MIB-II的interface组。使用SNMPv1的snmpwalk命令我们可以获得157个包的信息;而使用snmpbulkwalk命令时,获得同样的信息只要4个包。这就大大节省了网络带宽,将提高管理代理和管理员系统的性能。

要遍历一个名为cisco-gw1的设备的整棵MIB结构树,需要使用如下命令:

snmpbulkwalk –v 2c cisco-gwl public

snmpbulkwalk命令只用于使用SNMPv2协议的管理代理。这是因为在SNMPv2协议问世前,根本就没有GET BULK工具。如果你试图在一个SNMPv1管理代理系统中使用上面这条命令,就会产生一个错误。

举例说明,下面这条命令要从设备remote-gw3的MIB结构树的system组部分开始进行遍历。本例子中,remote-gw3只支持SNMPv1协议。

Snmpbulkwalk –v 2c remote-gw3 public system

因为该设备不懂得SNMP的GET BULK请求,所以最终会超时,在snmpbulkwalk命令后将显示如下信息:

Timeout: No Response from remote-gw3

这里显示出超时错误,是因为虽然向设备发送了请求,但设备中的管理代理不懂得SNMP请求的格式。因此,设备没有响应这个请求包,从而导致超时。

值得注意的是,snmpbulkwalk命令需要指定两个SNMPv2名字(2p或2c)之一。如果在使用snmpbulkwalk命令时没有指定使用哪个版本的SNMPv2协议,就会产生如下的错误信息显示:

snmpbulkwalk:Cannot send v1 PDU on V2 session

6.2.5 snmpdelta

snmpdelta命令用于收集一个SNMP管理代理实体的MIB中整数值的变化情况。这条

149

命令监控指定的整型(Integer)数据对象,它将显示该数据对象所有时间的变化情况。在跟踪网络错误时,这条命令很有用。例如,你可以确定某个接口丢弃了多少个包,即借助于MIB数据对象ifInDiscards 。要监控设备remote-gw的这个数据对象,需要使用如下命令:snmpdelta –R remote-gw public ifInDiscards.1

这条命令将产生如下的输出结果:

该命令支持许多个补充的命令行选项参数,还支持前面介绍过的通用选项。表6.4列出了可用补充选项。

表6.4 补充的snmpdelta命令行选项

使用选项-m时,snmpdelta将显示从被查询的MIB数据对象处获得的最大值。一般情况下,snmpdelta将显示各次查询的值;当它获得一个新的最大值时,就把它显示在Max栏中。下面这条命令,

snmpdelta –R remote-gw public –m inOutOctets.1

将产生如下的输出结果:

150

注意,当snmpdelta获得一个新的最大值时,它将更新Max栏中相应的值。

当监控大量的MIB数据对象或数据时,也许会发现把输出信息存入一个日志文件可能会方便些。使用选项–l 可以把数据以如下格式存入一个文件:

{device}-{MIB object}

因此,命令

snmpdelta –R monet public –l ifOutOctets.1

将把数据对象ifOutOctecs的数值变化记录到文件monet-ifOutOctets.1中。

检查该文件的内容,我们可以看到与正常显示时格式相同的数据。

如果你希望以一种更具结构性的格式显示snmpdelta的输出结果,可以使用选项-T。例如,如果snmpdelta需要同时监控几个MIB数据对象,并把数据加入到一个电子表格或其它程序中,它可以显示如下表格格式的输出结果。于是,相应的命令和输出结果如下:

这里显示的是两个接口丢包的数目,它们以列状格式排列。

6.2.6 snmpget

snmpget命令用于从一个管理代理实体获得信息。该命令使用SNMP的GET请求,要求一个或多个有效的数据对象名作参数,将返回指定数据对象相应的值。如果有错误产生,将显示一条说明信息,它可以帮助管理人员查明故障原因。如果有一个或多个MIB数据对象的值无法获得,系统将只显示这些可以获取值的数据对象。MIB数据对象的名字格式已经在variables中指定。

该命令的句法如下:

snmpget [common arguments] MIB-object [MIB-object]

要从某个Cisco路由器中获得MIB数据对象sysDescr和sysContact的值,需要使用如下命令:

snmpget remote-gw public system.sysDescr.0 system.sysUpTime.0

该命令使用的路由器模型和配置决定了如下的输出结果:

151

注意,路由器包含一个较长的sysDescr字符串。当你要识别在系统中运行的模型及当前网络操作系统(IOS——internetwork operating system)的版本时,这一点会很有用。IOS 是Cisco的系统软件,它为许多Cisco硬件设备提供了路由和处理的功能。在本例中,系统模型是运行着版本11.0的3000 ,该系统已经运行了15天。

6.2.7 snmpgetnext

snmpgetnext命令用于通过SNMP的GET NEXT请求获得一个或多个MIB数据对象的信息。对于命令行中每一个指定的数据对象,snmpgetnext命令都要找到MIB结构树中的下一个数据对象。当知道要访问的MIB数据对象的确切结构时,使用该工具可以方便地获得一系列相关数据对象的信息。举一例来说明该问题,后面的这条命令将获得数据对象sysContact.0的下一个MIB数据对象的有关信息。如下的命令:

snmpgetnext 10.0.2.220 public system.sysContact.0

将显示:

system.sysName.0=remote-gw

可以看到,数据对象sysName.0正好处于数据对象sysContact.0的下一个位置。

6.2.8 snmpnetstat

snmpnetstat命令与UNIX的netstat命令相似,它们都提供一些与设备接口和路由表有关的基本信息。该工具的优点就是使获得一个SNMP设备的接口信息更加容易。比如说,其中包括的设备有路由器、交换器、网络监控探测器,及其它的一些支持标准SNMP MIB 的设备。这条命令的功能非常强大;确定SNMP设备的接口信息需要查询许多个独立的MIB 数据对象,或者是直接访问某个设备并运行复杂的系统命令。与netstat命令相似,snmpnetstat 支持许多控制显示的命令行选项。表6.5列出了可用的命令行选项。

表6.5 snmpnetstat的命令行选项

snmpnetstat命令用于查询一个名为cisco-gw3的本地路由器。

152

我们可以看到,输出结果应该不陌生,与UNIX的netstat命令的结果相似。它们的主要区别只是接口的名字不同,以及这里去掉了表示接口冲突的一栏。在接口名方面,Cisco 软件使用接口类型和索引号作为全接口名(例如Serial)。不过,在这个例子中,接口名都被截短了,只包含接口类型信息,它们并不是实际的Cisco接口名。所以,使用snmpnetstat 命令时,输出的并不是全接口名,其中的索引号部分没有显示出来。

要以一种简短的格式显示所有可用的接口,需要使用选项–o 。从下面的输出结果也可以看出,这里只列出了输入字节和输出字节两列。可以把该显示结果与使用选项–i 的输出结果做一个比较。

设备cisco-gw4只包含两个接口:一个是Ethernet,另一个是Serial 。

要单独显示一个接口,可以使用选项–I ,在后面再加一个接口名。该选项可与interval 一起使用。当使用interval参数启动snmpnetstat命令时,将显示指定接口的持续变化的网络统计数据。显示结果中有一列是指定接口的信息,还有一列是其它所有接口的汇总信息。输出结果的第一行表示的是设备重启以来的汇总信息。其余各行中的数值随着指定的间隔时间不断变化。下面这条命令

显示了cisco-gw3中的Ethernet接口的有关包活动性信息,这些数据随时间而变化。该命令将持续显示输出结果,直到键入control-c(^C)才得以停下。前两列代表Ethernet接口的输入包和输入错误;接下来的两列代表输出包和输出错误。第五列表示的是冲突的数目。其余的四列是设备中定义的所有接口的汇总信息。

如果要显示该设备的路由信息,需要使用选项-r,就象下面的例子:

使用该命令也可以获得每个网络协议的统计信息,这时需要使用选项–s 和选项–p 。下面的例子中只显示了有关IP协议的数据:

153

6.2.9 snmpset

snmpset是UCD软件包中最有用也是功能最强的一条命令。本章介绍的多数工具只涉及从一个SNMP管理代理处获得数据对象的值,而该工具可用于修改那些可改动的MIB管理代理数据对象的值。改动一个MIB数据对象很有意义,因为这意味着改动一个管理代理的配置或操作状态。举例说明,假定某个有几个接口的路由器用作重要的远距离办公网之间的远程连接点。对该路由器中的一个或多个接口执行一条snmpset命令时,它可以影响到本地网络和远程的办公室之间的连接性。因为snmpset命令的功能非常强大,所以在一个活动的网络中使用该命令时得特别小心。

snmpset命令的基本句法如下:

snmpset [common arguments] MIB-objectID type value [MIB-objectID type value]

MIB-objectID是一个要指定新值的MIB数据对象。参数type表示要修改的数据对象的类型;value表示该数据对象应该设置的新值。type是一个字符,它表示数据对象的类型,这些类型是ASN.1定义的。表6.6列出了snmpset支持的类型。

表6.6 snmpset的数据对象类型

平时我们不能随便使用snmpset命令,只在某些情况下才可以使用。下面列出这些情况:·禁止或激活某个网络接口

·使用新的管理信息(比如说sysContact)更新设备

154

·重新设置某些计数器

·重启某个设备或管理代理

·修改某些配置参数

前已述及,禁止网络接口可以引起网络问题。有时,不禁止网络接口也会导致网络问题。举例说明,当网络中有过多的广播包时,或者是当一个黑客企图进入某个网络时,关闭网络或禁止网络接口可以是防止网络问题波及其它网络的唯一办法。然而,在关闭网络前,一定要密切注意“无返回设置”(set of no return)。现在以图6.1中的网络为例进行讨论。

在这个网络实例中,可以看到有两个路由器,R1和R2 。我们只能通过路由器R1访问路由器R2的接口Serial1。在设备节点A处,我们执行一条snmpset命令从R2处来禁止接口Serial0 。这将会终止网络中的广播风暴,但这也就导致了失去到远程办公室的连接。现在的问题是:在广播风暴停止之后,我们如何激活R2的接口。“无返回”就意味着到设备唯一的访问路径被切断。现在已无法从远程访问路由器,除去某些拨号上网功能还可以使用。这种情况下,必须从本地激活端口,这可能需要通知某人去激活端口、或者是重启设备来重新设置端口。

避免上面提到的“无返回设置”的最好的办法是禁止本地的R1上接口Serial1,或者是禁止远程的R2上的接口Ethernet1 。使用这种方法,我们既可以解决广播风暴问题,还可以继续访问设备。

图6.1 “无返回设置”实例

要禁止路由器R1的接口Serial0 ,必须修改数据对象ifOperStatus 。从管理的角度来看,这涉及把该数据对象设置为0,这样可以禁止网络接口,于是通过该网络接口的网络流量被切断。

155

其它几个可以以读/写方式访问的数据对象可能也需要修改。例如,还应该修改数据对象sysContact和sysLocation 。下面,我们使用一条snmpset命令为这两个数据对象分配新值:

6.2.10 snmpstatus

snmpstatus命令可以从使用snmpget命令的SNMP网络实体处获得重要信息。该命令的句法如下:

snmpstatus host community

当远程的管理代理使用一般的分区名public时,这条SNMP命令可能不会接收它,因为public用于缺省状态。对某个设备使用snmpstatus命令时,将显示如下信息:·设备的IP地址

·MIB数据对象sysDescr

·MIB数据对象sysUpTime

·所有设备接口接收和发送的包的总数(即ifInUcastPkts* 与ifInNUCastPkts*之和)·接收和发送的IP包的总数(即ipInReceives.0 与ipOutRequests.0之和)

·活动的接口数

·禁止的接口数

因此对一个名为switch-2200的设备运行这条命令:

snmpstatus switch-2200 private

将会得到输出结果:

使用这个工具很方便,在不了解某个设备或指定要查询的MIB数据对象时,使用该工具可以很快获得一个网络设备当前的状态。可以看到,这里的设备是运行着7.0版本的交换软件的LinkSwitch 2000(3Com公司生产)。该设备已经运行了90小时23分钟。注意,这里snmpstatus已经探测到该设备有8个接口关闭了。不过,这种情况下这并不算什么问题,因为这个设备是一个Ethernet交换器,它的接口连接在PC机或工作站上。因此,有些用户经常重启他们的系统,当他们每晚离开办公室时,就关掉系统的电源。这就使得某些交换器端口看起来关闭了,这也是为什么snmpstatus的输出结果如此显示的原因。

156

6.2.11 snmptable

snmptable命令提供了通过SNMP的GETNEXT请求获得完整MIB表格信息的功能。这条命令的句法如下:

snmptable [common options] [additional options] host community tableID

该命令至少有的参数包括host、community、tableID 。tableID必须是一张真实的SNMP 表格,例如interfaces.ifTable 。ifTable表格中包含一系列MIB数据对象,它们表示某个设备接口的性能和特性信息。MIB-II中定义了一些表格,可以使用这条命令来显示它们。这些表格是:

snmptable命令的主要功能是用户可以使用该命令来显示SNMP表格,并把某些重要的表格数据输入到其它程序中用于报告和控制。例如,要显示一张有关TCP连接的表格tcpConnTable ,需要使用如下命令:

注意,这条命令要求一张有效的SNMP表格。因此,如果在命令行中提供的是一个非表格的数据对象,将有错误产生。下面就是一个例子:

这里我们在snmptable的命令行中提供了一个MIB数据对象system.sysContact.0(它不是一张MIB表格)。可以看到,这里显示了一条错误信息,其中包括该表格的第一个元素(即.1.1)。

这条命令还支持其它一些可控制输出格式的命令行选项。表6.7中列出了这些选项。

TCP表格时,

157

如果要使用冒号作为域分隔符,需要使用如下命令:

现在,显示结果中的每一列都被字符:分隔开了,于是很容易把这个信息作为其它程序的输入。选项–b 可用于提供更加简洁的报头信息,就象下面列出的输出信息那样。这里的表格at.atTable中包含IP地址和物理地址的地址转换映射信息。本例中列出了三列,包括IfIndex、PhysAddress和NetAddress。其中IfIndex显示的是接口表格中的索引,它说明这里的映射对应表格中的哪些接口。PhysAddress是数据链路地址(本例中是Ethernet),NetAddress是与网络中各个设备有关的IP地址。

6.2.12 snmptest

snmptest命令提供了一种简单的类似shell的功能,它使得管理代理与另一个使用SNMP 协议的网络实体间的通信更加容易。不象其它大多数的UCD工具,snmptest命令是交互式的,用提示输入信息的方式来完成任务。

该命令支持三种操作模式:get ,getnext和set 。使用$N 命令就把snmptest命令置成GETNEXT模式;而使用$S 命令就置成SET模式。如果要返回GET模式,需要使用$G 命令。缺省状态下,snmptest处于GET模式,此时提示用户指定一个MIB数据对象,于是该命令将从某个SNMP设备中获得这个数据对象的信息。

158

6.2.13 snmptranslate

snmptranslate命令用于把SNMP的MIB数据对象信息转换成可读的文本形式。当对一个MIB数据对象运行这条命令时,它把数据对象信息或者转换成SMI值,或者转换成符号形式。如果没有特别指定选项时,该命令就显示SMI值,这是缺省形式。这个工具支持的命令行选项,已在表6.8中列出。该命令的主要作用就是在不读取MIB定义文件的情况下显示MIB数据对象的所有特征。

表6.8 snmptranslate的命令行选项

在使用不带任何命令参数的snmptranslate命令时,显示结果是带点的数字形式的数据对象标识符。这种情况下,使用下面的命令转换MIB数据对象system.sysDescr:snmptranslate system.sysDescr

结果是:

.1.3.6.1.2.1.1.1

要显示一个MIB数据对象稍完整的说明信息,需要使用选项-d。下面举例说明,请看:snmptranslate –d system.sysDescr

在执行命令后,将有如下的输出结果:

6.2.14 snmptrap

snmptrap命令将向某个指定的SNMP管理员发送一条SNMP trap报文。把这条命令插入一个shell script或其它程序中,可用于向任何数量的SNMP网络管理员发送trap 。在该命令的命令行中可以指定一个或多个数据对象的标识符,同时必须有每个数据对象的类型及相应的值。snmptrap命令支持SNMPv1和SNMPv2两种格式。该命令的基本句法如下:

其中enterprise-oid域标识了产生trap的网络管理子系统。agent是发送trap的主机。

159

generic-trap相应于预先定义的一个SNMP trap 。在第二章的表2.4中列出了这些trap 。specific-trap值标明了trap更具体的一些属性。uptime域表示设备上次初始化到发送trap之间的timestamp 。另外,object ID、tupe、value等域作为相关trap的附加信息。这些附加域和变量绑定在一起,其中可以包含与trap相关的任何类型的信息。

enterprise-oid、agent、uptime域不需要在命令行中指定。可以使用几个连续的空字符“”来指定这些域为缺省值。其中enterprise-oid域的缺省值是 1.3.6.1.4.1.3.1.1(或者是enterprises.cmu.1.1)。缺省的agent值是运行snmptrap命令的机器的主机名。uptime域的值从本地系统的MIB数据对象system.sysUpTime.0中获得。

举一个例子,假定我们要向一个名为rembrandt的网络管理系统发送一条link-down trap 报文。进一步考虑,我们要通知它某个端口已经关闭,可以在该trap的绑定变量中指定端口信息。将用到下面的命令:

在本例中,对于enterprise-oid和uptime域,使用的是缺省值。同时,我们指定了具体的接口(ifindex.1),并把它的值设置为1(这说明它是该设备的第二个接口)。2 表示这里是一个link-down trap ,而0 说明为specific-trap域提供的值是0 。

如果再看一下rembrandt接收到的trap ,可以得到以下的输出结果:

实际上,多数的link-down报文都没有实际意义。然而,当它们从一个关键设备(例如核心的路由器和交换器)处传来时,某个关闭的接口很可能会导致网络故障。

当你在配置网络设备发送的trap时,一定要非常注意,因为激活trap可以引起“trap 水灾”(trap flood)。Trap水灾是指网络中有大量的trap被发送,这是由于某个端口以每秒数次的频率在开/关状态下振荡而引起的。多数情况下,这表示发送trap的设备发生了故障。不过,只要稍微注意,就能避免这种问题。

6.2.15 snmptrapd

snmptrapd命令用于接受和记录SNMP trap 。从端口162处发送的trap或者被UNIX的syslog工具记录下来,或者显示在终端上。这些报文在发送时使用LOG-W ARING记录级;如果可以收到的话,它们将发送给LOG_LOCAL记录级。只有超级用户才可以运行这条命令,因为该命令要从一个保留的端口处接收信息。在执行这条命令时,如果没有使用任何选项,将使该命令在后台运行,将与调用它的shell分离。

snmptrap命令支持几个命令行选项参数,包括-P、-D 、-d 、-q 。选项–P将通知snmptrapd在标准输出上显示接收到的任何trap ;选项–d 将显示trap包的映像。因此,要显示接收到的trap和trap包,需要使用下面的命令:

snmptrapd –p -d

如果还是使用前面例子中的主机rembrandt ,运行该命令的输出结果如下:

160

第一行显示了版本号及snmptrapd进程是何时开始运行的。接下来输出结果显示了trap 包的字节数、发送trap的主机名(monet)及UDP端口(本例中是32566)。trap的内容有十六进制形式和ASCII形式两种。最后显示的trap信息,其中还包括绑定变量的信息。

选项–D 将显示附加的故障排除信息,其中包括MIB文件的解析信息。用户手册中介绍使用选项-q可以显示更详细的输出结果,不过,好象这个版本的命令中没有实现该功能。

6.2.16 snmpwalk

snmpwalk命令通过SNMP的GETNEXT请求,可以遍历管理代理MIB结构树。在命令行中可以使用一个数据对象参数来指定从MIB的哪一部分开始遍历。如果没有指定数据对象参数,snmpwalk将自动搜索,从MIB-II的数据对象开始遍历。所以,这条命令snmpwalk monet public

将遍历设备monet的整个系统管理代理的MIB 。既然MIB-II包含了大量的数据对象,随意使用这条命令将产生大量的输出结果。我们可以限制该命令的显示,不再显示管理代理支持的所有数据对象,而只显示其中一个组的管理代理。如我们可以使用下面这条命令显示MIB-II的system组的数据对象:

如果需要遍历指定管理代理整个MIB,并把输出结果存到一个文件中,可以使用下面的命令:

snmpwalk cisco-gw5 public .1 > walk.out

上面这条命令使用.1 作为snmpwalk的起始位置。这样做将保证每一个数据对象都能显示出来,因为.1是整棵MIB结构树的根,从这个起始点开始可以访问所有的数据处理对象。遍历整棵MIB结构树可以帮助我们找到某个指定的MIB数据对象,或者是知道指定的管理代理到底支持多少个数据对象。要想知道cisco-gw5大约支持多少数据对象,只需统计

161

一下文件中有多少行就可以了。因为snmpwalk显示每个MIB数据对象需要一行(除非显示内容超过80个字符),所以我们可以使用UNIX的wc命令来统计文件walk.out一共有多少行。

该命令

wc –1 walk.out

的输出结果是:

2242 walk.out

我们可以看到,该命令的输出结果说明设备cisco-gw5包含的管理代理支持2242个MIB 数据对象。如果在snmpwalk的命令行中没有特别指定任何数据对象,该命令将搜索MIB-II 数据对象,这是缺省状态。当snmpwalk搜索超出管理代理的MIB终点时,将显示信息“End of MIB”。例如,当管理代理并不支持命令行中指定的MIB数据对象组时,这种现象就可能发生。

6.3 snmpconf工具

6.3.1 概述

snmpconf命令提供了配置设备的功能,它使用snmpset命令对配置文件中定义的MIB 数据对象进行操作。配置文件中可能包含一个MIB数据对象的清单和应该为SNMP设备设置的数据对象值。该工具提供了一种自动机制,可用于实现大量设备的标准配置,或者是配置一个必须进行多次相同配置的设备。例如,假定要安装几个路由器设备,如果我们创建一个配置文件,其中包含这些路由器共同使用的通用的配置数据对象,这样就会方便地完成配置工作。每当一个设备第一次安装时,就可以运行这样的配置文件。这种方法与手动配置各个路由器不同。使用该方法,节省了安装一个设备所需要的时间,并且出现配置错误的可能性也降低了。

配置文件可以包含MIB数据对象条目、注释,及空行等。加注释时,需要在每一行开头写一个# 号。一个标准的数据对象条目由类型、OID、数据对象值、注释字符串构成。清单6.1就是一个配置文件实例:

清单6.1 snmpconf配置文件实例

本例有三个配置条目,每一个在第一个域中都包含字符S ,它标明了第二个域中的MIB数据对象的类型。这里S 意味着数据对象的类型是STRING 。这个域被认为是一个字符串,因此,其中一定不能包含任何额外的空格。所以,Virginaia-Maxwell是有效的,而Virginia Maxwell就不能放在这个域中。而且,这里也不允许使用双引号。如果使用了英符″Virginia Maxwell″,将会导致一个配置错误。snmpconf工具定义了两个补充的类型:I代表162

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等服务。

网络管理与维护实验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)学习理解

简单网络管理协议学习理解 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 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报文分析 一、配置SNMP协议的使用环境 1、主机Windows10的配置 ●安装SNMP协议 ●配置并打开SNMP Service服务

2、目标机Windows XP的配置 ●配置过程和Windows10下类似,此处不再赘述 ●目标机的ip地址为192.168.72.129

目标机的计算机名为 二、利用Wireshark抓取SNMP协议包 1、下载安装snmputil.exe和wireshack 2、利用snmputil工具发送snmp数据包 snmputil命令规则: [get|getnext|walk]为消息类型,我们此次进行的操作是get agent指Snmp代理即你想进行操作的网络设备的ip或名称,即192.168.10.191 community:分区域,即密码,默认是public oid:想要操作的MIB数据对象号

示例: snmputil walk 对方ip public .1.3.6.1.2.1.1.5.0列出计算机名snmputil walk 对方ip public .1.3.6.1.2.1.25.4.2.1.2 列出系统进程snmputil walk 对方ip public .1.3.6.1.4.1.77.1.2.25.1.1 列系统用户列表snmputil get 对方ip public .1.3.6.1.4.1.77.1.4.1.0 列出域名 snmputil walk 对方ip public .1.3.6.1.2.1.25.6.3.1.2 列出安装的软件snmputil walk 对方ip public .1.3.6.1.2.1.1 列出系统信息 3、同时在wireshack中抓包

SNMP:简单网络管理协议(Simple Network Management Protocol)

SNMP:简单网络管理协议(Simple Network Management Protocol) SNMP 是专门设计用于在IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS 等)的一种标准协议,它是一种应用层协议。SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。 SNMP 管理的网络有三个主要组成部分:管理的设备、代理和网络管理系统。管理设备是一个网络节点,包含ANMP 代理并处在管理网络之中。被管理的设备用于收集并储存管理信息。通过SNMP,NMS 能得到这些信息。被管理设备,有时称为网络单元,可能指路由器、访问服务器,交换机和网桥、HUBS、主机或打印机。SNMP 代理是被管理设备上的一个网络管理软件模块。SNMP 代理拥有本地的相关管理信息,并将它们转换成与SNMP 兼容的格式。NMS 运行应用程序以实现监控被管理设备。此外,NMS 还为网络管理提供了大量的处理程序及必须的储存资源。任何受管理的网络至少需要一个或多个NMS。 目前,SNMP 有3种:SNMPV1、SNMPV2、SNMPV3。第1版和第2版没有太大差距,但SNMPV2 是增强版本,包含了其它协议操作。与前两种相比,SNMPV3 则包含更多安全和远程配置。为了解决不同SNMP 版本间的不兼容问题,RFC3584 种定义了三者共存策略。 SNMP 还包括一组由RMON、RMON2、MTB、MTB2、OCDS 及OCDS 定义的扩展协议。 协议结构 SNMP 是一种应用程序协议,封装在UDP 中。各种版本的SNMP 信息通用格式如下所示 Version:SNMP 版本号。管理器和代理器必须使用相同版本的SNMP。需要删除具有不同版本号的信息,并不对它们作进一步的处理。

SNMP协议分析

SNMP协议分析 摘要:当今由路由器、交换机、服务器组成的复杂的网络,确保所有的设备正常运行且处于最佳状态确实是一件困难的事情。为了解决这个问题在1988年正式推出了简单网络管理协议(SNMP)。利用SNMP只需一些“简单”的操作便可实现对网络设备的远程管理。但同时SNMP是威胁安全的十大首要因素之一。 目录: 1SNMP简介 (2) 1.1SNMP版本 (2) 1.2管理端和agent (2) 1.3SNMP 和UDP (2) 2管理对象 (3) 2.1SMI和MIB (3) 2.2OID命名 (3) 2.3管理信息结构 (4) 3SNMP 操作 (5) 4SNMP V3 (5) 4.1SNMPv3的变化 (6) 4.2SNMPv3引擎 (6) 4.3SNMPv3 应用程序 (6) 4.4SNMPv3 安全机制 (6) 5SNMP受到的安全威胁 (7) 5.1拒绝服务攻击DOS (7) 5.2流量分析攻击 (8) 5.3认证机制漏洞 (8)

1SNMP简介 SNMP可以用于管理很多类型的设备,其核心是帮助网络管理员简化对一些 支持SNMP设备设置的操作(也包括这些信息的收集)。例如,使用SNMP可以关闭路由器的一个端口,也可以查看以太网端口的工作速率。SNMP还可以监控交换机的温度,在出现过高现象进行报警。 1.1SNMP版本 IETF负责定义互联网流量监管的标准,这里面包括SNMP。IETF发行的RFCs,对IP领域中的众多协议进行了详细的阐述。下面列举了一些当前的SNMP版本。1)SNMP V1是SNMP协议的最初版本,不过依然是众多厂家实现SNMP基本方式。2)SNMP V2通常被指是基于community的SNMP V2。Community实质上就是密码。3)SNMPv3 是最新版本的SNMP。它对网络管理最大的贡献在于其安全性。增加了对认证和密文传输的支持。 1.2管理端和agent SNMP有2个主体:管理端和agent。 管理端指的是运行了可以执行网络管理任务软件的服务器,通常被称作为网络管理工作站(NMS),NMS负责采样网络中agent的信息,并接受agent的trap。 Agent是运行在可网络设备上的软件。可以是一个独立的程序(在Unix中叫守护进程),也可以是已经整合到操作系统中(比如:锐捷路由器的RGNOS,或者UPS中的底层操作系统)。 NMS和Agent工作示意图 1.3SNMP 和UDP SNMP采用UDP协议在管理端和agent之间传输信息。 SNMP采用UDP 161 端口接收和发送请求,162端口接收trap,执行SNMP的设备缺省都必须采用这些端口。

SNMP报文抓取及分析

SNMP报文获取与分析 班级:网络工程12-1班 学号:08123536 姓名:赵怀庆

SNMP报文抓取及分析 关于本次SNMP报文抓取及分析工作,我大致上分为三个步骤进行:准备工作;报文抓取及报文分析。 一.准备工作 1.SNMP协议的安装 以WINDOW7系统为例: 点击确认进行协议安装。 2.启动SNMP服务:

在计算机关服务界面中,选择SNMP Service进行开启服务,双击进行配置,如下: 在安全选项卡中做如上配置。 3.下载并安装snmputil工具 安装路径为C盘下Windows下System32文件夹。关于snmputil的使用请见(附件)。4.关于SNMP数据包的接收,我用了虚拟机中WINDOW 2000操作系统,SNMP协议的安 装及服务的开启与上述WINDOW 7系统类似。查看虚拟机IP地址:

二.报文抓取 1.准备工作就绪以后,就可以进行SNMP报文的抓取了,在WINDOW 7中cmd使用snmputil 工具进行发包: 2.同时在Wireshark中进行抓包:

三.报文分析 目的MAC:00 0c 29 2f fc e3 源MAC:00 50 56 c0 00 08 协议类型:08 00 ,为IP数据报 IP报头:45 00 00 44 02 09 00 00 40 11 bc cb c0 a8 9d 01 c0 a8 9d 82 45 IP协议版本4,报头长度20 bytes 00 00 44 总长度68(0x44) 02 09 确认号:512 00 00 标记字段0x00 无偏移字段 40 存活时间64 11 报文协议UPD aa 26 报头确认号43558 b4 7c 0a 79 源IP地址180 124 10 121 c0 a8 11 81 目标IP地址192 168 17 129 UDP报头:c9 6b 00 a1 00 30 43 6f C9 6b 源端口161 00 a1 目标端口161

简单网络管理协议(SNMP)

简单网络管理协议(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中只是实现了简单的身份鉴别,接收方仅凭共同体名来判定收发双方是否在同一个共同体中,而前面提到的附加倍息尚未应用。接收方在验明发送报文的管理代理或管理进程的身份后要对其访问权限进行检查。访问权限检查涉及到以下因素:

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地址更改等。

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