為了使那些得不到路由和交換實驗環境的讀者也能學習並理解SNMP網路管理,筆者在本節中為大家介紹一個Win2000環境下的SNMP網路管理系統,通過適當的配置,我們就可以在一台電腦上面來學習SNMP網路管理了。
在Windows 2000環境下面學習SNMP網路管理需要兩個先決條件:1、安裝並配置好Window s 2000的SNMP伺服器,它是我們前面介紹的代理進程;2、擷取一個命令列下面的網管工具:snmptuil.exe,這是微軟Windows 2000資源工具中的一個軟體,它也是網路管理系統中的管理進程。
1、安裝並配置SNMP伺服器
開啟"控制台-〉添加/刪除程式",選擇"添加/刪除Windows組件",接著在隨後彈出的"Windows組件"中選擇"管理和監視工具",點擊下面的"詳細資料",在彈出的一個 "管理和監視工具"的對話方塊中選擇"簡易網路管理通訊協定SNMP",確定後點擊"下一步"就可以安裝SNMP伺服器了。
安裝成功後我們在"控制台-〉管理工具-〉服務"中能看見SNMP服務已經啟動,雙擊"SNMP service"就可以對其屬性進行配置,通常情況下我們使用系統預設的配置即可,大家要記住預設情況下團體名為public。
Windows 2000的SNMP也提供了Trap(陷阱)服務。
2、使用一個SNMP管理站
為了降低SNMP的學習門檻,我們選擇了snmptuil.exe軟體來為大家介紹一個完整了網路管理工作站是如何工作的。
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.hrSWRun.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網路管理作一個粗淺的介紹,想要瞭解更多的內容大家應該去閱讀專門的SNMP網路管理書籍。本文中筆者向大家介紹了snmputil.exe的使用,平心而論,這個工具用於SNMP網路管理的學習還是非常優秀的,但如果您真的將其用在日常的網路管理中就很不現實了,實際的工作中筆者推薦使用思科公司的Ciscoworks2000或者solarwinds來進行網路管理,它們的介面友好、功能強大,但使用也相對較複雜,有興趣的朋友不妨學著用一用。
小知識
網域名稱系統DNS
在Internet上,通常人們是不會直接使用二進位IP地址(如202.112.105.5)去訪問主機、伺服器和其它網路資源,代替二進位地址的是ASCII碼錶示的地址(www.bupt.edu.cn)。但是Internet節點裝置只識別二進位地址,所以Internet必須提供一種翻譯機制,支援ASCII碼錶示的地址與二進位地址之間的映射,提供這種服務的就是網域名稱系統。
簡單郵件傳送協議SMTP
電子郵件e-mail是Internet廣泛使用的應用之一,電子郵件系統可以劃分成使用者代理程式UA(User Agent)和報文傳送代理MTA(Message Transfer Agent)兩部分。郵件在傳輸過程中會經過多個MTA,MTA對郵件進行儲存和轉寄操作,所以Internet上的MTA便構成一個報文傳送系統MTS(Message Transfer System),簡單郵件傳送協議SMTP(Simple Mail Transfer Protocol)就是在兩個MTA之間通訊的協議。
超文本傳送協議HTTP
在瀏覽器提供的使用者介面上,使用者點擊網頁串連向伺服器發出請求,伺服器返回多種類型的媒體顯示在瀏覽器上,支援這個互動過程的就是HTTP(Hypertext Transfer Protocol)協議,該協議是應用程式層協議,應用與分布結構(Distributed)和協作方式的(Collaborative)超媒體(Hypermedia)資訊系統。
簡易網路管理通訊協定SNMP
任何類型的通訊網路都需要有效管理才能高效穩定地運行,對於TCP/IP網路而言,簡易網路管理通訊協定SNMP(Simple Network Management Protocol)是其網管協議的最佳候選,不僅如此,對於非TCP/IP網路,SNMP管理系統也能很勝任。