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
參考