网络管理实验三、SNMP协议工作原理验证与分析

news2024/11/17 15:42:00

1 实验概括

  • 实验目的:
    学习捕获SNMP报文,通过报文分析理解SNMP协议的工作过程。

  • 实验内容:
    1) 使用snmputilg发送SNMP数据包; 使用wireshark抓包;使用netstat –an查看代理站TCP/UDP连接表;
    2) 自行挑选MIB-2功能组中IP、ICMP、TCP、UDP等的管理对象(要有列对象),综合前面一点,抓包分析SNMP的工作过程;
    3) 查找标量对象标识符.1.3.6.1.2.1.11.13是什么对象,其实例标识符是什么?若连续多次GET这个实例标识符,得到的值有什么变化?请抓包分析其PDU格式。请截图说明。

2 实验内容

2.1

使用snmputilg发送SNMP数据包; 使用wireshark抓包;使用netstat –an查看代理站TCP/UDP连接表,分析并验证SNMP协议的工作过程(在2.2进行分析验证,这里不再赘述);

  • 使用snmputilg发送SNMP数据包;

在这里插入图片描述

  • 使用wireshark抓包;

在这里插入图片描述
在这里插入图片描述

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

最主要是以下图这一条条目
在这里插入图片描述
UDP 0.0.0.0:161 表示本地终端实时监视所有接口的UDP 161进程,也就是SNMP进程*:*表示允许所有的进程(IP+端口)都可以对该进程进行访问操作,如果禁用SNMP服务,则本地就不会存在该条目,则snmp无法正常工作;
在这里插入图片描述
至于是否被接受访问,就需要看是否有访问权限了;
在这里插入图片描述

2.2

自行挑选MIB-2功能组中IP、ICMP、TCP、UDP等的管理对象(要有列对象),抓包分析其SNMP协议工作过程。
注:我们选择抓取管理对象UDP的信息来进行SNMP协议的报文分析(使用的抓包软件是MIB BROSWER)

  • 首先,我们使用get-Request方法获取udpInDatagrams的信息,会出现如下的报文

在这里插入图片描述

  • 先打开 get-request报文,开始请求报文分析

在这里插入图片描述

  • UDP Dst Port 161
    从传输层可以看出SNMP协议是基于UDP的协议且SNMP的端口号是161,使用UDP而不使用TCP的主要原因有以下两点:1、SNMP协议多是在内网部署,而内网的环境相对可控(可靠性较高),所以不需要使用TCP来保证可靠性;2、SNMP协议本身就很占用CPU资源,特别对于SNMP管理站来说,大量的发送和接收SNMP报文不是一件轻松的事,如果还需要维持TCP连接,那更是雪上加霜,所以选择无连接的UDP协议作为底层协议;
  • Version
    SNMP的协议主要有三种版本,v1、v2、v3,v2是对v1的优化版本,新增了一些请求的方法,比如后面要讲的getBulkRequest,v3较v2的而言新增了加密的功能,加强了协议整体的安全性;双方版本不支持则无法进行SNMP的正常工作;
  • community
    用于身份认证,管理站和代理的community不一致,则无法进行后续的snmp操作
  • get-request(0)
    常用的snmp请求类报文有以下几种:
    GetRequest-PDU:值为0,用于请求代理站对应OID的值;
    GetNextRequest-PDU:值为1,用广度搜索的方法获取当前OID对应的子层的首个OID的值,如果没有子层则获取下一个同层的OID对应的值;
    在这里插入图片描述
    SetRequest-PDU:值为2,用于设置代理上对应OID的值。
    GetBulkRequest-PDU:值为5(这是SNMPv2新增的报文类型,不存在于SNMPv1中),用广度搜索的方法获取当前OID对应的下层所有的OID对应的值;
    Trap-PDU:值为6,用于请求获取代理上的日志信息;
    InformRequest-PDU:值为7(SNMPv2c引入的报文类型),作用同Trap-PDU,只是需要代理回复一个Ack报文保证可靠性。
  • request-id
    每次管理站产生一个request类的报文,就会生产一个新的request-id,response-id值和其一致,用于确定response的对象是哪一个request;
  • 1.3.6.1.2.1.7:value(null)
    是一种K/V值,OID表示Key,OID的值是Value,注意并不是请求的就是这个OID对应的值,这得取决于请求报文的类型,如果是getRequest那么就是请求对应OID的值;如果是其他的,如getNextRequest,则是在此OID的基础上获取其子层的第一个OID的值,在这里就是1.6.1.2.1.7.1.0,我们在回复报文中标注的OID也可以验证;
    在这里插入图片描述
  • 再打开get-response报文,进行回复报文分析

在这里插入图片描述

  • get-response(2)
    表示回复报文的类型值为2;
  • 1.3.6.1.2.1.7.1.0:66536
    表示回复的是这个OID对应的值;
  • SNMP的工作过程

综上所述,SNMP协议的工作过程可以概括为,管理站发送请求类报文给代理,代理根据其中内容回复对应的信息给管理站,这需要代理开启了SNMP协议(也就是系统要监听161号UDP端口),且代理允许接收;来自对应IP的管理站的SNMP协议报文,在此基础上代理和管理站的SNMP版本号要匹配,且community两端要一致;当然,以上前提是代理和管理站的网络本身就是通畅的;

2.3

查找标量对象标识符.1.3.6.1.2.1.11.13是什么对象,其实例标识符是什么?若连续多次GET这个实例标识符,得到的值有什么变化?请抓包分析其PDU格式。请截图说明。

注——对象和实例的区别
一个对象可以有多个实例,比如对象端口号,其实例就是每个端口的端口编号,有几个端口就有几个实例,具体表示方法就是在对象的后面再加上表示事例的后缀;

  • 1.3.6.1.2.1.11.13对象是snmpIntotalReqVar,用于统计代理接收到的请求类SNMP报文的数目,其实例符号为1.3.6.1.2.1.11.13.0
  • 若连续多次GET这个实例标识符,得到的值会逐一递增
  • 抓包分析
  • 经过连续三次对于response的抓包,可以发现Value值递增,OID就是1.3.6.1.2.1.11.13.0,表示代理的该接口接收snmp请求类包的数量,由于向代理发送请求才能获取该值,所以每发一次请求报文,我们获取到的值就加一;其他的报文分析上面有讲,就不再赘述了;

在这里插入图片描述

3 实验小结

在本次的实验中,我通过对于报文的解析,初步了解了SNMP协议的工作流程,而且也明白了对象和实例的区别,受益匪浅;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单机调度问题(第i工件的完工时间=加工时间+等待时间)

第08章 制造系统的调度控制 - 百度文库 (baidu.com) 模拟退火单机极小化总流水时间的排序问题_哔哩哔哩_bilibili 在单机调度问题中,工件的完工时间是一个至关重要的指标,因为它直接反映了生产效率的高低。而完工时间的计算,必须同时考虑工件…

cocos creator 3.6 发布web手机端 加载进度条添加

cocos creator 升级到3.x之后加载进度条取消了,测试了多个3.x版本最终以creator 3.6.3版本,构建了简单的进度加载 参考链接: https://forum.cocos.org/t/topic/137113 打包web-mobile后,没有进度条。加载的时候只显示一个黑屏。…

贪吃蛇设计详解

在去年12月中,初次接触c语言,我靠着为数不多的知识,使用数组仿照写了一份贪吃蛇,现在时隔5个月,我已经有能力独立写出真正的贪吃蛇而不是简单的仿照(虽然写的是挺简单的)。 那么我们现在就正式…

在ComfyUI中使用Deforum简单步骤, 以及报错处理

⛳背景 deforum这个插件其实去年就在webui流行的时候火过一阵子,效果的话,因为并没有引入太多“时间”的概念,所以画面基本上每一帧都不一样,但也恰恰因为这个,所以可以产生很多宛若吃了毒蘑菇的视频,后来…

Rokid AR Lite空间计算套装发布,软硬件全面升级推动居家、出行、户外场景大规模应用

4月20日,以“好玩、好看、好上头”为主题的Rokid Open Day 2024发布会在杭州举行,Rokid对外正式发布新一代AR Lite空间计算套装,分享了近期Rokid在AR开发者生态和数字文化领域的进展和成果,并宣布了多项跨行业重磅合作。作为中国代…

OerOerlikonTCO1200欧瑞康LPCVD system操作使用说明

OerOerlikonTCO1200欧瑞康LPCVD system操作使用说明

javaWeb项目-智能仓储系统功能介绍

项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog 1、JSP技术 JSP(Jav…

MySQL 列数据跨表拷贝,一句SQL快速将表A每条记录的某些字段拷贝到表B每条记录的某些字段(A、B表通过ID等字段对应)

文章目录 MySQL 列数据跨表拷贝,一句SQL快速将表A每条记录的某些字段拷贝到表B每条记录的某些字段(A、B表通过ID等字段对应)背景定义表填充测试数据跨表一 一对应拷贝列数据SQL参考资料 MySQL 列数据跨表拷贝,一句SQL快速将表A每条…

OSPF动态路由实验(思科)

华为设备参考:OSPF动态路由实验(华为) 一,技术简介 OSPF(Open Shortest Path First)是一种内部网关协议,主要用于在单一自治系统内决策路由。它是一种基于链路状态的路由协议,通过…

漆包线行业你了解多少?专业漆包线行业MES生产管理系统

今天就说说漆包线行业,漆包线是工业电机(包括电动机和发电机)、变压器、电工仪表、电力及电子元器件、电动工具、家用电器、汽车电器等用来绕制电磁线圈的主要材料。 漆包线上游是铜杆行业,下游是各种消费终端,主要是电…

详解数据在内存中的存储

系列文章目录 第一章 C语言基础知识 第二章 C语言控制语句 第三章 C语言函数详解 第四章 C语言数组详解 第五章 C语言操作符详解 第六章 C语言指针详解 第七章 C语言结构体详解 文章目录 1. 数据类型 1.1 基本数据类型 1.2 派生数据类型 2. 整形在内存中的存储 2.1 …

力扣练习题(2024/4/18)

1不相交的线 在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。 现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足: nums1[i] nums2[j]且绘制的直线不与任何其他连线(非水平线…

kaggle 房价预测 得分0.53492

流程 导入需要的包引入文件,查看内容数据处理调用模型准备训练输出结果 导入需要的包 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split from sklearn.linear_model i…

Pandas介绍与Series创建

1.Pandas介绍 Pandas 是基于 NumPy 的一种工具,该工具是为解决数据分析任务而创建的,Pandas 提供了大量能使我们快速便捷地处理数据的功能 Pandas 与出色的 Jupyter 工具包和其他库相结合,Python 中用于进行数据分析的环境在性能、生产率和协…

【介绍下WebStorm开发插件】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

稀碎从零算法笔记Day53-LeetCode:不同路径 II

稀碎系列有点更不动(更多是自己懈怠了) 题型:矩阵、模拟 链接:63. 不同路径 II - 力扣(LeetCode) 来源:LeetCode 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” &…

Emerald AI 2024

使用易于使用的编辑器和大量内置功能,快速创建高质量的人工智能。 Emerald AI 2024是一个完全重写和重新设计的通用人工智能框架,适用于各种人工智能和游戏类型。它的多组件设计使开发人员能够灵活地只使用他们需要的功能,并允许有组织和可管理的工作流程。Emerald AI经过了…

【介绍下LeetCode的使用方法】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

OpenHarmony其他工具类—libharu [GN编译]

简介 libharu主要用于生成 PDF格式文件。 下载安装 直接在OpenHarmony-SIG仓中搜索libharu并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 库代码存放路径:./third_party/libharu 修改添加依赖的编译脚本,路径:/developtools…

OpenHarmony南向开发案例:【智能中控屏】

样例简介 本Demo是基于Hi3516开发板,使用开源OpenHarmony开发的应用。通过控制面板可以控制同一局域网内的空调,窗帘,灯等智能家居设备。 当前支持的配套L0设备只有[智能灯],如需添加新的设备。 应用运行效果图: 样…