SNMP命令


snmp命令

Snmputil 命令  
Snmputil是一個命令行下的軟件,使用語法如下: usage: snmputil get|getnext|walk] agent community oid [oid ...] snmputil trap 
其中agent表示代理進程的IP地址,community表示團體名,oid表示MIB對象ID。 
舉例說明: 
1)查看本地計算機(IP地址為192.168.0.3)的系統信息 
通過對系統組的MIB對象的查閱,我們知道系統信息所對應的MIB對象為.1.3.6.1.2.1.1.1(參看系統組對象),我們使用get參數來查詢: 
C:>snmputil get 192.168.0.3 public .1.3.6.1.2.1.1.1.0 
Variable = system.sysDescr.0 
Value = String Hardware: x86 Family 15 Model 2 Stepping 7 AT/AT COMPATIBLE - 
Software: Windows 2000 Version 5.1 (Build 2600 Uniprocessor Free) 
其中public是192.168.0.3計算機上的團體名,.1.3.6.1.2.1.1.1.0是對象實例,注意對象ID前面要加一個點".",后面還要加一個"0"。如果不在對象ID末尾加上一個0,那么用get參數查詢就會出錯。從查詢結果中我們能夠看出操作系統版本和CPU類型。 
2)查詢計算機連續開機多長時間 
C:>snmputil get 192.168.0.3 public .1.3.6.1.2.1.1.3.0 
Variable = system.sysUpTime.0 
Value = TimeTicks 447614 
如果我們在對象ID后面不加0,使用getnext參數能得到同樣的效果: 
C:>snmputil getnext 192.168.0.3 public .1.3.6.1.2.1.1.3 
Variable = system.sysUpTime.0 
Value = TimeTicks 476123 
3)查詢計算機的聯系人 
C:>snmputil get 192.168.0.3 public .1.3.6.1.2.1.1.4.0 
Variable = system.sysContact.0 
Value = String administrator 
以上簡單介紹了用snmputil查詢代理進程的方法,由於在命令行下使用,可能大家感到頗為不方便,但命令行的一個好處就是可以促進大家主動查閱MIB對象,加深對SNMP網絡管理的認識。 
4)使用walk查詢設備上所有正在運行的進程: 
C:>snmputil walk 192.168.0.3 public .1.3.6.1.2.1.25.4.2.1.2 
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.1 
Value = String System Idle Process 
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.4 
Value = String System 
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.292 
Value = String snmputil.exe 
Variable = host.hr 
SWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.308 
Value = String RavTimer.exe 
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.336 
Value = String RavMon.exe 
限於篇幅筆者就不把所有進程列出來,大家可以在自己的計算機上面實驗,以加強感性認識。 
5)查詢計算機上面的用戶列表 
C:>snmputil walk 192.168.0.3 public .1.3.6.1.4.1.77.1.2.25.1.1 
Variable = .iso.org.dod.internet.private.enterprises. lanmanager.lanmgr-2.server. 
svUserTable.svUserEntry.svUserName.4.117.115.101.114 
Value = String user 
Variable = .iso.org.dod.internet.private.enterprises. lanmanager.lanmgr-2.server. 
svUserTable.svUserEntry.svUserName.5.71.117.101.115.116 
Value = String Guest 
Variable = .iso.org.dod.internet.private.enterprises. lanmanager.lanmgr-2.server.svUserTable.svUserEntry. svUserName.13.65.100.109.105.110. 105.115.116.114.97.116.111.114 
Value = String Administrator 
從中我們可以得知該計算機共有三個用戶,它們分別為user、guest和administrator。 
Snmputil還有一個trap的參數,主要用來陷阱捕捉,它可以接受代理進程上主動發來的信息。如果我們在命令行下面輸入snmputil trap后回車,然后用錯誤的團體名來訪問代理進程,這時候就能收到代理進程主動發回的報告。 
在MIBII中總共有175個對象,每個對象均有其不同的含義,我們只有通過查閱MIB才能知道它們各自的作用。MIB對象是SNMP網絡管理中的核心內容,只有深入了解MIB對象的含義我們才有可能知道如何去駕馭SNMP網絡管理。 
SNMP中MIB 
1. SNMP基本原理 
SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。對網絡的管理與維護是通過管理工作站與SNMP代理間的交互工作完成的。每個SNMP從代理負責回答SNMP管理工作站(主代理)關於MIB定義信息的各種查詢。下圖10是NMS公司網絡產品中SNMP協議的實現模型。 
mib0 
  SNMP代理和管理站通過SNMP協議中的標准消息進行通信,每個消息都是一個單獨的數據報。SNMP使用UDP(用戶數據報協議)作為第四層協議(傳輸協議),進行無連接操作。SNMP消息報文包含兩個部分:SNMP報頭和協議數據單元PDU。數據報結構如下圖 
mib1 
  版本識別符(version identifier):確保SNMP代理使用相同的協議,每個SNMP代理都直接拋棄與自己協議版本不同的數據報。 
  團體名(Community Name):用於SNMP從代理對SNMP管理站進行認證;如果網絡配置成要求驗證時,SNMP從代理將對團體名和管理站的IP地址進行認證,如果失敗,SNMP從代理將向管理站發送一個認證失敗的Trap消息 
  協議數據單元(PDU):其中PDU指明了SNMP的消息類型及其相關參數。 
2. 管理信息庫MIB 
IETF規定的管理信息庫MIB(由中定義了可訪問的網絡設備及其屬性,由對象識別符(OID:Object Identifier)唯一指定。MIB是一個樹形結構,SNMP協議消息通過遍歷MIB樹形目錄中的節點來訪問網絡中的設備。   
下圖給出了NMS系統中SNMP可訪問網絡設備的對象識別樹(OID:Object Identifier)結構。 
mib2 
  下圖給出了對一個DS1線路狀態進行查詢的OID設置例子。 
mib3 
3. SNMP的五種消息類型 
  SNMP中定義了五種消息類型:Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap 
* Get-Request 、Get-Next-Request與Get-Response    
SNMP管理站用Get-Request消息從擁有SNMP代理的網絡設備中檢索信息,而SNMP代理則用Get-Response消息響應。Get- Next-Request用於和Get-Request組合起來查詢特定的表對象中的列元素。如:首先通過下面的原語獲得所要查詢的設備的接口數: 
{iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2)} 
后再通過下面的原語,進行查詢(其中第一次用Get-Request,其后用Get-Next-Request): 
{iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2)} 
* Set-Request 
SNMP管理站用Set-Request 可以對網絡設備進行遠程配置(包括設備名、設備屬性、刪除設備或使某一個設備屬性有效/無效等)。 
* Trap 
SNMP代理使用Trap向SNMP管理站發送非請求消息,一般用於描述某一事件的發生。 
SNMP管理信息庫MIB 
  管理信息庫MIB指明了網絡元素所維持的變量(即能夠被管理進程查詢和設置的信息)。MIB給出了一個網絡中所有可能的被管理對象的集合的數據結構。SNMP的管理信息庫采用和域名系統DNS相似的樹型結構,它的根在最上面,根沒有名字。下圖畫的是管理信息庫的一部分,它又稱為對象命名(objectnamingtree)。 
mib4 
  管理信息庫的對象命名舉例 
  對象命名樹的頂級對象有三個,即ISO、ITU-T和這兩個組織的聯合體。在ISO的下面有4個結點,其中的餓一個(標號3)是被標識的組織。在其下面有一個美國國防部(Department of Defense)的子樹(標號是6),再下面就是Internet(標號是1)。在只討論Internet中的對象時,可只畫出Internet以下的子樹(圖中帶陰影的虛線方框),並在Internet結點旁邊標注上{1.3.6.1}即可。在Internet結點下面的第二個結點是mgmt(管理),標號是2。再下面是管理信息庫,原先的結點名是mib。1991年定義了新的版本MIB- II,故結點名現改為mib-2,其標識為{1.3.6.1.2.1},或{Internet(1) .2.1}。這種標識為對象標識符。 
最初的結點mib將其所管理的信息分為8個類別,見表1。現在de mib-2所包含的信息類別已超過40個。 
   表1 最初的結點mib管理的信息類別 
類別 
標號 
所包含的信息 
system 
interfaces 
address translation 
ip 
icmp 
tcp 
udp 
egp 
(1) 
(2) 
(3) 
(4) 
(5) 
(6) 
(7) 
(8) 
主機或路由器的操作系統 
各種網絡接口及它們的測定通信量 
地址轉換(例如ARP映射) 
Internet軟件(IP分組統計) 
ICMP軟件(已收到ICMP消息的統計) 
TCP軟件(算法、參數和統計) 
UDP軟件(UDP通信量統計) 
EGP軟件(外部網關協議通信量統計) 
應當指出,MIB的定義與具體的網絡管理協議無關,這對於廠商和用戶都有利。廠商可以在產品(如路由器)中包含SNMP代理軟件,並保證在定義新的MIB項目后該軟件仍遵守標准。用戶可以使用同一網絡管理客戶軟件來管理具有不同版本的MIB的多個路由器。當然,一個沒有新的MIB項目的路由器不能提供這些項目的信息。 
  這里要提一下MIB中的對象{1.3.6.1.4.1},即enterprises(企業),其所屬結點數已超過3000。例如IBM為 11.3.6.1.4.1.2},Cisco為{1.3.6.1.4.1.9},Novell為{1.3.6.1.4.1.23}等。世界上任何一個公司、學校只要用電子郵件發往iana-mib@isi.edu進行申請即可獲得一個結點名。這樣各廠家就可以定義自己的產品的被管理對象名,使它能用 SNMP進行管理。 
SNMP 命令行接口的語法和常用參數 
WebLogic SNMP 代理命令的形式如下所示: 
java command-name arguments 
表 5-1 描述大多數 WebLogic SNMP 代理命令常用的參數。 
表 5-1 常用命令行參數 
參數 
定義 
-d 
在命令輸出中包括調試信息和數據包轉儲。 
-v {v1 | v2} 
指定是否使用 SNMPv1 或 SNMPv2 與 SNMP 代理進行通信。 
當配置 SNMP 代理時,指定的 SNMP 版本必須和在“陷阱版本”字段中設置的 SNMP 版本相同(如“管理控制台聯機幫助”中的配置 SNMP 代理所述) 
如果不指定值,該命令將假定 -v v1。 
-c snmpCommunity 
[@server_name | @domain_name 
為 WebLogic SNMP 代理設置的社區名稱,並可選擇指定用於承載您要交互的對象的服務器實例。 
要請求管理服務器上的受管對象,請指定: 
snmpCommunity 
其中,snmpCommunity為當配置 SNMP 代理時在“社區前綴”字段中設置的 SNMP 社區名稱(如“管理控制台聯機幫助”中的配置 SNMP 代理所述)。 
要請求單個受管服務器上的受管對象,請指定: 
snmpCommunity@server_name 
其中,server_name為受管服務器的名稱。 
要為域中的所有服務器實例請求受管對象,請按下列形式指定社區字符串: 
snmpCommunity@domain_name 
其中,domain_name為 WebLogic Server 域的名稱。 
如果不為此參數指定值,那么命令假定 
-c public,從而使用默認社區名稱,並假定指定的受管對象在管理服務器上。 
-p snmpPort 
WebLogic SNMP 代理監聽請求的端口號。 
如果不指定值,該命令將假定 -p 161。 
-t timeout 
命令等待成功連接到 SNMP 代理的毫秒數。 
如果不指定值,該命令將假定 -t 5000。 
-r retries 
命令重新嘗試連接到 SNMP 代理的失敗次數。 
如果不指定值,命令在首次嘗試失敗時就退出。 
host 
承載 WebLogic Server 管理服務器的計算機的 DNS 名稱或 IP 地址,WebLogic SNMP 代理在此 WebLogic Server 管理服務器上運行。 
http://www.oraclefmw.com/wls92/admin_ref/snmpcli.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM