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

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc