SNMP学习笔记SNMPWALK命令

2024-03-26 15:36

本文主要是介绍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 打开指定令牌的调试输出(都给出了极其详细的调试输出)

这篇关于SNMP学习笔记SNMPWALK命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/848967

相关文章

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

MySQL的ALTER TABLE命令的使用解读

《MySQL的ALTERTABLE命令的使用解读》:本文主要介绍MySQL的ALTERTABLE命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、查看所建表的编China编程码格式2、修改表的编码格式3、修改列队数据类型4、添加列5、修改列的位置5.1、把列

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen