一、实验目的
本实验的主要目的是学习捕获SNMP报文,通过分析该报文理解SNMP协议的工作过程、SNMP的报文结构、MIB-2树的结构、理解管理信息结构SMI及其规定的ASN.1。
二、实验内容
1、分析并验证SNMP协议的工作过程;
2、分析并验证SNMP协议数据单元的格式;
3、分析MIB-2树的结构;
4、分析理解管理信息结构SMI及其规定的ASN.1。
三、实验工具
数据包捕获分析软件Wireshark、SNMP MIB浏览器(如SNMPB)。
四、实验环境设置
1.点击控制面板——程序——程序和功能——打开Windows工具——打开服务窗口——启动SNMP服务和SNMP陷阱,如图4.1所示
图1
- 配置团体名:在SNMP 服务的安全选项中配置,如图4-2所示:
图2
- 在本机的命令提示符窗口和在MIB浏览器文件夹位置输入cmd进入命令提示符敞口输入ipconfig并执行该命令,如图4-3和4-4所示:
图3
图4
由图3和4所示,二者的IP地址均为192.168.7.77
- 在各自的命令提示符执行ping命令,来检查连通性是否正常,如图5和6 所示:
图5
图6
五、实验步骤
1、分别打开软件Wireshark和SNMP MIB浏览器;
2、在SNMP中设置IP地址,端口号为161,如图5-1所示:
图5-1
- 开始捕获SNMP报文;
图5-2
- 用MIB浏览器访问MIB被管对象,然后观察Wireshark中显示的信息。单击任一信息,查看详细的报文数据;
图5-3
1、用鼠标单击捕获的报文数据,在下侧会有相关的解析与之对应。
SNMP报文:
图5-4
SNMP版本号:
图5-5
SNMP团体名:
图5-6
SNMP对象名称:
图5-7
六、实验报告
1、设置Wireshark过滤器,使其只监测管理工作站和代理之间的通信。获取ip组的ipForwarding对象值,写出管理工作站和代理之间的SNMP通信情况,验证SNMP协议的工作过程。
答:由图4-3到4-6展示通信
管理工作站和代理之间的SNMP通信情况,工作过程如下:
在MIB浏览器中GET发送IpForwardingRequest报文,通过Wireshark抓包获取SNMP的报文,接收到请求后,在MIB浏览器上GET一下IpForwardingReponse显示结果,完成二者通信。
2、选取一条GetRequest-PDU进行解析,指出各段数据的意义。
答:在第五部分实验步骤中第五模块展示出来
3、考察RFC1213-MIB文件结构,理解SMI。分别写出interfaces组中的ifNumber、ifTable、ifEntry和ifIndex的ASN.1定义,其中DESCRIPTION试用中文表述。
答:RFC1213-MIB是对MIB-III定下的一个具体规范,它提出了针对基于TCP/IP的Internet管理的MIB-II。我们使用MIB Browser访问MIB时得到的信息都由SMI定义和组织,SMI为管理信息结构,它为定义和构造MIB提供了一个通用的框架,规定了MIB中被管对象的数据类型及其表示和命名方法。
- ifNumber:
ifNumber OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of network interfaces (regardless of their current state)
present on this system."
::= { interfaces 1 }
DESCRIPTION 描述为:这个系统包含网络接口数量(不管他们当前状态)
- ifTable:
ifTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of interface entries. The number of entries is given by the
value of ifNumber."
::= { interfaces 2 }
DESCRIPTION 描述为:接口条目的列表,ifnumber的值给出的条目的数量
- ifEntry:
ifEntry OBJECT-TYPE
SYNTAX IfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An interface entry containing objects at the subnetwork layer and
below for a particular interface."
INDEX { ifIndex }
::= { ifTable 1 }
DESCRIPTION 描述为:一个指定的接口表项,包含了所有该对象下定义的对象。
- Ifindex:
ifIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique value for each interface. Its value ranges between 1 and
the value of ifNumber. The value for each interface must remain
constant at least from one re-initialization of the entity’s network
management system to the next reinitialization."
::= { ifEntry 1 }
DESCRIPTION 描述为:每个接口的唯一值,其值范围介于 1 和 ifNumber 的值之间。每个接口的值必须至少在实体网络管理系统的一次重新初始化到下一次重新初始化之间
保持不变。
七、实验总结
通过此次实验,针对SNMP协议的相关内容进行学习。通过对SNMP协议的分析,进一步了解了通信过程的具体化,工作过程的实质化,加深了对SNMP协议报文结构、工作过程的认知,同时也有更好的认识MIB-2树的结构,也在一定程度上理解了管理信息接否SMI及其所规定的ASN.1.
期间也遇到了很多问题与研究的障碍,但是通过和老师、同学之间的交流以及学习,都很好的解决了相关的问题,同时加深了对不熟悉知识的理解与认知。通过此次对SNMP协议分析的学习,在一定程度上给予我对其他协议深入学习的兴趣与信心。其中遇到的问题也很好的反映了自己学习的不足之处,后续应当加以注意与改正。