SNMP学习笔记SNMPWALK命令

SNMPWALK是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID入口的所有OID树信息,并显示给用户。

IT监控系统常用snmpwalk获取支持SNMP的网络设备信息,使用snmpwalk收集交换机、路由器的CPU、内存、端口流量等信息。

使用snmpwalk需要安装net-snmp-utils。

[root@linuxprobe ~]# yum install -y net-snmp-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.huaweicloud.com* updates: mirrors.huaweicloud.com
Resolving Dependencies
--> Running transaction check
---> Package net-snmp-utils.x86_64 1:5.7.2-49.el7_9.4 will be installed
--> Processing Dependency: net-snmp-libs = 1:5.7.2-49.el7_9.4 for package: 1:net-snmp-utils-5.7.2-49.el7_9.4.x86_64
--> Processing Dependency: libnetsnmp.so.31()(64bit) for package: 1:net-snmp-utils-5.7.2-49.el7_9.4.x86_64
--> Running transaction check
---> Package net-snmp-libs.x86_64 1:5.7.2-49.el7_9.4 will be installed
--> Finished Dependency ResolutionDependencies Resolved==============================================================================================================================Package                         Arch                    Version                               Repository                Size
==============================================================================================================================
Installing:net-snmp-utils                  x86_64                  1:5.7.2-49.el7_9.4                    updates                  201 k
Installing for dependencies:net-snmp-libs                   x86_64                  1:5.7.2-49.el7_9.4                    updates                  752 kTransaction Summary
==============================================================================================================================
Install  1 Package (+1 Dependent package)Total download size: 953 k
Installed size: 3.3 M
Downloading packages:
(1/2): net-snmp-utils-5.7.2-49.el7_9.4.x86_64.rpm                                                      | 201 kB  00:00:00
(2/2): net-snmp-libs-5.7.2-49.el7_9.4.x86_64.rpm                                                       | 752 kB  00:00:00
------------------------------------------------------------------------------------------------------------------------------
Total                                                                                         1.2 MB/s | 953 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : 1:net-snmp-libs-5.7.2-49.el7_9.4.x86_64                                                                    1/2Installing : 1:net-snmp-utils-5.7.2-49.el7_9.4.x86_64                                                                   2/2Verifying  : 1:net-snmp-utils-5.7.2-49.el7_9.4.x86_64                                                                   1/2Verifying  : 1:net-snmp-libs-5.7.2-49.el7_9.4.x86_64                                                                    2/2Installed:net-snmp-utils.x86_64 1:5.7.2-49.el7_9.4Dependency Installed:net-snmp-libs.x86_64 1:5.7.2-49.el7_9.4Complete!

在服务器上安装snmp:

[root@linuxprobe ~]# yum install -y net-snmp

然后修改配置文件:

com2sec local localhost public
group Mygroup v1 local
view  all included .1
access Mygroup "" any noauth exact all none none

再启动snmpd:

[root@linuxprobe ~]# systemctl restart snmpd
[root@linuxprobe ~]# systemctl enable snmpd
Created symlink from /etc/systemd/system/multi-user.target.wants/snmpd.service to /usr/lib/systemd/system/snmpd.service.

 然后我们就可以使用网络监控工具来监控这台服务器。常用的网络监控工具有snmpwalk和snmpget。我们可以使用者两个工具来获取这台服务器的网络设备信息,接口状态和系统负载。

[root@linuxprobe ~]# snmpwalk -v 1 -c public localhost

snmpwalk常用参数就两个:-c是指定团体名,-v指定snmp的版本。 

[root@linuxprobe ~]# snmpwalk –v 1 –c public localhost .1.3.6

使用v1版本,共同体为public,来对192.168.0.1的.1.3.6分支进行walk。

snmpwalk –v 2c –c cisco –Cc –r 1 –t 5 192.168.0.3 .1 > 192.168.0.3.mib

使用v2c版本,共同体为cisco,来对192.168.0.2的整个mib进行walk。并且通过-Cc指定OID负增长也可以继续,-r指定重试1次,-t指定超时为5秒,最后使用> 192.168.0.3.mib输出重定向到192.168.0.3.mib文件中去。

snmpwalk –v3 –l authPriv –u gov –A MD5 –a “gov auth pass” –X DES –x “gov priv pass” 192.168.0.3 .1.3.6

使用v3版本,安全级别为authNoPriv,指定安全名字为gov,指定验证协议为MD5同时验证字符串为gov auth pass,指定加密协议为DES同时验证字符串为gov priv pass,对192.168.0.3的.1.3.6分支mib进行walk。

实际使用说明: 1.    获取的目标与保存说明 针对研发需要的设备MIB资料进行调试的情况,一般需要设备的完整MIB,因此在进行设备的MIB获取时,使用使用.1作为目标mib分支(即完整mib文件)。并且一般需要将输出使用>重定向符,输出到一个指定的文件中,以方便传输。

2.    参数选项说明 一般都需要使用-Cc,来指定允许OID不重复。 如果设备较容易超时,需要使用-t与-r参数,来指定超时时间,与重试次数。

3.    正常WALK完整MIB文件说明 一般完整WALK到一个MIB,在MIB末尾,都会输出“End Of Mib”的字样。否则可能为Response timeout等错误,此时请根据错误消息及时调整参数。

参数说明:

语法:snmpwalk [OPTIONS] AGENT [OID]

1)、通用参数
-h, --help 获取帮助
-H 以方便阅读的方式显示配置文件指令
-v 1|2c|3 指定snmp版本
-V, --version 显示软件版本号
-r RETRIES 设置重试次数
-t TIMEOUT 设置请求超时(秒)
-m MIB[:…] 加载给定的MIB列表(ALL加载所有内容)
-M DIR[:…] 在给定的目录列表中查找mib
-P MIBOPTS 切换控制MIB解析的各种默认值
u:允许在MIB符号中使用下划线
c:不允许使用“-”来终止注释
d:保存MIB对象的描述
e:禁用MIB符号冲突时的错误
w:当MIB符号冲突时启用警告
W:当MIB符号冲突时启用详细警告
R:替换最新模块中的MIB符号
-O OUTOPTS 切换控制输出显示的各种默认值:
0:打印一位数十六进制字符的前导0
a:以ascii格式打印所有字符串
b:不要把索引分解
e:以数字形式打印枚举
E:字符串索引中的转义引号
f:输出时打印完整的OID
n:用数字打印
p精度:显示具有指定精度的浮点值(printf格式字符串)
q:快速打印,便于解析
Q:等号快速打印
s:只打印OID的最后一个符号元素
S:打印MIB模块id加上最后一个元素
t:打印时间刻度未分析为数字整数
T:打印可读文本和十六进制字符串
u:使用UCD样式前缀抑制打印OID
U:不要打印单位
v:仅打印值(而不是OID=值)
x:以十六进制格式打印所有字符串
X:扩展索引格式
-I INOPTS 切换控制输入解析的各种默认值:
b:进行best/regex匹配以查找MIB节点
h:不要应用显示提示
r:不要检查范围/类型的值
R:随机访问OID标签吗
u:顶级OID必须有“.”前缀(UCD样式)
s SUFFIX:在解析之前用后缀附加所有文本oid
S PREFIX:在解析之前,在所有文本OID前面加前缀
-L LOGOPTS 切换控制日志记录的各种默认值:
e:记录到标准错误
o:记录到标准输出
n:根本不记录
f file:登录到指定的文件
s facility:登录到syslog(通过指定的设施)
(变体)
[EON]pri:记录到标准错误,输出或/dev/null(对于“pri”及以上级别)
[EON]p1-p2:记录到标准错误,输出或/dev/null,对于级别“p1”到“p2”
[FS]pri令牌:“pri”及以上级别的日志到文件/syslog
[FS]p1-p2令牌:“p1”到“p2”级别的日志到文件/syslog
-C APPOPTS 设置各种特定于应用程序的行为:
p:打印找到的变量数
i:在搜索范围中包含给定的OID
I:即使没有返回结果,也不要包含给定的OID
c:不要检查返回的OID是否在增加
t:显示完成步行的挂钟时间
T:显示完成每个请求的挂钟时间
E{OID}:在指定的OID处结束行走


2)、snmp v1或v2c参数
-c 设置团体名字符串


3)snmp v3参数
-a PROTOCOL 设置验证协议(MD5|SHA|SHA-224|SHA-256|SHA-384|SHA-512)
-A PASSPHRASE 设置集身份验证协议密码短语
-e ENGINE-ID 设置安全引擎ID(例如80000020109840301)
-E ENGINE-ID 设置上下文引擎ID(例如80000020109840301)
-l LEVEL 设置安全级别(noAuthNoPriv | authNoPriv | authPriv)
-n CONTEXT 设置上下文名称(例如bridge1)
-u USER-NAME 设置安全名称(例如bert)
-x PROTOCOL 设置隐私协议(DES | AES | AES-192 | AES-256)
-X PASSPHRASE 设置隐私协议密码短语
-Z BOOTS,TIME 设置目标引擎引导/时间
4)、debug参数
-d 转储十六进制的输入/输出数据包
-D 打开指定令牌的调试输出(都给出了极其详细的调试输出)

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

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

相关文章

Matlab实现序贯变分模态分解(SVMD)

大家好,我是带我去滑雪! 序贯变分模态分解(SVMD) 是一种信号处理和数据分析方法。它可以将复杂信号分解为一系列模态函数,每个模态函数代表信号中的特定频率分量。 SVMD 的主要目标是提取信号中的不同频率分量并将其重构为原始信号。SVMD的基…

异地两台电脑如何共享文件?

在当前数字化时代,人们对于数据的使用和管理变得越来越便捷。由于工作和生活的需要,我们常常需要在异地的电脑间共享文件。这给我们的工作和生活带来了一定程度的不便。有没有一种便捷的方法可以让异地的电脑实现文件的共享呢?答案是肯定的。…

flutter 父组件调用子组件方法

标题在Flutter中,父组件可以通过GlobalKey来引用子组件,并调用子组件的方法。以下是一个简单的例子: 在这个例子中,ParentComponent 有一个GlobalKey,它被传递给了ChildComponent。当按钮被点击时,通过chi…

06 mybatis </sql>

文章目录 products.sqlpom.xmlmybatis-config.xmlProductsMapper.xmlProductsMapperImpl.javaProducts.javaDButil.javaProductsMapperImplTest.javaMapperTest.java products.sql create table products (product_id int auto_increment comment 产品IDprimary key,prod…

知识图谱-图数据库-neo4j (1)踩坑记录

1、neo4j 安装 材料 : openjdk11 (neo4j 最低jdk版本要求) neo4j-community-4.4.30 CentOS 7.8 Release Date: 25 January 2024 Neo4j 4.4.30 is a maintenance release with many important improvements and fixes. Neo4j Deployment Center - Graph Database…

vuex状态管理的使用

一、创建store,单个store的使用 1、 /*** 该文件用于创建vuex中最核心的store*///引入Vuex import Vuex from vuex; import Vue from "vue";//使用vuex来集中管理状态,必要 //new store的前提是必须要使用Vuex插件 Vue.use(Vuex);//创建actions(本质就是对象) 用于…

【前端面试3+1】01闭包、跨域

一、对闭包的理解 定义: 闭包是指在一个函数内部定义的函数,并且该内部函数可以访问外部函数的变量。闭包使得函数内部的变量在函数执行完后仍然可以被访问和操作。 特点: 闭包可以访问外部函数的变量,即使外部函数已经执行完毕。…

vue项目中使用vue-pdf或pdf.Js,实现在页面上预览pdf内容

一。vue-pdf 1. 安装vue-pdf npm install --save vue-pdf2.页面引入 js部分 import pdf from "vue-pdf";data(){return {pdfUrl: "",pageTotal: 0,} }mounted(){this.pdfUrl pdf.createLoadingTask(pdf文件路径url);// 获取页码this.pdfUrl.promise…

Linux 搭建jenkins docker

jekin docker gitee docker 安装 jenkins docker run -d --restartalways \ --name jenkins -uroot -p 10340:8080 \ -p 10341:50000 \ -v /home/docker/jenkins:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker je…

QT数据类型和容器用法

Qt库提供了基于通用模板的容器类, 这些类可用于存储指定类型的数据项,Qt中这些容器类的设计比STL容器更轻,更安全且更易于使用。容器类也都是隐式共的,它们是可重入的,并且已针对速度/低内存消耗和最小的内联代码扩展进行了优化&a…

【解析几何】 【多源路径】 【贪心】1520 最多的不重叠子字符串

作者推荐 视频算法专题 本身涉及知识点 解析几何 图论 多源路径 贪心 LeetCode1520. 最多的不重叠子字符串 给你一个只包含小写字母的字符串 s ,你需要找到 s 中最多数目的非空子字符串,满足如下条件: 这些字符串之间互不重叠&#xff0…

简单讲讲spring事务的传播机制

事务传播机制就像是一个指挥家,控制着程序中的各种操作(比如修改数据库)何时开始、何时结束,以及如何处理错误。 保证数据一致性:想象一下你在网上购物,你需要先从银行账户扣款,然后再把商品加入…

Wireshark使用实训---分析IP包

1.Wireshark简介和作用 Wireshark是一个开源的网络分析工具,用于捕捉和分析网络数据包。它可以帮助网络管理员和安全专家监控和解决网络问题,同时也可以用于学习和教学网络通信原理。 Wireshark可以在网络中捕获和分析传输的数据包,包括协议…

【Java初阶(五)】类和对象

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 目录 1. 前言2.面向对象的认识3.类的认识4. 类的实例化4.1什么是实例化4.2类和对象的说明 5.this引用6.对象初始化6.1 构造方法 7.static关键字8.代码块8.1 …

探索Python中的集成方法:Stacking

在机器学习领域,Stacking是一种高级的集成学习方法,它通过将多个基本模型的预测结果作为新的特征输入到一个元模型中,从而提高整体模型的性能和鲁棒性。本文将深入介绍Stacking的原理、实现方式以及如何在Python中应用。 什么是Stacking&…

算法-数据结构

算法-数据结构 金无足赤人无完人,在处理实际问题的时候我们可以使用到很多合适的数据结构,但目前还没有一个数据结构可以称的上完美。查询速度快的,插入的速度就会慢;插入速度和查询速度都快得,占用的空间就会多&…

PTAxt的考研路

xt是我院19级专业第一,但他认为保研并不能展示他全部的实力,所以他在22年初试一结束就加入了23考研的队伍中,并且他为了填补我院近些年来无北大研究生的空白,毅然决然决定扛起19级的大旗,在学校百年华诞之际献上他最诚…

Springboot项目之mybatis-plus多容器分布式部署id重复问题之源码解析

mybatis-plus 3.3.2 部署多个pod id冲突问题 配置: # 设置随机 mybatis-plus.global-config.worker-id: ${random.int(1,31)} mybatis-plus.global-config.datacenter-id: ${random.int(1,31)}源码解析:MybatisSqlSessionFactoryBean 重点&#xff1a…

mysql数据库查询

MYSQL数据库的搭建 今日目标: 1.搭建数据库 2.实现数据库的增删改查 00-回顾 #dos的常用指令 1. 切换盘符: 盘符名: 2. 切换上一级: cd ../ 3. 切换下一级: cd 目录名 4. 查看当前目录下的所有子目录和子文件: di…

光明源@智慧公厕赋能“厕所革命”主要体现在哪些方面?

当我们提及厕所,不再仅是简单的卫生设施,而是一种对生活品质的关怀与呵护。智慧公厕,作为厕所革命的引领者,以其独特的拟人魅力,彰显着人性化关怀的新风尚。今日,让我们一同探索,智慧公厕是如何…