打算开始学习有关监控方面的知识,但是现在很多监控系统都是根据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

2.2 windows安装下net-snmp

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

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

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

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

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

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

三、snmpwalk参数说明

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

snmpwalk -h

通过上图,我们可以看到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。

5.2获取windows系统用户数

snmpwalk -v 1 -c public 192.168.1.200 .1.3.6.1.2.1.25.1.5

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

snmpwalk -v 1 -c public 192.168.1.200 hrSystemNumUsers

注意: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

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

5.3获取windows系统总内存

snmpwalk -v 1 -c public 192.168.1.200 .1.3.6.1.2.1.25.2.2

5.4获取windows系统的IP地址

snmpwalk -v 1 -c public 192.168.1.200 .1.3.6.1.2.1.4.20.1.1

5.5获取windows系统信息

snmpwalk -v 1 -c public 192.168.1.200 system

5.6获取windows系统的网卡信息

snmpwalk -v 1 192.168.1.200 -c public ifDescr

六、生产环境中设备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等错误,此时请根据错误消息及时调整参数。

一般来说使用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信息(该部分信息可有可无,目前暂时未用到)。

c语言实现采集设备snmp信息,使用snmpwalk采集设备的OID信息相关推荐

  1. 烂泥:使用snmpwalk采集设备的OID信息

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

  2. 使用snmpwalk采集设备的OID信息

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

  3. 日志采集方式 SNMP TRAP 和 Syslog 的区别

    摘要: 日志文件能够详细记录系统每天发生的各种各样的事件,对网络安全起着非常的重要作用.网络中心有大量安全 设备,将所有的安全设备逐个查看是非常费时费力的.另外,由于安全设备的缓存器以先进先出的队列模 ...

  4. C语言snmp编程视频,在Ubuntu18.04中关于C语言使用netsnmp进行snmp编程

    前两天,发布了一篇关于Python使用netsnmp进行snmp编程的百家号文章,居然有不少人参看,阅读,因此顺便把C语言使用netsnmp的方法,说明一下供大家参考. 言归正传,进入主题,为了完整性 ...

  5. 使用Zabbix的SNMP trap监控类型监控设备的一个例子

    转载来源 :使用Zabbix的SNMP trap监控类型监控设备的一个例子 :https://www.jianshu.com/p/aa795afdf655 介绍 本文以监控绿盟设备为例. 1.登录被监 ...

  6. 【Zabbix-SNMP trap】使用Zabbix的SNMP trap监控类型监控设备的一个例子

    本文以监控绿盟设备为例. 1.登录被监控的设备的管理系统,配置snmptrap地址指向zabbix服务器或代理服务器. snmptrap地址也叫陷阱. 2.配置或关闭防火墙,并验证是否能在zabbix ...

  7. 中海达手簿软件Hi-Survey Road提示:非认证设备,不支持RTK采集!——授之以渔

    Hi-Survey是中海达首款Android平台高精度测量软件,是针对测绘行业尤其是道路测量的专业应用软件,让客户便捷高效地完成各种测量工作.本软件利用Android设备的特性为用户提供便捷高效的测量 ...

  8. R语言使用lm构建线性回归模型、并将目标变量对数化实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型系数(coefficient)、模型总结信息(summary)、残差总结信息

    R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型系数(coefficient).模型总结信息(summary).残差总结信 ...

  9. python京东商品采集_利用Python正则表达式抓取京东网商品信息

    京东(JD.com)是中国最大的自营式电商企业,2015年第一季度在中国自营式B2C电商市场的占有率为56.3%.如此庞大的一个电商网站,上面的商品信息是海量的,小编今天就带小伙伴利用正则表达式,并且 ...

最新文章

  1. 通用分页存储过程(转自邹建)
  2. 吴军信息论40讲_吴军信息论40讲笔记
  3. SQL---JDBC基础6步
  4. WPF 带CheckBox、图标的TreeView
  5. uml 时序图_UML各种图总结:
  6. ArcGIS Flex API 中的 Flex 技术(一)--事件
  7. svg标签的CSS3动画特效 - 经典特效2
  8. poj 1287 Networking 最小生成树 Kruskal Prim
  9. 如何将汇编语言转换为c语言,如何把汇编语言转换成C语言
  10. 【血型】+【星座】准到吓人
  11. 超实数系统的单子(Monad)结构
  12. 魔兽世界用宏显示服务器时间,网上找的宏用后不能显示冷却时间为什么啊法师 – 手机爱问...
  13. 修改数据表之添加主键约束
  14. 比较时间并计算时间差
  15. 【P23】正弦新耳放,把单运放玩儿透了!
  16. 计算机系专用表情包,计算机学起来挺有意思的表情包 - 计算机学起来挺有意思的微信表情包 - 计算机学起来挺有意思的QQ表情包 - 发表情 fabiaoqing.com...
  17. html2canvas生成PDF并下载的解决方案
  18. 幽美塔罗牌占卜:2020年你还有机会脱单吗
  19. linux 网络使用log,linux 网络命令last、lastlog、traceroute、netstat
  20. win10系统老是自动重复,查看日志显示来源:DistributedCOM,事件:10016,解决办法

热门文章

  1. ABAP smartforms 打印多页打印在同一页上解决
  2. wbe自动化测试----xpath定位与CSS定位
  3. 公司招聘专员爆头痛哭,求职者再拒绝我的邀请我就要。。。
  4. ERP系统中与BOM有关的常用方法
  5. KDJB1200六相继电保护测试仪
  6. 基于stm32物联网开发板(1)
  7. 2015蓝桥杯python——奇妙的数字
  8. 这一次,我们重新定义微信连WiFi!
  9. iOS15-16绕过激活锁,屏幕锁完美隐藏工具老虎V4.5,支持最新iOS16.1.1系统
  10. 微信排版工具Markdown Nice语法规则