zoukankan      html  css  js  c++  java
  • SNMP学习笔记之SNMPWALK 安装与使用详解

     0x00 简介

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

    在日常监控中,经常会用到snmp服务,而snmpwalk命令则是采集系统各种信息最有效的方法。

    0x01 Linux安装过程

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

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

    yum -y install net-snmp-utils
    snmpwalk -h
    sudo apt-get install snmpd 
    sudo apt-get install snmp 
    service snmpd start 

    为了获取所有的数据,修/etc/snmp/snmpd.conf,添加最后一行 

    view systemonly included .1.3.6.1.2.1.1 
    view systemonly included .1.3.6.1.2.1.25.1 
    view systemonly included .1 
    service snmpd restart 

    使用下面命令测试 

    snmpwalk -help

    如果显示帮助信息,则安装成功。

    检查上面列出的安装包是否已经安装

    rpm -qa | grep snmp

    检查

    net-snmp-5.3.2.2-9.el5.x86_64.rpm
    net-snmp-devel-5.3.2.2-9.el5.x86_64.rpm (非必须安装包)
    net-snmp-libs-5.3.2.2-9.el5.x86_64.rpm
    net-snmp-utils-5.3.2.2-9.el5.x86_64.rpm

    四个包是否安装,用同样的方式检查其他安装包是否安装。

    如果已经安装,为了保持安装的rpm包的一致性,建议删除已经安装的包,

    删除命令为rpm -e --nodeps rpm包名

    --nodeps表示忽略依赖。

    0x02 Windows安装过程

    windows下安装net-snmp,我们可以去net-snmp官网进行下载。现在我们安装的是net-snmp-5.6.1.1-1.x86.exe这个软件包。如下:

    安装以上rpm包,注意以上包是有安装顺序的

    从上往下依次执行:

     rpm -ivh net-snmp-libs-5.3.2.2-9.el5.x86_64.rpm
     rpm -ivh lm_sensors-2.10.7-9.el5.x86_64.rpm 
     rpm -ivh net-snmp-utils-5.3.2.2-9.el5.x86_64.rpm
     rpm -ivh libsensors3-2.10.6-55.el5.x86_64.rpm 
     rpm -ivh net-snmp-5.3.2.2-9.el5.x86_64.rpm

    启动snmpd服务

    service snmpd start

    检查snmp是否启动成功

    snmpwalk -help

    如果显示帮助信息,则安装成功。

    0x03 工具使用介绍

    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 -v 2c -c public 10.1.1.1 .1.3.6.1.2.1.25.1    #得到取得windows端的系统进程用户数等

    其中-v是指版本,-c 是指密钥,也就是客户端snmp.conf里面所设置的,下面类同.

    snmpwalk -v 2c -c public 10.1.1.1 .1.3.6.1.2.1.25.2.2   #取得系统总内存
    snmpwalk -v 2c -c public 10.1.1.1 hrSystemNumUsers  #取得系统用户数(注意:hrSystemNumUsers与.1.3.6.1.2.1.25.1.5是等效的)
    snmpwalk -v 2c -c public 10.1.1.1 .1.3.6.1.2.1.4.20    #取得IP信息
    snmpwalk -v 2c -c public 10.1.1.1 system   #查看系统信息
    snmpwalk -v 2c -c public 10.1.1.1 ifDescr  #获取网卡信息

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

    snmpwalk -v 1或2c(代表SNMP版本) -c SNMP密码 IP地址 OID(对象标示符)
    
    –v:指定snmp的版本, 1或者2,该参数必须有。
    
    –c:指定连接设备SNMP读密码,该参数必须有。
    
    IP:指定要walk的设备的IP地址,该参数必须有。
    
    OID:代表要获取设备的指标oid,该参数不是必须的。

    以上只是一些常用的信息,snmpwalk功能很多,可以获取系统各种信息,只要更改后面的信息类型即可.如果不知道什么类型,也可以不指定,这样所有系统信息都获取到:

    snmpwalk -v 2c -c public 10.1.1.1

    参考

  • 相关阅读:
    C# WPF定时器
    C#处理JSON数据
    SQL-乐观锁,悲观锁之于并发
    C# 集合-并发处理-锁OR线程
    C# 生成二维码,彩色二维码,带有Logo的二维码及普通条形码
    C# (事件触发)回调函数,完美处理各类疑难杂症!
    C# Lambda表达式
    C# 匿名方法
    浅谈C# 匿名变量
    鸡兔同笼
  • 原文地址:https://www.cnblogs.com/JetpropelledSnake/p/9842032.html
Copyright © 2011-2022 走看看