好文档 - 专业文书写作范文服务资料分享网站

网络管理实验报告抓取

天下 分享 时间: 加入收藏 我要投稿 点赞

SNMP报文获取与分析

中国矿业大学 计算机学院 任课教师:顾军

目录

1 SNMP环境配置………………………………………………………………1 安装SNMP…………………………………………………………………1 配置SNMP…………………………………………………………………2 测试SNMP…………………………………………………………………5 2 报文抓取…………………………………………………………………… 6 准备工作……………………………………………………………………6 发送SNMP包………………………………………………………………6 3 报文分析……………………………………………………………………11 get-next-request………………………………………………………11 get-response……………………………………………………………13 get-request………………………………………………………………16 get bulkrequest…………………………………………………………18 set-request………………………………………………………………20 trap………………………………………………………………………22 Inform……………………………………………………………………24

1 SNMP环境配置

我们采用Windows xp作为SNMP协议的使用环境。

安装SNMP

打开添加/删除Windows组件,选择管理和监视工具,在“详细信息”里面,将WMI SNMP提供程序、简单网络管理协议打上勾,点击确定。安装过程中需要使用snmp for xp的安装包。

配置SNMP

找到计算机管理,

找到SNMP Service,右击得到属性。

设置团体名称并设置访问权限,并确定可以接受哪些主机发来的SNMP数据包。

测试SNMP

这里使用snmputil工具进行简单测试。 找到该虚拟机的ip地址,【利用ipconfig命令获得】 根据snmputil的命令规则

snmputil [get|getnext|walk] agent community oid [oid ...] [get|getnext|walk]为消息类型,我们此次进行的操作是get

agent指Snmp代理即你想进行操作的网络设备的ip或名称,即:分区域,即密码,默认是public oid:想要操作的MIB数据对象号,设备名称对应的MIB对象号是.在snmputil所在路径下,输入: snmputil get 本机的ip的值 本机团体名 .如果正确,则会得到本机的电脑名称。

2 报文抓取 准备工作

准备两台配置好SNMP协议的Windows XP虚拟机,其中一台安装Wireshark用于抓包。我们使用snmputil工具进行抓包。(注意:两台虚拟机的防火墙要关闭)

发送SNMP包

(1)

输入参数 snmputil walk public .参数说明:walk 获取一堆信息(所有数据库子树/子目录的信息) 目的IP地址(要获取的目的的主机的IP地址) public(团体名)

.(物件识别代码 代表列出系统信息)

可以得到SNMP的get next request和get response报文 (2)

输入参数:snmputil get public .参数说明:get可以理解为获取一个信息 目标主机IP地址 public 团体名

.(物件识别代码 列出系统的域名) 可以得到SNMP的get request和get response (3)使用MIB-browser

设置Address为可以得到SNMP的Get Bulk和Get Response (4)使用IReasoning MIB-browser

执行set操作,得到Set-Request报文。

(5)发送Trap报文

发送SNMPv2 Trap报文。

(6)发送Inform报文

3 报文分析

get-next-request

帧头

以太网帧头:

(1)目的MAC:00 0c 29 70 b7 72 (2)源MAC:00 0c 29 d9 1f 74

(3)协议类型:08 00 ,为IP数据报

IP数据报

IP报头45 00 00 42 0f 7f 00 00 80 11 7a da c0 a8 17 80 c0 a8 17 81 (1)其中45:“4”代表IP协议的版本,说明是IPv4; “5”代表IP包的包头长度为:5*4=20字节 (2)“00”代表服务类型 (3)“00 42”代表IP数据报文总长(包含头部及数据),这里是16进制表示4*16+2=66字节 (4)“0f 7f”、“00 00”代表 认证、标志、段偏移;主要用于数据包的分段 “00 00”代表无偏移字段 (5)“80”代表存活时间是128 (6)“11”这里代表的是传输层的报文协议,11代表报文协议UDP (7)“7a da”报头确认号31450 (8)“c0 a8 17 80”代表源IP地址 (9)“c0 a8 17 81”代表目的IP地址 UDP

UDP报头:05 55 00 a1 00 2e 18 18 (1)“05 55” 源端口 1365 (2)“00 a1” 目的端口161

数据报

(3)“00 2e” 长度 46 (4)“18 18” 校验和

SNMP数据报

(1) “30”代表identifier octets 表示SNMP消息是的SEQUENCE类型 (2) “24”代表这个SNMP报文的总长度是36(0x24)个字节。

(3) “02 01 00”表示版本号,进行BER解码:02代表是INTEGER类型,01代表该字段占1个字节,00表

示版本号,该值为“版本号-1”

(4) “04 06 70 75 62 6c 69 63”表示团体名,04表示该字段为OCTETSTRING类型,06代表占6个字节,

70 75 62 6c 69 63分别代表ASCII码的十六进制形式,在这里代表“public”。

(5) “a1 17”a1代表PDU type为Get Next Request(1)

17 代表后面还有23(0x17)个字节的数据

(6) “02 01 01”表示request ID,02代表是INTEGER类型,01代表有1个字节,01代表RequestID的

值为1(0x01)

(7) “02 01 00”表示error-status,02代表是INTEGER类型,01代表有1个字节,00代表error-status

的值为0

(8) “02 01 00”表示error-index,02代表是INTEGER类型,01代表有1个字节,00代表error-index

的值为0.

(9) “30 0c” 表示variable-name1|variable-value1对是的SEQUENCE类型,长度是12个字节 (10) “30 0a” 是的SEQUENCE类型,长度是10(0x0a)字节

(11) “06 06 2b 06 01 02 01 01”是variable-name1。 “06 06”第一个06代表字段是的OID类型,第

二个06代表长度是6个字节

(12) “2b 06 01 02 01 01”代表OID (0x2b=43) 00”是variable-value1。表示空值Null

get-response

帧头

(1)目的MAC地址:00 0c 29 d9 1f 74 (2)源MAC地址:00 0c 29 70 b7 72 (3)协议类型:08 00 为IP数据报

IP数据报

(1)其中45:“4”代表IP协议的版本,说明是IPv4; “5”代表IP包的包头长度为:5*4=20字节 (2)“00”代表服务类型 (3)“00 c7”代表IP数据报文总长(包含头部及数据),这里是16进制表示12*16+7=199字节 (4)“03 27”、“00 00”代表 认证、标志:主要用于数据包的分段 “00 00”代表无偏移字段 (5)“80”代表存活时间是128 (6)“11”这里代表的是传输层的报文协议,11代表报文协议UDP (7)“86 ad”报头确认号34477 (8)“c0 a8 17 81”代表源IP地址 (9)“c0 a8 17 80”代表目的IP地址 UDP

数据报

(1)“00 a1” 源端口 161

网络管理实验报告抓取

SNMP报文获取与分析中国矿业大学计算机学院任课教师:顾军目录1SNMP环境配置………………………………………………………………1安装SNMP…………………………………………………………………1
推荐度:
点击下载文档文档为doc格式
4r3zq589hk4m0xd0pw4b4c2db011p100mbi
领取福利

微信扫码领取福利

微信扫码分享