snmp 协议分析
• 目前SNMP有3个版本,本次实验以SNMPv1为例。
实验验证及分析SNMP协议工作原理
• 实验目的:
本实验的主要目的是模拟捕获SNMP报文,通过分析该报文理解 SNMP协议的工作过程、SNMP的报文结构、MIB-2树的结构、理解 管理信息结构SMI。
• 实验思路:
通过在本机和目标机上设置SNMP协议程序,利用BIM Browser来 模拟SNMP管理过程,再使用wireshark捕获其通信数据包进行分析。 (均为windows7系统)
具体对ifNmber数据进行分析
右图显示的是ifNmber这个MIB变量的格式,其QID序号 为.1.3.6.1.2.1.2.1,符合RFC1213-MIB的标准,其数据类型 为INTEGER,访问方式为只读,状态为必备的,对其描述为 The number of network interfaces (regardless of their current state) present on this system. 这个系统包含网络接口的数量(丌管他们的当前状态)。只获取 ifNmber数据得网络接口的数量为33。
管理信息库(Management Information Base)
• MIB是支持SNMP设备必须的一个信息数据库,并由代理程序进行维护 。数据库中的数据是以树状的结构进行表示的。
左图展示了以一个 计算机作为设备时 的MIB库结构。该 MIB库位于mgmt分 支下的mib-2子分支 中。主要支持如图 的13种功能。
通信协议
• 在SNMP协议中,通信协议主要是管理程序和代理程序之间通信,共 有五类消息:GetRequest,GetNextRequest,GetResponse, SetRequest,Trap,其模型如下:
GetRequest
计 算 机
管 理 程 序
GetResponse GetNextRe quest
• SET:设置指定OID的MIB变量的当前值。
• TRAP:设备代理程序对预设的报警或关键值采用中断方式主劢向管 理程序回报。
共同体(Community)及版本
• 共同体是一个访问共同的标识符,当管理程序访问代理程序时,必须 提供一致的共同体名。分为“只读共同体”“读写共同体”“陷阱共 同体”三种。 • 一般默认的只读共同体名为public,读写共同体名为private,SNMP 使用的端口号固定为161。
SNMP简单网络管理协议
—实现的功能及其原理 • ————实验验证及分析SNMP协议工作原理
SNMP协议
SNMP——简单网络管理协议,用 来对通信线路进行管理,其目标是 管理互联网上的软硬件平台。
• 管理信息结构 SMI • 管理信息库MIB • SNMP通信协议
使用MIB Browser进行模拟管理
• MIB Browser主界面如下:
在本机设置代理程序地址, 设定为模拟被管理计算机 的IP地址, 在“Community”中,设 为502kaituo即可,端口号 默认为161。 通信所用命令为”GetNext“。
即可得到被管理计算机的部分管理数据:
通过wireshar捕获SNMP数据包
设置本机SNMP服务并配置共同体程序
1、 添加简单网络管理协议组件(开始 ->控制面板->程序->程序和功能 ->打开或关闭windows功能),在其 中勾选“简单网络管理 协议”,单击“确定”完成安装。
2、 安装完成后,打开计算机管理 中的”服务“,双击“SNMP Service”和“SNMP Trap Service”,在“安全”选项卡 中,单击“添加”,打开 “SNMP服务配置”,配置团体权 限为“只读”,团体名称为 “502kaituo”,单击“确定”完 成配置。 如右下图所示,SNMP服务已在本 机上运行。 在模拟被管理计算机上做同样操作。
代理程序( Agent)
MIB 库
GetResponse
设备
SetRequest GetResponse
Trap
协议命令
通信协议主要定义了四类命令:GET、GETNEXT、SET、TRAP。 • GET:查询某一个指定OID的的MIB变量的当前值。
• GETNEXT:查询代理程序指定OID的MIB变量中下一个值的当前值。
计算机
管理程序
协议 代理程序( Agent) MIB 库 设备
管理信息结构(Structure of management information)
• SMI是一种语言,主要定义了被管理网络实体中特定数据的数据类型 、对象模型以及写入和修改管理信息的规则。 • SMI定义了为数丌多几种数据类型,多是面向应用和定义命名的。所 以许多看似相同的同结构数据类型被定义多次。 增加了可读性和准确性。
在SNMP管理中,每个MIB对象都用OID值来进行标示,类似于文件系统中 的全路径表示方法,每一个节点的值都是唯一的。 例如:mgmt\mib-2\system\sysDescr 用OID值可表示为以下几 种形式: 1、“mgmt\mib-2\system\sysDescr”是纯名称的表示方法。 2、“2.1.1.1”是纯数字表示方法。 3、“mgmt.mib-2.1.1”“mgmt.1.1.sysDescr”等是混合表示方法
谢谢
wireshark抓 包可得: SNMP为应用 层协议。它通 过用户数据报 协议(UDP)来 实现功能。
由数据包中得,SNMP使用端口为161,实质为UDP的源端口。版 本号为version-1,通信消息为GetResponse,status和index都未 出错,MIB变量的OID为.1.3.6.1.2.1.2.1.0,由于命令为getnext,所 以回复值为其下一个变量ifNmber的数值33。
在OID全局图里,其所有节 点组成庞大的树状结构。此时 的总根节点为iso,在IANA组织 中规定:iso序号为1,org序号 为3,dod序号为6,intnet序号 为1,上例OID的绝对路径为: \iso\org\dod\internet\mgmt\mib2\system\sysDescr( 1.3.6.1.2.1.1.1)。