计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息

⬜⬜⬜ (*^▽^*)欢迎光临 ⬜⬜⬜

✏️write in front✏️
个人主页:陈丹宇jmu
欢迎各位→点赞 + 收藏⭐️ + 留言​
联系作者by QQ:813942269
致亲爱的读者:很高兴你能看到我的文章,希望我的文章可以帮助到你,祝万事顺意️‍
✉️少年不惧岁月长,彼方尚有荣光在 

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第1张图片

一、 实验目的
        捕获SNMP报文,通过报文分析进一步理解SNMP的报文结构、MIB-2树的结构、理解管理信息结构SMI及其规定的ASN.1。
二、实验内容与设计思想
        实验内容:编写代码,测试
        1、自行挑选两个网管对象,分别使用get,get-next取其值。
        2、使用抓包软件抓取数据包。
        3、分析并验证SNMP协议数据:
        1)SNMP协议的工作过程;
        2)SNMP协议数据单元的格式;
        3)MIB-2树的结构;
        4)管理信息结构SMI及其规定的ASN.1。
三、实验要求
        1、管理站与代理为不同机器。共有4个数据包:2个对象(分别用get、get-next)*2个包(request,response)=4个。
        2、要分析其SNMP结构,指出语法定义、编码依据。对于后面的数据包,只要对新出现的结构类型进行分析即可,不需要重复分析。
        3、独立完成分析工作。
        4、撰写实验报告,给出实验小结,问题分析。实验课后5天提交。


笔记目录

SNMP报文管理信息结构SMI及其规定的ASN.1分析

抓包分析sysContact的相关信息

Get—request报文字段分析:

 Get—response报文分析:

 sysContact实例对象传回的值为的原因分析

 Get—next—request报文分析

响应Get—Next--Request的Get—response报文分析


SNMP报文管理信息结构SMI及其规定的ASN.1分析

报文分析:

根据TLV中T的编码规则,解释下图SNMP协议中version的编码依据。

抓包分析sysContact的相关信息

"sysContact" 是SNMP(Simple Network Management Protocol)协议中的一个OID(Object Identifier)对象,用于获取网络设备的系统管理员联系信息(例如名称、电子邮件地址、电话号码等)。

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第2张图片

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第3张图片

Get—request报文字段分析:


捕获的报文如下:

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第4张图片

具体的字段解析如下:

version-10)的字段分析如下所示:

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第5张图片

version-1(0)的BER编码为02 01 00,TLV分析:

1. T:【00(UNIVERSAL)+0(简单类型)+00010(INTEGER类型)】,即0000 0010B,02H。

依据:RFC1157文档中version的ASN.1语法:

                             INTEGER {

                                 version-1(0)

                             },

2. L:值的长度为1个字节,即01H。

3. V:值为0,即00H。

Community字段的分析如下所示

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第6张图片

Community 的BER编码为04 06 63 64 79 30 37 37,对应着我的姓名的缩写和学号的后三位的ASDII码值。

TLV分析:

1. T:【00(UNIVERSAL)+0(简单类型)+00100(OCTET STRING类型)】,即0000 0100B,04H。

依据:RFC1157文档中version的ASN.1语法:

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第7张图片

2. L:值的长度为6个字节,即06H。

3. V:值为cdy077,即63 64 79 30 37 37H。

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第8张图片

依据:RFC1157文档中Get--Request的ASN.1语法:

1Get--Request的标签为上下文专用标签,因此前两位(标签)为10

2)类型为SEQUENCE,是构造类型,因此第三位类型值为1

3“[0]”表示标签值为0,因此后五位为00000

具体定义如下图所示:

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第9张图片

在介绍SNMP协议的六种PDU类型之前,这里先给出一些经常使用的ASN.1结构,这些结构将频繁出现在PDU报文的结构定义中:

Get—request PDU字段的分析:

T      L     V(get-request)【10(CONTEXT SPECIFIC)+1(构造类型)+00000[0]】
2.    a0   19   T     L     V(request-id)【00(UNIVERSAL)+0+00010(INTERGER类)】

                     02   01   1

3.                  T     L     V(error-status)【00(UNIVERSAL)+0+00010(INTERGER类)】

                     02   01   noError(0)

4.                  T     L     V(error-index)【00(UNIVERSAL)+0(简单)+00010(INTEGER类)】

                     02   01   0

5.                  T     L     V(variable-bindings)【00+0+10000(SEQUENCE类)】

6.                  30   0c   T     L     V (Object Name) 【00+0+00110(OBECT IDENTIFIER类)】

                                   06   08   1.3.6.1.2.1.1.4.0(OID)

7.                                T     L     V(Value)【00(UNIVERSAL)+0(简单)+00101(NULL类)】

                                   05          NULL

各结构的字段在文档中的定义如下:

  • request-id,属于INTEGER类型。

  • error-status,属于INTEGER类型,其定义了6种返回的状态用于确认对端与本端的连接状态。

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第10张图片

  • error-index,属于INTEFER类型

  • variable-bindings

其中定义了Object Name和Value,要根据具体的响应数据相应的变化其数据类型。

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第11张图片

 Get—response报文分析:


计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第12张图片

 计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第13张图片

答:

Get—responseBER编码为a2 2c 以及对应的值,TLV分析:

依据:RFC1157文档中Get—response的ASN.1语法:

1Get--Request的标签为上下文专用标签,因此前两位(标签)为10

2)类型为SEQUENCE,是构造类型,因此第三位类型值为1

3“[0]”表示标签值为2,因此后五位为00010

Get—response的T为10 1 00010

具体定义如下图所示:

 Get—response的request-id,error-status,error-index字段的分析类似于Get—request中的表示一样,这里就不赘述了。值得注意点是  variable-bindings中从代理系统返回的值是有传回具体的含义的,下面展开分析variable-bindings的要访问信息传回的值:

如下图所示:
这里所要请求的管理对象为sysContact,OID为:.1.3.6.1.2.1.1.4,实例标识符为:.1.3.6.1.2.1.1.4.0,所要请求的信息为------这个托管节点的联系人的文本标识,以及如何联系这个人的信息。

 
  
通过报文可以看出,该实例对象传回的值为
TLV分析如下:

04 00T00(UNIVERSAL)+0(简单类型)+00100(OCTET STRING类型)

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第14张图片

 sysContact实例对象传回的值为的原因分析


针对:SNMP服务OID对象.1.3.6.1.2.1.1.4.0 传回的值为MISSING 的原因分析:

如果SNMP服务OID对象.1.3.6.1.2.1.1.4.0(sysContact)传回的值为MISSING,很可能是由于该OID对象的值丢失或无法访问。这个OID对象通常用于获取系统管理员的联系信息,例如电话号码和电子邮件地址等。

经过分析,需要在代理系统的SNMP服务中添加对应的联系人和位置的代理信息,该实例对象才可以返回出信息。

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第15张图片

成功获取到了值为zxr的管理信息,zxr对应的ASCII为7a 78 72。

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第16张图片

 Get—next—request报文分析

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第17张图片

答:

Get—next--requestBER编码为a1 19 以及对应的值,TLV分析:

依据:RFC1157文档中Get—next--request的ASN.1语法:

1Get—next--Request的标签为上下文专用标签,因此前两位(标签)为10

2)类型为SEQUENCE,是构造类型,因此第三位类型值为1

3“[0]”表示标签值为1,因此后五位为00001

Get—response的T为10 1 00001

具体定义如下图所示:

响应Get—Next--Request的Get—response报文分析


GetNextRequest-PDU 是一种SNMP协议的操作指令,用于请求网络设备或代理返回MIB(Management Information Base)树中下一个变量的值,并且可以用于指定多个后继变量。该操作通常被用于通过遍历整个MIB树来获取网络设备的所有状态信息。

查看MIB树,sysContact(.1.3.6.1.2.1.1.4.0)下一个实例对象为sysName(.1.3.6.1.2.1.1.5.0),所以在sysContact(.1.3.6.1.2.1.1.4.0)的状态下向代理系统发送GetNextRequest报文,代理系统会返回sysName(.1.3.6.1.2.1.1.5.0)实例对象的信息。

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息_第18张图片

答:

Get—responseBER编码为a2 1e 以及对应的值,TLV分析:

依据:RFC1157文档中Get—response的ASN.1语法:

1Get--respond的标签为上下文专用标签,因此前两位(标签)为10

2)类型为SEQUENCE,是构造类型,因此第三位类型值为1

3“[0]”表示标签值为2,因此后五位为00010

Get—response的T为10 1 00010

具体定义如下图所示:

Get—response的request-id,error-status,error-index字段的分析类似于Get—request中的表示一样,这里就不赘述了。值得注意点是  variable-bindings中从代理系统返回的值是有传回具体的含义的,下面展开分析variable-bindings的要访问信息传回的值:

如下图所示:

这里所要请求的管理对象为sysName,OID为:.1.3.6.1.2.1.1.5,实例标识符为:.1.3.6.1.2.1.1.5.0,所要请求的信息为------SNMP .1.3.6.1.2.1.1.5.0 对应的是sysName MIB对象,它表示管理节点的名称,通常是一个完全限定的域名,并且可以用于标识发送SNMP traps的设备。
 
  

 通过报文可以看出,该实例对象传回的值为

TLV分析如下:

04 05T00(UNIVERSAL)+0(简单类型)+00100(OCTET STRING类型)

variable-bindings的值为LeeKK – ASCII编码为4C 65 65 6b 6b

值的含义为该管理设备的设备名称为LeeKK。

 
  

 结尾


欢迎各位→点赞 + 收藏⭐️ + 留言​
写给读者:很高兴你能看到我的文章,希望我的文章可以帮助到你,祝万事顺意️‍

你可能感兴趣的:(计算机网络管理,计算机网络,SNMP,wireshark)