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

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章