SNMP 计算机网络管理 实验3(二)SNMP协议工作原理验证与分析

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

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

🚀write in front🚀


 一、实验目的
    学习捕获SNMP报文,通过报文分析理解SNMP协议的工作过程。
二、实验内容与设计思想
实验内容:编写代码,测试
  1)使用snmputilg发送SNMP数据包; 使用wireshark抓包;使用netstat -an查看代理站TCP/UDP连接表,分析并验证SNMP协议的工作过程;
  2)自行挑选MIB-2功能组中IP、ICMP、TCP、UDP等的管理对象(要有列对象),抓包分析其SNMP协议工作过程。
  3)查找标量对象标识符.1.3.6.1.2.1.11.13是什么对象,其实例标识符是什么?若连续多次GET这个实例标识符,得到的值有什么变化?请抓包分析其PDU格式。请截图说明。
三、实验要求:
    撰写实验报告,给出实验小结,问题分析。实验课后5天提交。
四、实验使用环境
    操作系统:Microsoft Windows 7/8/10/11
    设计环境:Windows SNMP服务,MIB Browser,Whireshark3.4 


📋笔记目录

🚀write in front🚀

🌸抓包分析IP组对象实例

📒抓包分析IP组对象中的ipForwarding(1)的get-request 请求报文

📘抓包分析IP组对象中的ipForwarding(1)的get-respond请求报文

📙结论

🚩结尾


🌸抓包分析IP组对象实例

📒抓包分析IP组对象中的ipForwarding(1)的get-request 请求报文

 根据TLVT的编码规则,解释下图中get-request的编码依据。

 答:

1、从RFC1157文档(SNMPv1协议的规范文件),查看get-request的ASN.1(抽象语法表示,见“2.1 网络数据表示”)语法。

RFC1157 GetRequst - PDU如下:

4.1.2.The GetRequest-PDU定义如下图所示:

定义中[0]表明GetRequest的标签为上下文专用标签,标签值为0;类型为SEQUENCE,是构造类型。

IMPLICIT(隐含标签)指用新标签替换老标签,因此编码时只编码新标签(即上下文专用标签)。

2、根据BER(基本编码规则,Basic Encoding Rule)进行编码。

BERASN.1表示的抽象类型值编码为TLV结构的字符串。

2.1 第一部分T的结构为:

根据前面分析:

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

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

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

由此可见,TLV中第一个字节T的值为二进制10 1 00000,即1010 0000,对应十六进制数为a0

总结:【10(CONTEXT SPECIFIC)+1(构造类型)+00000([0])】,即1010 0000Ba0H

2.2 第二部分L表示值V的长度。本题中GetRequest PDU的长度为1dH,即十进制29个字节。

2.3 第三部分V表示GetRequest PDU的值,即协议数据单元的内容。根据BER定义,TLV结构的V,可以递归地再编码为TLV结构。

Request-id INTEGER 类型,因此 T 字段的前 2 位都是 00INTEGER 类型是简单类型,第 3 位是 0INTEGER 类型的标签号是 2,后 5 位是00000,因此 T 字段都是 02。因为Request-id、的 V 字段值为374603364,转换为16进制为16 53 FE 64,长度为4字节,所以 L 字段的值为 4。所以 Request-id 的编码为 02 04 16 53 FE 64

同理得

error-status error-index都是 INTEGER 类型,因此 T 字段的前 2 位都是 00INTEGER 类型是简单类型,第 3 位是 0INTEGER 类型的标签号是 2,后 5 位是00000,因此 T 字段都是 02。这 2个字段的长度都是 1 个字节,所以 L 字段的值为 1Request-iderror-status error-index V 字段值分别为 00。所以error-status error-index的编码都为 02 01 00

关于 variable-bindings 格式,在 RFC1157 中也可以找到其定义,在 4.1.1 中有写到。 

 variable-bindings 类型为 SEQUENCE 是构造类型,是通用标签
UNIVERSAL,因此前两位(标签)为 00,类型为简单类型,第三位为 0,标签值为 16,后五位为 10000T 字段为的值为 00110000,对应十六进制数为 30variable-bindings 的值有15个字节,所以 L 字段的值为 00001111,十六进制为 0F

所以variable-bindings的编码如下图所示:

 variable-bindings 下的第一个是 Object Name,类型是 OBJECT IDENTIFIER 为通用标签 UNIVERSAL,标签值为 6。因此前两位(标签)为00,类型为简单类型,第三位为 0,标签值为 6,后五位为 00110T字段为的值为 00000110,对应十六进制数为 06variable-bindings 的值有9个字节,所以 L 字段的值为 00001001,十六进制为 09V 字段的值为 oid,也就是.3.6.1.2.1.2.2.1.4Value 的值是 NULLNULL 类型只有一个值 NULL,其标签是 UNIVERSAL 5。由于这个类型是空类型,无需存储或传送它的值,第二个字节 00 表示值长度为 0

📘抓包分析IP组对象中的ipForwarding(1)的get-respond请求报文

 GetResponse-PDU 在 RFC 文档中的定义如下图所示:

 

定义中 [2] 表明 GetResponse 的标签为“上下文专用标签”,标签值为2。类型为 SEQUENCE 序列类型,这是一种构造类型。IMPLICIT(隐含标签)指用新标签替换老标签,因此编码时只编码新标签(即上下文专用标签)。

根据 BER 编码规则,GetResponse 的标签为“上下文专用标签”,前两位(标签)为 10。类型为SEQUENCE是构造类型,因此第三位类型值为 1。“[2]”表示标签值为 2,因此后五位为00010。T 字段的值为二进制 10100010,对应十六进制数为 a2。

这次抓到的包的长度为29个字节,十六进制表示为1dH。

在error-status显示的值为 noSuchName,错误的反馈的解释为操作使用了一个不存在的变量,因为这里是出错了,所以在get-respond的返回值中并没有得出对端相应的管理信息,Value的值为NULL。

原因分析:

查看ipForwarding的定义为:该实体是否作为Lp网关对该实体接收到的数据报进行转发而不是发送给该实体的指示。IP网关转发数据报。IPhostsdo(通过主机路由源除外)。请注意,对于某些托管节点,该对象只能接受可能值的一个子集。因为管理的对端是不作为网关进行转发数据的,因此响应的结果才是错误的信息。

📙结论

请求的网管设备是不作为网关转发数据的。

🚩结尾


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1878.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaweb学习2

p标签使用 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <!--p标签定义段落 p元素自动在其前后创建一段空白--> hello&#xff0c;world &l…

通过easyui的filebox上传文件

本篇文章重点分享一下怎么通过easyui的filebox实现文件上传的功能&#xff0c;从前端代码到后端接口都会展示给大家。 1、form表单同步上传 传统的文件上传会把<input type"file" />放到一个<form></form>里&#xff0c;设置form表单的提交方式为…

MySQL8.0版本在CentOS系统的配置教程

1.MySQL安装 MySQL安装完成后&#xff0c;会自动配置为名称叫做&#xff1a;mysqld的服务&#xff0c;可以被systemctl所管理&#xff0c;我们在进行系统的配置时&#xff0c;主要修改root密码和允许root远程登录。 # 通过grep命令&#xff0c;在/var/log/mysqld.log文件中&a…

【人工智能】— 深度神经网络、卷积神经网络(CNN)、多卷积核、全连接、池化

【人工智能】— 深度神经网络、卷积神经网络&#xff08;CNN&#xff09;、多卷积核、全连接、池化 深度神经网络训练训练深度神经网络参数共享 卷积神经网络&#xff08;CNN&#xff09;卷积多卷积核卷积全连接最大池化卷积池化拉平向量激活函数优化小结 深度神经网络训练 Pr…

浅谈智能安全用电系统在轨道交通中的应用

安科瑞 华楠 摘要&#xff1a; 随着轨道交通电气设备的增加和用电负荷的变大&#xff0c;用电安全问题愈发突出&#xff0c;而对电力状况在线监测和故障预警是实现安全用电的关键。本文研究了轨道交通安全用电智能监测系统。该系统通过电力载波技术可利用原电缆进行数据传输&am…

面向开发人员的 ChatGPT 提示词教程中文版 - ChatGPT 版

面向开发人员的 ChatGPT 提示词教程中文版 - ChatGPT 版 1. 指南1-1. 提示的指南1-2. 配置1-3. 提示语原则原则 1: 写出清晰而具体的指示技巧 1: 使用分隔符来清楚地表明输入的不同部分技巧 2: 要求提供结构化的输出技巧 3: 要求模型检查条件是否得到满足技巧 4: "少许样本…

初学帆软踩得坑——数据填报_Excel数据导入

第一次做数据填报&#xff0c;按照教程做完在用excel导入工具本地数据报表的时候出现 1、整块空白合并单元格&#xff0c;数据无法填入的现象 2、表格重新导入一批&#xff0c;无法成功入库&#xff0c;导致只能导入一次&#xff0c;如下图&#xff1a; 说明&#xff1a;点击…

云原生时代数据治理的变革与创新

随着数字化进程的深入&#xff0c;企业对数据的依赖日益加深&#xff0c;数据资源的重要性愈发凸显。如何管好、用好数据&#xff0c;做好数据治理工作&#xff0c;发挥数据资源价值&#xff0c;成为企业提质增效过程中的重要议题。 在本次直播中&#xff0c;我们介绍了数据治…

如何在矩池云复现开源对话语言模型 ChatGLM

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型&#xff0c;基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。结合模型量化技术&#xff0c;用户可以在消费级的显卡上进行本地部署&#xff08;INT4 量化级别下最低只需 6GB 显存&#xff09;。 Chat…

python GUI工具之PyQt5模块,pyCharm 配置PyQt5可视化窗口

https://doc.qt.io/qt-5/qtwidgets-module.html https://doc.qt.io/qt-5/qt.html#AlignmentFlag-enum 一、简介 PyQt是Qt框架的Python语言实现&#xff0c;由Riverbank Computing开发&#xff0c;是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合&#xff0c;每一…

物联网应用中的 Wi-Fi 6

近年来&#xff0c;设备智联在我们的日常生活中越来越常见。从智能家居设备到工业自动化系统&#xff0c;物联网技术正在改变我们与世界交互的方式。随着物联网设备的不断增多&#xff0c;对可靠、高容量和低功耗无线连接的需求变得尤为迫切。这就是 Wi-Fi 6&#xff08;即 802…

八、云尚办公系统-管理端-审批设置

云尚办公系统&#xff1a;管理端-审批设置 B站直达【为尚硅谷点赞】: https://www.bilibili.com/video/BV1Ya411S7aT 本博文以课程相关为主发布&#xff0c;并且融入了自己的一些看法以及对学习过程中遇见的问题给出相关的解决方法。一起学习一起进步&#xff01;&#xff01;…