SNMP报文抓取及分析

关于本次SNMP报文抓取及分析工作,我大致上分为三个步骤进行:准备工作;报文抓取;报文分析。
一. 准备工作
1. SNMP协议的安装,以WINDOW7系统为例:
SNMP报文抓取及分析_第1张图片

点击确认进行协议安装。

  1. 启动SNMP服务:
    SNMP报文抓取及分析_第2张图片

在计算机关服务界面中,选择SNMP Service进行开启服务,双击进行配置,如下:SNMP报文抓取及分析_第3张图片

在安全选项卡中做如上配置。
3. 下载并安装snmputil工具
SNMP报文抓取及分析_第4张图片

安装路径为C盘下Windows下System32文件夹。
4. 关于SNMP数据包的接收,我用了虚拟机中LINUX操作系统,SNMP协议的安装及服务的开启与上述WINDOW 7系统类似。查看虚拟机IP地址:
SNMP报文抓取及分析_第5张图片

二. 报文抓取
1. 准备工作就绪以后,就可以进行SNMP报文的抓取了,在WINDOW 7中cmd使用snmputil工具进行发包:
SNMP报文抓取及分析_第6张图片
这里写图片描述SNMP报文抓取及分析_第7张图片

2.同时在Wireshark中进行抓包:
SNMP报文抓取及分析_第8张图片

三. 报文分析
SNMP报文抓取及分析_第9张图片

目的MAC:00 0c 29 90 6b 8f
源MAC:00 0c 29 5e b6 04
协议类型:08 00 ,为IP数据报

IP报头:45 00 00 44 0b 19 40 00 40 11 00 00 c0 a8 32 80 c0 a8 32 88
45 IP协议版本4,报头长度20 bytes
00 IP数据报首部中的区分服务字段,共一个字节
00 44 总长度68(0x44)
0b 19 确认号:2841
40 00 二进制为00100000 00000000,前三位是IP数据报首部中的标志字段最低位的1表示“MF=1即表示后面“还有分片”的数据报”,中间位的0表示“允许分片”;后13位为IP数据报首部中的片偏移字段,
40 存活时间64
11 报文协议UPD
00 00 IP数据报首部中的首部检验和字段,共两个字节
c0 a8 32 80 源IP地址192 168 50 128
c0 a8 32 88 目标IP地址192 168 50 136

UDP报头:e4 7e 00 a1 00 30 e6 9a
C9 6b 源端口58494
00 a1 目标端口161
00 30 长度181
e6 9a UDP用户数据报中的检验和字段,共2字节

其余部分都为SNMP报文,接下来我们对照报文结构体来逐个分析一下:
30是identifier octets, 表示SNMP消息是ASN.1的SEQUENCE类型;
26表示该SNMP报文的总长度是38(0x26)个字节,该字段所表示的报文长度起始于它后面的第一个字节直到报文结束;
02 01 00 表示版本号,可见其确实为BER编码方式。02表示该字段是INTEGER类型;01表示该字段占1个字节;00表示版本号,该值为“版本号-1”;
04 06 70 75 62 6c 69 63 表示团体名,04表示该字段为OCTETSTRING类型;06表示该字段占6个字节;70 75 62 6c 69 63表示团体名的ANSII码的十六进制形式,这里是“public”;
a1 19 其中a1表示PDU type为Get Next Request(1);19表示后面还有25(0x19)个字节的数据;
02 01 04表示Request ID为0x04;
02 01 00表示error-statue为0;
02 01 00表示error-index为0;
30 0e是ASN.1的SEQUENCE类型;
30 0c表示variable-name1|variable-value1对是ASN.1的SEQUENCE类型;长度是12(0x0c)字节;
06 08表示字段是ASN.1的Object Identifier类型;
2b 06 01 02 01 01 03 00表示variable-name 1: .1.3.6.1.2.1.1.3.0;
05 00为ASN.1的null类型。

你可能感兴趣的:(SNMP报文抓取及分析)