计算机网络管理 实验4(一) SNMP报文分析之验证SNMP协议的工作过程以及分析SNMP数据单元的格式

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜

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

一、 实验目的
        捕获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协议的工作过程

📖分析SNMP数据单元的格式


🎯验证SNMP协议的工作过程

使用WireShark抓包工具抓取SNMP协议的报文。结果如下图所示:

管理代码:

snmputil get 192.168.43.143 72.21.10.173 public .1.3.6.1.2.1.1.1.0
snmputil walk 172.21.10.210 public .1.3.6.1.2.1.4.20.1.1

可以明显地看出,SNMP 是基于请求/响应模型进行工作的,客户端发送一个请求,服务器对请求的内容进行回应。

查看SNMP协议传输层报文分析SNMP协议的工作过程:

如下所示,管理站向代理系统发出的get—request报文在传输层是通过UDP发出的,发送到代理系统的161目的端口。

 而代理系统在接收到管理站发出的请求报文后,会对该报文进行相应,代理系统向管理站发送get—respone响应报文,该报文通过代理系统的161端口发出。

 通过进一步的学习,我知道,UDP端口号161用于SNMP代理向SNMP管理程序发送信息,也称为SNMP读端口,SNMP管理程序通过该端口获取被管理设备的状态信息;UDP端口号162用于SNMP管理程序向SNMP代理发送信息,也称为SNMP写端口,SNMP管理程序通过该端口向被管理设备发送控制和配置信息。

需要注意的是,SNMP协议使用的是UDP协议,不同于TCP协议,因此设计的端口号不同,其目的是使SNMP通信更加高效,减少网络传输的负担。

使用netstat -an查看代理站TCP/UDP连接表

如下图所示,系统的161端口处在活动状态。

 对于表项的理解:

SNMP协议是基于UDP协议传输的,而UDP协议是无连接的,只是监听,并没有因为数据包的发送就成登记一条连接。

以下是SNMP协议工作的基本过程

        管理器系统向被管理设备发送请求,以获取所需的信息,如系统配置、设备状态或运行指标等。

        被管理设备或代理收到请求后,会根据请求中的OID值来查找相应的MIB(Management Information Base)对象,这些对象保存了设备性能和状态数据。

        如果找到所需的MIB对象,设备或代理将该对象的值作为响应返回给管理器。

        如果未找到所需的MIB对象,则设备或代理将错误信息或其他相关的信息返回给管理器。

        管理器系统接收到响应信息后,可以对其进行处理,例如显示在UI界面上或将其保存到文件中等。

        总体而言,SNMP协议的工作过程可以概括为“请求-响应”模式。SNMP管理器向SNMP代理设备发送请求,代理设备将响应返回给管理器,管理器再进行相应的处理。这种通信方式使得管理员可以轻松地管理网络设备,并能够快速响应设备的状态和性能问题。

        总结一下,SNMP协议的工作过程包括管理器向代理发送请求,代理响应请求并返回相应的值,管理器接收响应并进行相应的处理。

📖分析SNMP数据单元的格式

注明:下面所示的是SNMPv1版本的报文格式:

 报文中每个字段的含义如下

  • 版本(version):版本字段,写入版本字段的是版本号减1。例如,SNMP(即 SNMPv1)应写入 0。
  • 共同体(community):字符串形式,作为网络管理站 NMS 和 SNMP 代理之间的明文口令,默认为 public。
  • PDU 类型:SNMP 协议的操作类型。
    1. 值为 0,表示 get-request 操作;
    2. 值为 1,表示 get-next-request 操作;
    3. 值为 2,表示 get-response 操作;
    4. 值为 3,表示 set-request 操作;
    5. 值为 7,表示 informRequest 操作。
  • 请求标识(request-id):管理站 NMS 设置的一个整数值。SNMP 代理在发送 get-response 报文时也要返回此请求标识符。
  • 差错状态(error status):整数,由 SNMP 代理进行标注,指明有错误发生。可用的值及含义如下表所示。

 

错误状态对应信息

  • 差错索引(error-index):当出现 noSuchName、badValue 或 readOnly 的错误时,由代理进程在回答时设置的一个整数。该数值指明引起错误的变量在变量列表中的偏移位置。
  • 名称(Object name):MIB 管理信息库中的OID。
  • 值(Value):OID对应的值。

如上图可以看出GetRequest PDU, GetNextRequest PDU,SetRequest PDU,GetResponse PDU的格式是相同的。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈丹宇jmu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值