snmp总结一:概述
snmp总结一:概述
SNMP概述
SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议"。SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。
SNMP是管理进程(NMS)和代理进程(Agent)之间的通信协议。它规定了在网络环境中对设备进行监视和管理的标准化管理框架、通信的公共语言、相应的安全和访问控制机制。网络管理员使用SNMP功能可以查询设备信息、修改设备的参数值、监控设备状态、自动发现网络故障、生成报告等。
SNMP具有以下技术优点:
- 基于 TCP/IP 互联网的标准协议,传输层协议一般采用 UDP。
- 自动化网络管理。网络管理员可以利用 SNMP 平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告。
- 屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP 只提供最基本的功能集,使得管理任务与被管设备的物理特性和实际网络类型相对独立,从而实现对不同厂商设备的管理。
- 简单的请求—应答方式和主动通告方式相结合,并有超时和重传机制。
- 报文种类少,报文格式简单,方便解析,易于实现。
- SNMPv3 版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性。
SNMP网络架构
SNMP网络架构由三部分组成:NMS、Agent和MIB。
2.1 NMS简介
NMS是网络中的管理者,是一个利用SNMP协议对网络设备进行管理和监视的系统。NMS既可以指一台专门用来进行网络管理的服务器,也可以指某个设备中执行管理功能的一个应用程序。NMS可以向Agent发出请求,查询或修改一个或多个具体的参数值。同时,NMS可以接收Agent主动发送的Trap信息,以获知被管理设备当前的状态。
2.2 Agent简介
Agent是网络设备中的一个应用模块,用于维护被管理设备的信息数据并响应NMS的请求,把管理数据汇报给发送请求的NMS。
Agent接收到NMS的请求信息后,完成查询或修改操作,并把操作结果发送给NMS,完成响应。同时,当设备发生故障或者其他事件的时候,Agent会主动发送Trap信息给NMS,通知设备当前的状态变化。
2.3 MIB简介
任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB是被管理对象的集合。它定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。每个Agent都有自己的MIB。MIB也可以看作是NMS和Agent之间的一个接口,通过这个接口,NMS可以对Agent中的每一个被管理对象进行读/写操作,从而达到管理和监控设备的目的。NMS、Agent和MIB之间的关系如下图所示。

SNMP版本
SNMP 主要有 SNMPv1、SNMPV2c、SNMPv3 几种最常用的版本。
3.1 SNMPv1
SNMPv1 是 SNMP 协议的最初版本,提供最小限度的网络管理功能。SNMPv1 的 SMI 和 MIB 都比较简单,且存在较多安全缺陷。
SNMPv1 采用团体名认证。团体名的作用类似于密码,用来限制 NMS 对 Agent 的访问。如果 SNMP 报文携带的团体名没有得到 NMS/Agent 的认可,该报文将被丢弃。
3.2 SNMPv2c
SNMPv2c 也采用团体名认证。在兼容 SNMPv1 的同时又扩充了 SNMPv1 的功能:它提供了更多的操作类型(GetBulk 操作等);支持更多的数据类型(Counter32 等);提供了更丰富的错误代码,能够更细致地区分错误。
3.3 SNMPv3
SNMPv3 主要在安全性方面进行了增强,它采用了 USM 和 VACM 技术。USM 提供了认证和加密功能,VACM 确定用户是否允许访问特定的 MIB 对象以及访问方式。
- SNMP协议原理
4.1 SNMP操作
SNMP 支持多种操作,主要为以下几种基本操作:
Get 操作:NMS 使用该操作从 Agent 获取一个或多个参数值。
GetNext 操作:NMS 使用该操作从 Agent 获取一个或多个参数的下一个参数值。
Set 操作:NMS 使用该操作设置 Agent 一个或多个参数值。
Response 操作:Agent 返回一个或多个参数值。该操作是前面三种操作的响应。
Trap 操作:Agent 主动发出的操作,通知 NMS 有某些事情发生。

执行前四种操作时设备使用 UDP 协议采用 161 端口发送报文,执行 Trap 操作时设备使用 UDP 协议采用 162 端口发送报文。由于收发采用了不同的端口号,所以一台设备可以同时作为 Agent 和 NMS。
4.2 SNMP报文
4.2.1 报文格式
一个 SNMP 报文共有三个部分组成,即公共 SNMP 首部、get/set 首部、trap 首部、变量绑定。

4.2.2 编码规则 BRE
在具体系统中,我们需要用具体的编码规则将 ASN.1 语法表示的抽象数据转换成具体的比特流。SNMP 使用的编码方法是 BER(Basic Encoding Rule)。BER 的数据都由三个域构成:标识域(tag)+长度域(length)+值域(value)。
标识域 标识域 的编码规则
标识域指明数据的类型,占用 1 个字节,常见的类型有:
BOOL(0x01); INT(0x02); OCTSTR(0x04); NULL(0x05); OBJID(0x06); ENUM(0x0A); SEQ(0x30);
SETOF(0x31); IPADDR(0x40); COUNTER(0x41); GAUGE(0x42); TIMETICKS(0x43); OPAQUE(0x44)
长度域的编码规则
长度域指明值域的长度,不定长,一般为一到三个字节。其格式可分为短格式(后面的值域没有超过 127 长)和长格式。

length=30=>1E(30 没有超过 127,长度域为 0001 1110)
length=169=>81 A9(169 超过 127,长度域为 1000 0001 1010 1001,169 是后 8 位的值,前八位的第一个 1 表示这是长格式的表示方法,前八位的后七位表示后面有多少个字节表示针对的长度,这里,是 000 0001,后面有一个字节表示真正的长度,1010 1001 是 169,后面的值有 169 个字节长。)
4.2.3 实例分析

30 4b :表示整个 snmp 报文的编码方式为 30 ,即是 SEQUENCE 类型表示 snmp 报文的长度为 4b,即为 75
02 01 00 :02 表示该字段是 INTERGER 类型,01 表示该字段占用一个字节,00 表示版本号为 1
04 06 70 75 62 6c 69 63 :04 表示该字段为 OCTET STRING 类型,06 表示该字段的长度 ,70 75 62 6c 69 63 表示 “public”
a0 3e :a 是该字段的固定值,0 表示这是一个 get-request 报文,3e 表示 PUD 还有 62 个字节
02 01 48 : 02 表示该字段是 INTERGER 类型 ,01 表示该字段占用一个字节,48 表示request-id 为 72
02 01 00 :02 表示该字段是 INTERGER 类型 ,01 表示该字段占用一个字节,00 表示报文的差错状态为 0
02 01 00 :02 表示该字段是 INTERGER 类型 ,01 表示该字段占用一个字节,00 表示报文的差错索引为 0
30 33 : 30 表示编码类型为 30 ,即是 SEQUENCE 类型,33 表示后续 “键 - 值”区域占用 51 个字节
30 0f 06 0b 2b 06 01 02 01 19 03 02 01 05 01 05 00 : 30 表 示 编 码 类 型 为 30 , 即 是SEQUENCE 类型,0f 表示该字段共有 15 个字节,06 表示第一个变量为键,0b 表示键长为 11个字节,2b 06 01 02 01 19 03 02 01 05 01 表示 1.3.6.1.2.1.25.3.2.1.5.1 , 00 表示该值的字段的长度为 0,即为空
snmp总结一:概述的更多相关文章
- SNMP基础知识
注:本篇博客并非原创,仅是学习笔记 1. 概述1.1 诞生背景1.2 SNMP简介1.3 版本1.4 术语1.5 网络结构1.6 MIB简介2. Linux的SNMP安装 1. 概述 1.1 诞生背景 ...
- 自学Zabbix11.1 Zabbix 配置SNMP监控
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix11.1 Zabbix 配置SNMP监控 1. 概述 zabbix采集数据方式: ...
- 【SNMP】SNMP概述
SNMP概述 SNMP(Simple Network Management Protocol,简单网络管理协议)是目前UDP/IP网络中应用最为广泛的网络管理协议,它提供了一个管理框架来监控和维护互联 ...
- SNMP学习笔记之SNMP简单概述
0x00 SNMP简单概述 0.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理 ...
- SNMP简单概述
一.SNMP简单概述 1.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议& ...
- SNMP概述–运维必知的协议基础
一.什么是SNMP? SNMP是 “Simple Network Management Protocol” 的缩写,中文意思是简单网络管理协议,它是由互联网工作小组在RFC1157中定义的应用层 ...
- 网络监测工具之Zabbix的搭建与测试方法(二)-- SNMP、OID和MIB概述
概念 SNMP是专门设计用于在 IP 网络管理网络节点的一种标准协议,它是一种应用层协议.SNMP使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长.通过SNMP接收随机消息(及事件报告 ...
- SNMP 原理与实战详解
原文地址:http://freeloda.blog.51cto.com/2033581/1306743 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法 ...
- 《TCP/IP详解卷1:协议》第1章 概述-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- SNMP协议入门
SNMP协议入门 1.引言 基于TCP/IP的网络管理包含3个组成部分: 1) 一个管理信息库MIB(Management Information Base).管理信息库包含所有代理进程的所有可被查询 ...
随机推荐
- Docker镜像介绍
一.Docker镜像介绍 镜像是Docker的三大核心概念之一. Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认的镜像仓库下载(默认使用Docker Hu ...
- Delphi CheckListBox 用法
for i := CheckListBox1.Items.Count-1 downto 0 do //从后面往前面删 begin if CheckListBox1.Checked[i] then // ...
- 导入SpaceClaim的iges模型尺寸被放大1000倍的问题
问题 ANSYS APDL 和 Workbench 联合仿真时,导入 SpaceClaim 的 .iges 模型尺寸被放大 1000 倍数. 如 APDL 生成的尺寸为 10 mm(注:此处的 mm ...
- C#反射与特性{学习笔记}
其实这篇文章主要是想要学习反射,但是反射和特性往往是不分家的,所以也要了解一些特性相关的知识. 简单来说,继承了Attribute类的,就是特性 作用是给类或者方法打个标签 反射是在程序运行时,去读取 ...
- 【逆向】修改LightCycler® 96文件Summary日期
修改LightCycler 96文件Summary日期 零.需求 来自我的一个朋友 她是要准备改某个软件(LightCycler 96)保存的数据(时间和日期),当时得知此意图后心里已经判了8成不能改 ...
- 如何定位 Druid & HikariCP 连接池的连接泄漏问题?
背景 最近碰到一个 case,一个 Java 应用无法获取新的数据库连接,日志中出现了以下错误: com.alibaba.druid.pool.GetConnectionTimeoutExceptio ...
- .NET 平台上的开源模型训练与推理进展
.NET 平台上的开源模型训练与推理进展 作者:痴者工良 博客:https://www.whuanle.cn 电子书仓库:https://github.com/whuanle/cs_pytorch M ...
- Spring AI与DeepSeek实战四:系统API调用
一.概述 在 AI 应用开发中,工具调用 Tool Calling 是增强大模型能力的核心技术.通过让模型与外部 API 或工具交互,可实现 实时信息检索(如天气查询.新闻获取).系统操作(如创建任务 ...
- 使用PyMuPDF对pdf文件插入文字时 遇到配置本地的字体文件缺仍然使用默认Helvetica字体问题
背景 昨天收到的新需求,一份文件从其他部门发起,进行一些文字填写后盖章,再到我们部门,我们接收到的是pdf文件,所以需要在pdf文件中进行修改,插入当日日期等文字.但有要求字体必须和原文档字体相同. ...
- Vitepress 建站资源汇总
整理下使用 Vitepress 搭建博客过程中使用过的一些资源和方案 主要参考站点 Vitepress 官方文档 VitePress快速上手中文教程,这个站点扩展很全,包括静态部署选择,样式美化,第三 ...