snmp报文分析

snmp报文分析
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布尔值

null空

integer整型

real实数

octerstring八进制字符串

object identifier对象标识

ipaddressIP地址

time ticks时刻值等。

b.构造数据类型:

sequence序列

sequence of set

set ofchoice等。

构造数据类型提供一种或多种简单数据类型进行复合的方法。

基本编码规则BER

在具体系统中,我们需要用具体的编码规则将语法表示的抽象数据转换成具体的比特流。

SNMP使用的编码方法是BER(Basic Encoding Rule)。BER的数据都由三个域构成:标识域(tag) + 长度域(length) + 值域(value)。

1.标识域Tag表示:

2.长度域length表示

长度域用于指示后续的值域value的字节数。但是这个长度域自身多长怎么确定呢SNMP使用的是变长表示法,这有点类似与UTF8的编码方式。具体表示方

因为绝大部分情况下,值域的长度都在【0,127】区间内,所有这种表示方法最节约。

snmp报文介绍

SNMP首部

SNMP报文的首部指明了这个报文是SNMP协议报文,以及报文的字节数。

SNMP报文的第一个字节用于表示这是一个SNMP报文,就是0x30。在第一个字节之后是一个长度域,用于告知后面的SNMP报文的总字节数(不包括前面的0x30和这个长度域所占的字节数)。如下所示:

SNMP版本表示

Community共同体表示

共同体部分这里一共占了8个字节。如:

x04,0x06,0x70,0x75,0x62,0x6c,0x69,0x63

0x04是标识域,表示值域类型为(OCTSTR)

0x06是长度域,表示值域的长度为6个字节

70 75 62 6c 69 63是值域的内容,是群体名public的assic码值

PUD表示

这个部分内容比较多,但都是基于BER形式编码出来的。内容举例如下:a2 23 02 04 22 70 8b d4 02 01 00 02 01 00 30 15 30 13 06 0e 2b 06 01 04 01 8c a6 5e 01 01 01 01 01 00 02 01 2b

1.PDU类型

上面的第一个字节0xa2就是表示这个PDU的类型。见下表

2.PUD长度域

0xa2后一个字节是这个PUD的长度域,0x23表示后面的值域是35个字节。

3.get/set表示

SNMP应该说是有三种操作,get/set/trap,又可细分为上面表格中的5中PDU类型。其中get和set有共同之处,这里先以get的来做说明。

(1)请求标识符Request ID

这是由管理进程设置的一个整数值。代理进程在发送get-response报文时也要返回此请求标识符。管理进程可同时向许多代理发出get报文,这些报文都使用UDP传送,先发送的有可能后到达。设置了请求标识符可使管理进程能够识别返回的响应报文对于哪一个请求报文。

举例:02 04 22 70 8b d4

0x02是标识域,表示值域为整型数据

0x04是长度域,表示值域长度为4个字节

0x22 70 8b d4是值域,就是一个整数而已。(2)

(2)错误状态error-state

错误状态是用于告知管理进程,代理进程对其发出的请求的处理结果的状态的。举例:02 01 00

0x02是标识域,表示值域为整型数据

0x01是长度域,表示值域长度为1个字节

0x00是值域,表示没有出错

(3)错误索引error-index

当出现noSuchName、badValue或readOnly的差错时(见上表),由代理进程在回答时设置的一个整数,它指明有差错的变量在变量列表中的偏移。

举例:02 01 00

0x02是标识域,表示值域为整型数据

0x01是长度域,表示值域长度为1个字节

0x00是值域,因为没有出错,所以这里为0

变量绑定

变量绑定就是跟在错误索引后面的一系列变量。这些变量同样也采取BER 形式的编码规则。

在get或get-next报文中,变量的值应忽略。

trap(notification)

PUD的类型如果不是上面的所述的get/set那就应该是trap(notification)

1.OID:

第一个部分是指trap报文对应的网络设备的对象标识符。此对象标识符

肯定是在enterprise结点{.}下面的一棵子树上。

2.trap类型

3.当使用上述类型2、3、5时,在报文后面变量绑定部分的第一个变量应标识响应的接口。

4. 特定代码(specific-code)

指明代理自定义的时间(若trap类型为6),否则为0。

时间戳(timestamp)

指明自代理进程初始化到产生trap报告的事件发生所经历的时间,例如时间戳为1230表明在代理初始化后1230ms发生了该时间。

6.变量绑定(variable-bindings)

指明一个或多个变量的名和对应的值。也是采用的BER编码规则。

数据类型的编码表示

下面介绍一些变量类型的编码表示方法。

Integer整型编码表示

整型数据的标识域编码是0x02,长度域不定,一般是1/2/4字节等。

整型数据的值域是带符号类型,最高位是符号位,采取补码的表示形式。要注意的是,其是大端表示法(高地址存低位)。

OID对象标识符编码表示

SNMP服务器维护的所有管理信息库(MIB)对象采用ObjectID表示,如,.表示MIB库中的设备描述SysDesc变量,其编码规则如下:标识域编码为0x06,长度域根据情况而定,值域的编码比较复杂,如下所示。

1.首两个ID被合并为一个字节X * 40+Y。

例如:合并为1x40+3 = 43 = 0x2B

2.后续的ID,如果在区间[1,127]内,直接编码表示,如果大于127,那么按照下面(3)所述方法编码。

3.如果ID大于127,那么使用多个字节来表示。

a.这多个字节中除最后一个字节外,前面的字节最高位为1

b.这多个字节的最后一个字节的最高位为0

c.这里每个字节剩下的7个比特位用来表示实际的数值

例如201566这个数,用十六进制表示是0x03 13 5e,那么用二进制表示是000 1100 010 0110 101 1110。

注意上面是以7个比特位为单位进行分划的,现在我们来填充最高位。

将前面的最高位填1,最后一个最高位填0即可得到

1000 1100 1010 0110 0101 1110

用十六进制表示为0x8c a6 5e

sequence组合类型

sequence表示其由多个数据组合而成,每一个数据也都还是采用的BER编码方法。例如我们这里分析的数据包中就要一个sequence类型的数据,其值域又是有一个OID类型的数据和一个Integer类型的数据组合而成的。见实例。

2.分析报文

get-next-request报文示例分析

先使用hexdump来查看一下获取到的报文内容。(hexdump是一个很好用的十六进制分析工具)

o@o-pc:~/snmpPUD$ hexdump -C

00000000 30 2c 02 01 01 04 06 70 75 62 6c 69 63 a1 1f 02 |0,.....public...| 00000010 04 22 70 8b d4 02 01 00 02 01 00 30 11 30 0f 06 |."p..........|

00000020 0b 2b 06 01 04 01 8c a6 5e 01 01 01 05 00 |.+......^.....|

0000002e

get-response报文示例分析

报文内容:

o@o-pc:~/snmpPUD$ hexdump -C

00000000 30 30 02 01 01 04 06 70 75 62 6c 69 63 a2 23 02 |00.....public.#.| 00000010 04 22 70 8b d4 02 01 00 02 01 00 30 15 30 13 06 |."p..........| 00000020 0e 2b 06 01 04 01 8c a6 5e 01 01 01 01 01 00 02 |.+......^.......| 00000030 01 2b |.+|

00000032

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协议工作原理验证与分析

实验二SNMP协议工作原理验证与分析 一、实验目的 本实验的主要目的是学习捕获SNMP报文,通过分析该报文理解SNMP协议的工作过程、SNMP的报文结构、MIB-2树的结构、理解管理信息结构SMI及其规定的ASN.1。 二、实验内容 1、分析并验证SNMP协议的工作过程; 2、分析并验证SNMP协议数据单元的格式; 3、分析MIB-2树的结构; 4、分析理解管理信息结构SMI及其规定的ASN.1。 三、实验工具 数据包捕获软件Iris或Wireshark、MIB浏览器AdventNet、或基于UNIX、LINUX/FreeBSD平台的SNMP命令行工具、MIB文件。 四、实验步骤 1、分别打开软件Iris和MIB浏览器; 2、首先设置Iris中捕获报文的过滤条件,将其设置为只捕获管理站和代理之间的SNMP报文。用鼠标单击左侧“Filters”控件,在打开的对话框中分别设置Layer2,3和IP address项。其中,Layer2,3选中DoD IP 和SNMP;IP address加入代理主机和管理站主机的IP地址。“确定”保存该设置;

3、点击Iris中工具栏的start capture,开始捕获SNMP报文; 4、用MIB浏览器MibBrowser访问MIB被管对象,然后观察Iris中右侧内容面板中显示的信息。单击任一信息,右下侧将显示详细的报文数据; 5、用鼠标单击右下侧的报文数据,在右侧会有相关的解析与之对应。 五、实验报告 1、设置iris过滤器,使其只监测管理工作站和代理之间的通信。获取ip 组的ipForwarding对象值,写出管理工作站和代理之间的SNMP通信情况,验证SNMP协议的工作过程。 (1)获取ip组的ipForwarding对象值

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报文格式分析 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报文解析 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个八位组;

网络管理与维护课内实验报告3-SNMP报文分析

一. 实验目的 1.掌握BER基本编码规则; 2. 利用各种网络管理工具,完成相关SNMP操作,分析并掌握SNMP PDU结构,理解SNMP协议的工作原理。 二. 实验所需设备及材料 1.局域网环境中的计算机2台(1台代理,1台管理站),2台计算机已启动SNMP服务,作为管理站的计算机安装SNMPc软件和snmputil工具; 2.在某一台计算机安装网络嗅探软件。 三. 实验内容 参考实验指导书P324页5.5.2节。如图5-111所示,首先将代理一方的只读团体名、读/写团体名、trap 团体名全部修改为你的8位学号(如何添加团体名,请参考第一次实验的内容)。然后完成以下实验: 1.完成get操作,抓取get 请求报文和其响应报文(注意两个报文“request-id”一致),截图(需要截取哪些信息?请参考P327图5-114),然后对应截图分别完成两个报文的BER编码分析。 2.完成getnext操作,抓取getnext请求报文和其响应报文(注意两个报文“request-id”一致),截图,然后对应截图完成两个报文的BER编码分析。 3.完成set操作,抓取set 请求报文和其响应报文(注意两个报文“request-id”一致),截图,然后对应截图完成两个报文的BER编码分析。 4.构造一个trap,抓取trap报文,截图,然后对应截图完成该报文的BER编码分析。 5.完成SNMPv2 GetBulk操作,抓取GetBulk请求报文和响应报文(注意两个报文“request-id”一致),截图,然后对应截图完成两个报文的BER编码分析。

四.实验过程 1. get操作分析 ●说明如何产生Get操作? 答:管理站检索管理对象的管理信息库中标量对象的值,就产生一个Get操作。 ●Get请求报文抓包截图与BER分析 30 36 ;报文是SEQUENCE类型,长度是54个8位组 02 01 00 ;SNMP版本号,类型为Integer,值为版本号-1 04 08 30 34 31 33 32 30 32 31 ;团体名,类型为OETCTString值为”04132021” A0 27 ;A0表示为GET操作,其后PDU长39个8位组 02 01 01 ;request-id,类型为Integer,值为1 02 01 00 ;错误状态,类型为Integer,值为0 02 01 00 ;错误索引,类型为Integer,值为0 30 1C ;变量绑定表,类型为SEQUENCEOF,长度为28 30 0C ;第一个变量绑定,类型为SEQUENCE,长度为12 06 08 2B 06 01 02 01 01 03 00 ;变量为OID类型,值为.1.3.6.1.2.1.1.3.0 05 00 ;变量值为NULL 30 0C ;第二个变量绑定,类型为SEQUENCE,长度为12 06 08 2B 06 01 02 01 02 01 00 ;变量为OID类型,值为.1.3.6.1.2.1.2.1.0 05 00 ;变量值为NULL

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协议的使用环境 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报文分析

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

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报文格式分析 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地址更改等。

SNMP功能详解

SNMP功能详解 一、什么是SNMP SNMP:“简单网络管理协议”,用于网络管理的协议。SNMP用于网络设备的管理。SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了“读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了“Trap”操作。 二、SNMP背景 SNMP 的基本思想:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。 三、SNMP结构概述 SNMP 被设计为工作在TCP/IP协议族上。SNMP基于TCP/IP协议工作,对网络中支持SNMP协议的设备进行管理。所有支持SNMP协议的设备都提供SNMP这个统一界面,使得管理员可以使用统一的操作进行管理,而不必理会设备是什么类型、是哪个厂家生产的。如下图,

四、SNMP支持的网管操作 对于网络管理,我们面对的数据是设备的配置、参数、状态等信息,面对的操作是读取和设置;同时,因为网络设备众多,为了能及时得到设备的重要状态,还要求设备能主动地汇报重要状态,这就是报警功能。如下图,

?Get:读取网络设备的状态信息。 ?Set:远程配置设备参数。 ?Trap:管理站及时获取设备的重要信息。 五、SNMP的实现结构 在具体实现上,SNMP为管理员提供了一个网管平台(NMS),又称为管理站,负责网管命令的发出、数据存储、及数据分析。被监管的设备上运行一个SNMP 代理(Agent)),代理实现设备与管理站的SNMP通信。如下图,

snmp报文字段分析

SNMP五种协议数据单元 SNMP规定了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换。 ?get-request操作:从代理进程处提取一个或多个参数值(网管系统发送) ?get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值(网管系统发送) ?set-request操作:设置代理进程的一个或多个参数值(网管系统发送) ?get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作(代理发送) ?trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生(代理发送) 前面的3种操作是由管理进程向代理进程发出的,后面的2个操作是代理进程发给管理进程的,为了简化起见,前面3个操作叫做get、get-next和set操作。下图描述了SNMP的这5种报文操作。请注意,在代理进程端是用熟知端口161俩接收get或set报文,而在管理进程端是用熟知端口162来接收trap报文。 SNMP的5种报文操作 SNMP协议数据单元格式解析 下图封装成UDP数据报的5种操作的SNMP报文格式。可见一个SNMP报文共有三个部分组成,即公共SNMP首部、get/set首部trap首部、变量绑定。

SNMP报文格式 1. 公共SNMP首部 1.1 版本 写入版本字段的是版本号减1,对于SNMP(即SNMPV1)则应写入0。 1.2 公共体 共同体就是一个字符串,作为管理进程和代理进程之间的明文口令,常用的是6个字符“public”。 1.3 PDU类型 根据PDU的类型,填入0~4中的一个数字,其对应关系下表所示意图。 表1 PDU类型

实验四SNMP协议工作原理验证与分析

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 实验四SNMP协议工作原理验证与分析 甲方:___________________ 乙方:___________________ 日期:___________________

一、实验目的 本实验的主要目的是学习捕获SNMP报文,通过分析该报文理 解SNMP协议的工作过程、SNMP的报文结构、MIB-2树的结构、理解管理信息结构SMI及其规定的ASN.1。 二、实验内容 1、分析并验证SNMP协议的工作过程; 2、分析并验证SNMP协议数据单元的格式; 三、实验工具 数据包捕获软件Sniffer、MG — SOFT MIB浏览器。 四、实验步骤 1、从天空教室—网络协议分析的课程资源下载Sniffer学习手册。阅 读Sniffer学习手册,掌握设置过滤器和捕获数据包的基本方法。 2、分别运行软件Sniffer和MIB浏览器; 3、首先设置Sniffer中捕获报文的过滤条件,将其设置为只捕获管理 站和代理之间的SNMP报文。 4、点击Sniffer中工具栏的start capture开始捕获SNMP报文; 5、用MIB浏览器MibBrowser访问另一台计算机(非本机)或路由器的MIB被管对象。 6、单击“Stop and Display按钮,停止抓包,单击窗口左下角“Decode”

选项,观察并分析所捕获的数据。 五、实验报告 在捕获的报文中找出一对 Snmp 请求和响应报文,如 Get request 和 Get response GetNext request 和 Get response^ Set request 和 Get response 1、提交Get 报文截图和Get response^艮文截图,截图内容包括IP 首 部、UDP 首 部、SNMP 首部和BER 编码格式的SNMP 报文结构。如 下图所示 \E >P ?1 DKrfe ANHitK A HoS Ts:4e RMgd E. *汨侦CC / Fw ptejj Fl. ]23 saECfijcI K .-''hapx 17 (CEDP} B7 3D 《L ] ? [1^2 16B 0.1] Damtian * [ 1^2 ISH. D. Z] Ha options 0£F: --■—— VHP ScMir? poi t ,■ 11H DHitinaUaii part - 1G1.[甜NF.I Le>ii ?,Q Oheck-suB ? *Et ■ (1.3.?. 1.2.1.1 .S.0>} (W M B * 0) “Is ? FULL SNMP 首部 BER 编码格式的 SNMP 报文 Ji

SNMP报文分析

报文分析 版本号:SNMP V ersion-1(0)00 数据报编号:2 30 26 SNMP报文是ASN.1的SEQUENCE类型报文长度38字节02 01 00 版本号为INTEGER类型取值为1 表示SNMPv1 04 06 70 75 62 6c 69 63 团体名为OCTET STRING类型值为“public” al 19 表示PDU类型为get-next-request型19为数据长度25字节02 01 02 请求标识INTEGER类型 02 01 00 非重复数,INTEGER类型,值为0 02 01 00 最大后继数,INTEGER类型,值为0 30 0e 30为SEQUENCE型0e为数据长度为14个八位组 30 0c 30为SEQUENCE型0c为数据长度12字节

报文分析 版本号:SNMP V ersion-1(0)00 数据报编号:2 30 27 SNMP报文是ASN.1的SEQUENCE类型报文长度38字节02 01 00 版本号为INTEGER类型取值为1 表示SNMPv1 04 06 70 75 62 6c 69 63 团体名为OCTET STRING类型值为“public” A2 1a 表示PDU类型为get-response型,长度为26个八位组 02 01 02 请求标识INTEGER类型 02 01 00 非重复数,INTEGER类型,值为0 02 01 00 最大后继数,INTEGER类型,值为0 30 0f 30为SEQUENCE型0e为数据长度为15个八位组 30 0d 30为SEQUENCE型0c为数据长度为13个八位组

深入浅出SNMP及其应用实例分析

深入浅出SNMP 及其应用实例分析 、SNMP 协议简介 SNMP 是英文“ Simple Network Management Protocol ”的缩写,中文意思是“简单网络管理协议”。SNMP 是目前最常用 的环境管理协议。SNMP 被设计成与协议无关,所以它可以在IP, IPX ,AppleTalk ,OSI 以及其他用到的传输协议上被使用。SNMP 是一系列协议组和规范,它们提供了一种从网络上的设备中收集网络管理信息的方法。SNMP 也为设备向网络管理工作站报告问题和错误提供了一种方法。 目前,几乎所有的网络设备生产厂家都实现了对SNMP 的支持。领导潮流的SNMP 是一个从网络上的设备收集管理信息 的公用通信协议。设备的管理者收集这些信息并记录在管理通信超载和错误等。MIB 有公共的格式,所以来自多个厂商的SNMP 管理工具可以收集MIB 信息,在管理控制台上呈现给系统管理员。 信息库(MIB )中。这些信息报告设备的特性、数据吞吐量、 在实际网络管理过程中,网络管理具有的功能非常广泛,包括了很多方面。在OSI 网络管理标准中定义了网络管理的五 大功能:①故障管理;②配置管理;③性能管理;④安全管理;⑤计费管理,这五大功能是网络管理最基本的功能。事实上,网络管理还应该包括其他一些功能,比如网络规划、网络操作人员的管理等。网络管理系统的五大功能域之间既相对独立,又存在着联系。

在SNMP 管理模型中有三个基本组成部分:管理者 Manager ), 代理(Agent )和管理信息库(MIB)。1. 管理者是实施网络管理的处理实体,驻留在管理工作站上。它是整个网络系统的核心,完成复杂网络管理的各个功能。 SNMP 管理代理指的是用于跟踪监测被管理设备状态的特 殊软件或硬件,每个代理都拥有自己本地的MIB 。实际 ,SNMP 的管理任务是移交给管理代理来执行的。代理翻译来自管理站的请求,验证操作的可执行性,通过直接与相应的 功能实体通信来执行信息处理任务,同时向管理站返回相应信息。 2. 管理代理是配合网络管理的处理实体,驻留在被管对象上。 管理代理监测所在网络部件的工作状况,收集有关网络信息。 SNMP 管理代理指的是用于跟踪监测被管理设备状态的特 殊软件或硬件,每个代理都拥有自己本地的MIB 。实际 ,SNMP 的管理任务是移交给管理代理来执行的。代理翻译

snmp报文分析.doc

SNMP 报文格式分析 1.SNMP 报文格式 1.1 snmp 简介 1.1.1 snmp 工作原理 SNM 采用特殊的客户机/服务器模式,即代理/管理站模型。对网络的管理与维护是通过管理工作站与 SNM 代理间的交互工作完成的。每个 SNMP 从代理负责回答 SNM 管理工作站(主代理)关于 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 t 理站用Get-Request 消息从拥有SNM 代理的网络设备中检索信息,而SNMP 代理则用Get-Response消息响应。Get-Next- Request 用于和Get-Request

组合起来查询特定的表对象中的列元素。 2.Set-Request 设备SNM 管理站用 Set-Request 可以对网络设备进行远程配置(包括设备名、 属性、删除设备或使某一个设备属性有效 /无效等)。 3. Trap SNM 代理使用 Trap 向 SNM 管理站发送非请求消息,一般用于描述某一事 件的发生,如接口UP/DOWNIP 地址更改等。

SNMP协议工作原理验证与分析

实验四SNMP协议工作原理验证与分析 一、实验目的 本实验的主要目的是学习捕获SNMP报文,通过分析该报文理解SNMP协议的工作过程、SNMP的报文结构、MIB-2树的结构、理解管理信息结构SMI及其规定的ASN.1。 二、实验内容 1、分析并验证SNMP协议的工作过程; 2、分析并验证SNMP协议数据单元的格式; 三、实验工具 数据包捕获软件Sniffer、MG-SOFT MIB浏览器。 四、实验步骤 1、从天空教室-网络协议分析的课程资源下载Sniffer学习手册。阅读Sniffer学习手册,掌握设置过滤器和捕获数据包的基本方法。 2、分别运行软件Sniffer和MIB浏览器;

sniffer MIB浏览器 3、首先设置Sniffer中捕获报文的过滤条件,将其设置为只捕获管理

站和代理之间的SNMP报文。 4、点击Sniffer中工具栏的start capture,开始捕获SNMP报文; 5、用MIB浏览器MibBrowser访问另一台计算机(非本机)或路由器的MIB被管对象。

6、单击“Stop and Display”按钮,停止抓包,单击窗口左下角“Decode”选项,观察并分析所捕获的数据。

SNMP Get response

五、实验报告 在捕获的报文中找出一对Snmp请求和响应报文,如Get request 和Get response、GetNext request和Get response或Set request和Get response。 1、提交Get报文截图和Get response报文截图,截图内容包括IP首部、UDP首部、SNMP首部和BER编码格式的SNMP报文结构。如下图所示。 IP首部 UDP首部 SNMP首部 BER编码格式的SNMP报文

SNMP说明文档

SNMP介绍 SNMP 简单网络管理协议,是TCP/IP协议族的一部分,使用UDP对网络进行管理的一个框架,属于应用级协议,它提供一组简单标准的操作区收集、修改及交换网络设备之间的网络管理咨询,以便监察和维护网络设备。SNMP协议正好解决了网络上日益普及的两大问题: 1、网络规模逐渐增大,网络设备的数量成级数增加,网络管理员很难及时监控所有设备的状态、发现并修复故障。 2、网络设备可能来自不同的厂商,如果每个厂商都提供一套独立的管理接口(比如命令行),将使网络管理变得越来越复杂。 SNMP是如何实现对于网络设备的管理的呢?首先需要一个SNMP代理和SNMP 管理器。网络设备以守护进程的方式运行SNMP代理,该守护进程能够响应来自网络的各种请求信息。因此,SNMP就是管理进程(NMS)和代理进程(Agent)之间的通信协议。它规定了在网络环境中对设备进行监视和管理的标准化管理框架、通信的公共语言、相应的安全和访问控制机制。网络管理员使用SNMP功能可以查询设备信息、修改设备的参数值、监控设备状态、自动发现网络故障、生成报告等。所以SNMP具有以下特点: 1、基于TCP/IP互联网的标准协议,传输层协议一般采用UDP。 2、自动化网络管理,网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告。 3、屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP只提供最基本的功能集,使得管理任务与被管设备的物理特性和实际网络类型相对独立,从而实现对不同厂商设备的管理。 4、简单的请求—应答方式和主动通告方式相结合,并有超时和重传机制。 5、报文种类少,报文格式简单,方便解析,易于实现。 一、SNMP发展历史 SNMP开发于九十年代早期,出于业界对网络管理协议标准化的迫切要求的驱动,IETF于1990发布了SNMPv1的正式RFC 文档;其设计思想重点放在保证协议的简单性、灵活性和可扩展性上,并希望把SNMP作为一个过渡性的网管协议

实验4 SNMP 协议验证与分析

实验报告 院(系):数学与计算机科学学院专业班级: 学号: 姓名: 实验地点:网络实验室 实验日期:2015年12月8 日

一、实验目的 本实验的主要目的是学习捕获SNMP报文.通过分析该报文理解SNMP协议的工作过程、SNMP的报文结构、M1B-2树的结构、理解管理信息结构SMI及其规定的ASN.1 二、实验内容 1、分析并验近SNMP协议的工作过程 2、分析并验近SNMP协议数据单元的格式 3、分析MEB-2树的结构 4、分析理解管理信息结构SMI及其规定的ASN.1 三、实验工具 数据包捕获分析软件Wireshark、SNMP MIB浏览器(如SNMPB)。 实验环境的说明: 本实验最佳环境是在真实的网络环境中进行. 可以采取的方式: 1)两台联网,可以相互通倌的计算机:一台做管理站(安装SNMP M1B浏览器), —台是被管设备(安装SNMP服务)。然后通过Wireshark抓包: 2)构建如实验二中如Cisco Packet Tracer的真实实验网络.对通过计算机对路由器/ 交换机进行管理.在计算机上通过Wireshadc抓包: 注意:本机对本机(127.0.0.1的ip地址)进行通信管理。Wireshark抓包不能抓取到对127.0.0.1的通信数据包:在Cisco Packet Tracer仿真环境中进行协议査看.不能分析具体的二进制数,是显示的对SNMP数据包解析后的格式。 如果只有一台计算机,要完成本实验.可以采取的方法是使用GNS3软件仿真网络。可以实现仿真网络与真实计笃机的互联互通(Cisco Packet Tracer)不能与真实的物理网络实现互联互通),对仿真环境中的路由器通过与本机通佶实现管理.在仿真环境中可以用 Wireshark

相关文档
最新文档