使用snmpwalk采集设备的OID信息_snmp 查看oid-程序员宅基地

技术标签: SNMP  snmp  

打算开始学习有关监控方面的知识,但是现在很多监控系统都是根据SNMP进行的。而SNMP监控的性能指标很多都是通过snmpwalk采集设备的OID信息得到的,所以今天就来先介绍下,如何通过snmpwalk来采集设备的OID信息。

要使用snmpwalk采集设备的OID信息,需要以下几个步骤:

1、 理解snmpwalk的原理

2、 安装snmpwalk

3、 snmpwalk参数说明

4、 snmpwalk的使用方法

5、 使用snmpwalk采集设备OID信息

6、 生产环境中设备OID信息注意事项

一、理解snmpwalk的原理

snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。通过snmpwalk也可以查看支持SNMP协议(可网管)的设备的一些其他信息,比如cisco交换机或路由器IP地址、内存使用率等,也可用来协助开发SNMP功能。

二、安装snmpwalk

要使用snmpwalk,我们首先要安装snmpwalk。snmpwalk没有单独的安装包,它被包含在net-snmp软件包中的,所以我们只需要安装net-snmp软件包就可以得到snmpwalk。而net-snmp的安装又分为linux环境和windows环境,下面我们来一一进行介绍。

2.1 linux下安装net-snmp

在linux下使用snmpwalk工具,我们必须要安装net-snmp-utils这个软件包。

注意:如果linux只安装net-snmp的话,则不包含snmpwalk工具,如下:

yum -y install net-snmp-utils

snmpwalk -h

clip_image001

clip_image002

2.2 windows安装下net-snmp

windows下安装net-snmp,我们可以去net-snmp官网进行下载。

现在我们安装的是net-snmp-5.6.1.1-1.x86.exe这个软件包。如下:

clip_image003

clip_image004

以上是一种方法,还有另外一种方法就是直接使用,已经制作好的免安装包。

免安装包的制作很简单,就是先在本地安装net-snmp软件包,然后把安装目录下的bin目录复制到其他服务器就可以正常了。如下:

clip_image005

这样就可以把bin目录,复制到其他机器上使用。注意在使用的过程中为了更方便的使用snmpwalk工具,我们可以把该目录所在的路径加入系统的环境变量中,如下:

clip_image006

clip_image007

clip_image008

clip_image009

这样我们就把net-snmp安装完毕。关于snmpwalk免安装包可以在这个地址下载《烂泥snmpwalk5.6.1.1免安装包》。

三、snmpwalk参数说明

snmpwalk的用法,我们可以通过帮助信息进行查看,如下:

snmpwalk -h

clip_image010

通过上图,我们可以看到snmpwalk的参数比较多,但是我们比较常用的就只有-v和-c参数。如下:

–h:显示帮助。

–v:指定snmp的版本, 1或者2c或者3。

–c:指定连接设备SNMP密码。

–V:显示当前snmpwalk命令行版本。

–r:指定重试次数,默认为0次。

–t:指定每次请求的等待超时时间,单为秒,默认为3秒。

–l:指定安全级别:noAuthNoPriv|authNoPriv|authPriv。

–a:验证协议:MD5|SHA。只有-l指定为authNoPriv或authPriv时才需要。

–A:验证字符串。只有-l指定为authNoPriv或authPriv时才需要。

–x:加密协议:DES。只有-l指定为authPriv时才需要。

–X:加密字符串。只有-l指定为authPriv时才需要。

四、snmpwalk的使用方法及实例

snmpwalk使用方法很简单,如下:

snmpwalk -v 1或2c(代表SNMP版本) -c SNMP密码 IP地址 OID(对象标示符)

–v:指定snmp的版本, 1或者2,该参数必须有。

–c:指定连接设备SNMP读密码,该参数必须有。

IP:指定要walk的设备的IP地址,该参数必须有。

OID:代表要获取设备的指标oid,该参数不是必须的。

五、使用snmpwalk获取设备OID信息

下面我们开始使用snmpwalk开始获取设备的一些OID信息,注意现在获取的都是windows系统,没有涉及到linux系统。

注意:在此我们还使用了iReasoning MIB Browser这个MIB浏览软件以配合我们的实验。

5.1获取windows系统进程数

snmpwalk -v 1 -c public 192.168.1.200 .1.3.6.1.2.1.25.1.6

这条命令的意思是:使用v1版本,共同体为public,来对192.168.1.200的.1.3.6.1.2.1.25.1.6分支进行walk。

clip_image011

5.2获取windows系统用户数

snmpwalk -v 1 -c public 192.168.1.200 .1.3.6.1.2.1.25.1.5

clip_image012

我们也可以通过以下命令获得:

snmpwalk -v 1 -c public 192.168.1.200 hrSystemNumUsers

clip_image013

注意:hrSystemNumUsers与.1.3.6.1.2.1.25.1.5是等效的。

5.1和5.2其实我们完全可以通过一条命令获得,如下:

snmpwalk -v 1 -c public 192.168.1.200 .1.3.6.1.2.1.25.1

clip_image014

获取的信息中包含系统的运行时间、系统的用户数、系统的进程数、系统当前的时间。

5.3获取windows系统总内存

snmpwalk -v 1 -c public 192.168.1.200 .1.3.6.1.2.1.25.2.2

clip_image015

5.4获取windows系统的IP地址

snmpwalk -v 1 -c public 192.168.1.200 .1.3.6.1.2.1.4.20.1.1

clip_image016

5.5获取windows系统信息

snmpwalk -v 1 -c public 192.168.1.200 system

clip_image017

5.6获取windows系统的网卡信息

snmpwalk -v 1 192.168.1.200 -c public ifDescr

clip_image018

六、生产环境中设备OID信息注意事项

6.1获取的目标与保存说明

针对研发需要设备MIB信息进行调试的情况,一般需要设备的完整MIB(包含公有OID和私有OID),因此在进行设备的MIB获取时,使用使用.1作为目标mib分支(即完整mib文件)。并且一般需要将输出使用>重定向符,输出到一个指定的文件中,以方便传输。

6.2参数选项说明

一般需要使用-Cc,来指定允许OID不重复。

如果设备较容易超时,需要使用-t与-r参数,来指定超时时间与重试次数。

6.3 MIB信息的完整性

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

clip_image019

一般来说使用snmpwalk -v 1/2c -c community IP .1>IP.mib命令采集设备MIB信息后,文件IP.mib应该包含该设备的所有MIB信息。

但是从实际反应的情况来看,某些设备产商由于SNMP实现支持不是很标准,故存在只能获取到公有MIB信息(即1.3.6.1.2.1开头的信息)的情况,此时请再使用命令snmpwalk -v 1/2c -c community IP .1.3.6.1.4.1>IP.private.mib采集设备私有MIB信息,并和前面采集到的IP.mib一同发给研发。

小结:所谓MIB信息的完整性,即判断snmpwalk命令输出的文件信息中是否包含iso.3.6.1.2.1开头的OID信息(公有MIB信息),又是否包含iso.3.6.1.4.1开头的OID信息(私有MIB信息),甚至还可能包含iso.3.6.1.6.1开头的OID信息(该部分信息可有可无,目前暂时未用到)。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wh8_2011/article/details/64923693

智能推荐

Java 流(Stream)、文件(File)和IO_file流有哪些?-程序员宅基地

文章浏览阅读302次。出处:https://www.cnblogs.com/flyins/p/5746196.html[---------------------Stream-----------------------]首先,流是什么?流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。[左图]流具有方向性,至于是输..._file流有哪些?

npm安装vue的权限问题解决_error: eacces: permission denied, symlink '../lib/-程序员宅基地

文章浏览阅读1.3k次。前端小白,如何运行VUE项目请参考:如何运行一个vue项目本人在安装完node.js后使用npm安装vue时遇到权限问题:Error: EACCES: permission denied, symlink '../lib/node_modules/vue-cli/bin/vue-init' -> '/usr/local/bin/vue-init'解决方法是改变npm的默认路径创建一个全局目录:mkdir ~/.npm-global配置npm使用新目录:npm config s_error: eacces: permission denied, symlink '../lib/node_modules/@vue/cli/bin/

软件工程导复习分析(简化版,不够详细,有干货)_软件系统中的模块间的耦合必须最小化,-程序员宅基地

文章浏览阅读564次。一.瀑布模型 1.步骤 (1)需求分析 (2)系统设计 (3)软件编程 (4)软件测试 (5)软件维护 2.相关信息 提出者:温斯顿.罗伊斯 二.增量模型 1.简要理解 我们使用的产品,的0.1 ,1.0,2.0…… n.m版本,先将主干搭建好,再在市场或其他地方获取反馈,这时就可以,将枝叶补充 2.优点:人员分配灵活,刚开始不用投入大量的人力资源,有计划的管理技术风险 3_软件系统中的模块间的耦合必须最小化,

二叉树的简单算法题_public int xsum(treenode root)-程序员宅基地

文章浏览阅读260次。/** * * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { // 判断是对称二叉树 public boolean isSy..._public int xsum(treenode root)

Unity自定义UI组件(四)双击按钮、长按按钮_unityui双击-程序员宅基地

文章浏览阅读1.3w次,点赞10次,收藏41次。Unity中实现按钮双击、长击按钮,特点方便创建,容易监听,像UGUI提供的Button一样便捷,并且在不同的工程之间可以完全复用。_unityui双击

一直以为自己擅长Python,直到见到这个神技……-程序员宅基地

文章浏览阅读71次。作为AI 初学者来说,最大的问题就是:资料太多!!!看不完!!!不知道如何取舍!!!人的精力有限!!!大部分想转行AI算法岗位的都比较浮躁。跳槽的时候不得其法。虽然AI行业高薪,但是你却并..._python 神技

随便推点

git merge了一个分支到master之后,提交到了github,怎样在github也撤回merge。_github如何回退merge-程序员宅基地

文章浏览阅读2k次。如果你是在本地 merge 的,那你可以通过 git reflog 查看你的历史操作,然后通过 git reset --hard HEAD@{n} 回退到 reflog 里面的第 n 步然后,git push origin master -f 就可以把远程的 master 退回到之前的状态了其实,既然你是 merge 的,那么会生成一个 merge commit。你也可以先在本地 git ..._github如何回退merge

研究之美-程序员宅基地

文章浏览阅读125次。研究之美[美]D.E.Knuth(高德纳)著高博译ISBN 978-7-121-15553-62012年1月出版定价:49.00元16开204页宣传语:算法大师高德纳(Donald E.Knuth)教您如何自我发现,探索真理!中国科学院倪光南院士、微软全球副总裁张亚勤博士倾情推荐!内 容 简 介本书是计算机科学大师、“算法分析之父”高德纳(Donald ...

理解:C++重载运算符等于(=)时为什么返回的是一个引用(&)(&引用是什么意思)?_c++ 运算符=重载 为什么返回引用-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏3次。首先,我们要理解,引用(&)是什么意思?&在c语言中可以是取地址的意思。但在C++中,它有另外一种用法,即引用,这是在C++中特有的,对引用最通俗简单的理解就是取别名!我们做个简单尝试,看以下代码。**#include<iostream>using namespace std;int main{** **int a=3;** **int &b=a;** **cout<<b;** //输出 3; **b=1;** //这条语句其_c++ 运算符=重载 为什么返回引用

RN 开发遇到的问题之传参函数错误Invariant Violation: Maximum update depth exceeded.-程序员宅基地

文章浏览阅读691次。错误码:Invariant Violation: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested u..._invariant violation: maximum update depth exceeded. this can happen when a c

python 实现自动化客户端截图_pywinauto 截图-程序员宅基地

文章浏览阅读3.6k次,点赞17次,收藏16次。1 背景实现一个客户端的自动截图,然后自动上传客户端的截图到网站中。这里不是用浏览器打开的web 无法用 selenium 等web 端自动化工具来实现,只能用客户端自动化工具。2 技术介绍2.1 pywinautopywinauto是用到的主要python库 pywinauto中文文档2.1.1 目前常用类似的python 客户端常用库PyAutoGui - 一个流行的跨平台库(具有基于图像的搜索,没有基于文本的控件操作)。Lackey - Sikuli的纯Python替代品(基于图像模式_pywinauto 截图

国内十大活跃报表 BI 产品深度点评_润乾报表跟永宏报表-程序员宅基地

文章浏览阅读399次。目前国内市场上的报表 BI 工具琳琅满目,看起来也各有特点,这给选型工作带来了一些困扰,本文就一些较活跃的报表 BI 产品进行点评,对于不太熟悉这些产品和技术的同学,可作为参考资料。这里选了十个产品,分作四类:国内报表类,国内 BI 类,国外 BI 类,国外开源报表类。每类两三种产品,在分类内大体会按面市时间为序来点评。需要强调的是,因为篇幅有限,不可能把市场上所有产品都选入,这并不意味着其它产品不好,看到结论部分时就会理解。这么分类是有意义的,同类产品大体具有相似的特征。其中,国内产品被分为报表和_润乾报表跟永宏报表