本文主要是介绍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命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!