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

相关文章

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

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]