工作原理
在典型的SNMP用法中,有許多系統被管理,而且是有一或多個系統在管理它們。每一個被管理的系統上又運行一個叫做代理者(agent)的軟體元件,且通過SNMP對管理系統報告資訊。基本上,SNMP代理者以變數呈現管理資料。管理系統透過GET,GETNEXT和GETBULK協定指令取回資訊,或是代理者在沒有被詢問的情況下,使用TRAP或INFORM傳送資料。管理系統也可以傳送配置更新或控制的請求,透過SET協定指令達到主動管理系統的目的。配置和控制指令只有當網路基本結構需要改變的時候使用,而監控指令則通常是常態性的工作。
可透過SNMP存取的變數以階層的方式結合。這些分層和其他元數據(例如變數的類型和描述)以管理信息庫(MIBs)的方式描述。
套用模型
SNMP是基於TCP/IP協定族的網路管理標準,是一種在IP網路中管理網路節點(如伺服器、工作站、路由器、交換機等)的標準協定。SNMP能夠使網路管理員提高網路管理效能,及時發現並解決網路問題以及規劃網路的增長。網路管理員還可以通過SNMP接收網路節點的通知訊息以及告警事件報告等來獲知網路出現的問題。SNMP管理的網路主要由三部分組成:
被管理的設備
SNMP代理
網路管理系統(NMS)
網路中被管理的每一個設備都存在一個管理信息庫(MIB)用於收集並儲存管理信息。通過SNMP協定,NMS能獲取這些信息。被管理設備,又稱為網路單元或網路節點,可以是支持SNMP協定的路由器、交換機、伺服器或者主機等等。
SNMP代理是被管理設備上的一個網路管理軟體模組,擁有本地設備的相關管理信息,並用於將它們轉換成與SNMP兼容的格式,傳遞給NMS。
NMS運行應用程式來實現監控被管理設備的功能。另外,NMS還為網路管理提供大量的處理程式及必須的儲存資源。
協定發展
第一版SNMP第一版和SMI規格的資料型態SNMP第一版SMI指定許多SMI規格的資料型態,它們被分為兩大類:
簡單資料型態
泛套用資料型態
SNMPv1使用基於團體名進行報文認證
第二版
SNMP第二版和管理資訊結構SNMP第二版SMI在RFC2578之中描述,它在SNMP第一版的SMI規格資料型態上進行增加和強化,例如位元串(bitstrings)、網路地址(networkaddresses)和計數器(counters)。
SNMP協定在OSI模型的套用層(第七層)運作,在第一版中指定五種核心PDU:
GETREQUEST
GETNEXTREQUEST
GETRESPONSE
SETREQUEST
TRAP
其他PDU在SNMP第二版加入,包含:
GETBULKREQUEST
INFORM
SNMP第二版SMI資訊模組SNMP第二版SMI也指定了資訊模組來詳細說明一群相關連的定義。有三種SMI資訊模組:MIB模組、回應狀態、能力狀態。
第三版
SNMP第三版SNMP第三版由RFC3411-RFC3418定義,主要增加SNMP在安全性和遠端配置方面的強化。
SNMP第三版提供重要的安全性功能:
信息完整性:保證封包在傳送中沒有被篡改。
認證:檢驗信息來自正確的來源。
封包加密:避免被未授權的來源窺探。
SNMPv3定義了基於用戶的安全模型,使用共享密鑰進行報文認證。
SNMPv3中引入了下列三個安全級別。
noAuthNoPriv:不需要認證,不提供隱私性(加密)。
authNoPriv:基於HMAC-MD5或HMAC-SHA的認證,不提供加密。
authPriv:除了認證之外,還將CBC-DES加密算法用作隱私性協定。
信息
MIB,ManagementInformationBase:管理信息庫,由網路管理協定訪問的管理對象資料庫,它包括SNMP可以通過網路設備的SNMP管理代理進行設定的變數。SMI,StructureofManagementInformation:管理信息結構,用於定義通過網路管理協定可訪問的對象的規則。SMI定義在MIB中使用的數據類型及網路資源在MIB中的名稱或表示。使用SNMP進行網路管理需要下面幾個重要部分:管理基站,管理代理,管理信息庫和網路管理工具。
管理基站通常是一個獨立的設備,它用作網路管理者進行網路管理的用戶接口。基站上必須裝備有管理軟體,管理員可以使用的用戶接口和從MIB取得信息的資料庫,同時為了進行網路管理它應該具備將管理命令發出基站的能力。
管理代理是一種網路設備,如主機,網橋,路由器和集線器等,這些設備都必須能夠接收管理基站發來的信息,它們的狀態也必須可以由管理基站監視。管理代理回響基站的請求進行相應的操作,也可以在沒有請求的情況下向基站傳送信息。
MIB是對象的集合,它代表網路中可以管理的資源和設備。每個對象基本上是一個數據變數,它代表被管理的對象的一方面的信息。
最後一個方面是管理協定,也就是SNMP,SNMP的基本功能是:取得,設定和接收代理髮送的意外信息。取得指的是基站傳送請求,代理根據這個請求回送相應的數據,設定是基站設定管理對象(也就是代理)的值,接收代理髮送的意外信息是指代理可以在基站未請求的狀態下向基站報告發生的意外情況。
SNMP為套用層協定,是TCP/IP協定族的一部分。它通過用戶數據報協定(UDP)來操作。在分立的管理站中,管理者進程對位於管理站中心的MIB的訪問進行控制,並提供網路管理員接口。管理者進程通過SNMP完成網路管理。SNMP在UDP、IP及有關的特殊網路協定(如,Ethernet,FDDI,X.25)之上實現。
風險
接入Internet的網路面臨許多風險,Web伺服器可能面臨攻擊,郵件伺服器的安全也令人擔憂。但除此之外,網路上可能還存在一些隱性的漏洞。大多數網路總有一些設備運行著SNMP服務,許多時候這些SNMP服務是不必要的,但卻沒有引起網路管理員的重視。根據SANS協會的報告,對於接入Internet的主機,SNMP是威脅安全的十大首要因素之一;同時,SNMP還是Internet主機上最常見的服務之一。特別地,SNMP服務通常在位於網路邊緣的設備(防火牆保護圈之外的設備)上運行,進一步加劇了SNMP帶來的風險。這一切聽起來出人意料,但其實事情不應該是這樣的。
背景知識
SNMP開發於九十年代早期,其目的是簡化大型網路中設備的管理和數據的獲取。許多與網路有關的軟體包,如HP的OpenView和NortelNetworks的OptivityNetworkManagementSystem,還有MultiRouterTrafficGrapher(MRTG)之類的免費軟體,都用SNMP服務來簡化網路的管理和維護。
由於SNMP的效果實在太好了,所以網路硬體廠商開始把SNMP加入到它們製造的每一台設備。今天,各種網路設備上都可以看到默認啟用的SNMP服務,從交換機到路由器,從防火牆到網路印表機,無一例外。
僅僅是分布廣泛還不足以造成威脅,問題是許多廠商安裝的SNMP都採用了默認的通信字元串(例如密碼),這些通信字元串是程式獲取設備信息和修改配置必不可少的。採用默認通信字元串的好處是網路上的軟體可以直接訪問設備,無需經過複雜的配置。
通信字元串主要包含兩類命令:GET命令,SET命令。GET命令從設備讀取數據,這些數據通常是操作參數,例如連線狀態、接口名稱等。SET命令允許設定設備的某些參數,這類功能一般有限制,例如關閉某個網路接口、修改路由器參數等功能。但很顯然,GET、SET命令都可能被用於拒絕服務攻擊(DoS)和惡意修改網路參數。
最常見的默認通信字元串是public(唯讀)和private(讀/寫),除此之外還有許多廠商私有的默認通信字元串。幾乎所有運行SNMP的網路設備上,都可以找到某種形式的默認通信字元串。
SNMP2.0和SNMP1.0的安全機制比較脆弱,通信不加密,所有通信字元串和數據都以明文形式傳送。攻擊者一旦捕獲了網路通信,就可以利用各種嗅探工具直接獲取通信字元串,即使用戶改變了通信字元串的默認值也無濟於事。
近幾年才出現的SNMP3.0解決了一部分問題。為保護通信字元串,SNMP3.0使用DES(DataEncryptionStandard)算法加密數據通信;另外,SNMP3.0還能夠用MD5和SHA(SecureHashAlgorithm)技術驗證節點的標識符,從而防止攻擊者冒充管理節點的身份操作網路。
雖然SNMP3.0齣現已經有一段時間了,但自從發布以來還沒有廣泛套用。如果設備是2012年以前的產品,很可能根本不支持SNMP3.0;甚至有些較新的設備也只有SNMP2.0或SNMP1.0。
即使設備已經支持SNMP3.0,許多廠商使用的還是標準的通信字元串,這些字元串對黑客組織來說根本不是秘密。因此,雖然SNMP3.0比以前的版本提供了更多的安全特性,如果配置不當,其實際效果仍舊有限。
禁用SNMP
要避免SNMP服務帶來的安全風險,最徹底的辦法是禁用SNMP。如果你沒有用SNMP來管理網路,那就沒有必要運行它;如果你不清楚是否有必要運行SNMP,很可能實際上不需要。即使你打算以後使用SNMP,只要現在沒有用,也應該先禁用SNMP,直到確實需要使用SNMP時才啟用它。
下面列出了如何在常見的平台上禁用SNMP服務。
WindowsXP和Windows2000
在XP和Win2K中,右擊“我的電腦”,選擇“管理”。展開“服務和應用程式”、“服務”,從服務的清單中選擇SNMP服務,停止該服務。然後打開服務的“屬性”對話框,將啟動類型改為“禁用”(按照微軟的默認設定,Win2K/XP默認不安裝SNMP服務,但許多軟體會自動安裝該服務)。
WindowsNT4.0
選擇“開始”→“設定”,打開服務設定程式,在服務清單中選擇SNMP服務,停止該服務,然後將它的啟動類型改為禁用。
Windows9x
打開控制臺的網路設定程式,在“配置”頁中,從已安裝的組件清單中選擇“MicrosoftSNMP代理”,點擊“刪除”。檢查HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run註冊鍵,確認不存在snmp.exe。
CiscoSystems硬體
對於Cisco的網路硬體,執行“noSNMP-server”命令禁用SNMP服務。如果要檢查SNMP是否關閉,可執行“showSNMP”命令。這些命令只適用於運行CiscoIOS的平台;對於非IOS的Cisco設備,請參考隨機文檔。
HP硬體
對於所有使用JetDirect卡(絕大部分HP網路印表機都使用它)的HP網路設備,用telnet連線到JetDirect卡的IP位址,然後執行下面的命令:
SNMP-config:0
quit
這些命令將關閉設備的SNMP服務。但必須注意的是,禁用SNMP服務會影響服務的發現操作以及利用SNMP獲取設備狀態的連線埠監視機制。
RedHatLinux
對於RedHatLinux,可以用Linuxconf工具從自動啟動的服務清單中刪除SNMP,或者直接從/etc/services檔案刪除啟動SNMP的行。對於其他Linux系統,操作方法應該也相似。
保障SNMP的安全
如果某些設備確實有必要運行SNMP,則必須保障這些設備的安全。首先要做的是確定哪些設備正在運行SNMP服務。除非定期對整個網路進行連線埠掃描,全面掌握各台機器、設備上運行的服務,否則的話,很有可能遺漏一、二個SNMP服務。特別需要注意的是,網路交換機、印表機之類的設備同樣也會運行SNMP服務。確定SNMP服務的運行情況後,再採取下面的措施保障服務安全。
載入SNMP服務的補丁
安裝SNMP服務的補丁,將SNMP服務升級到2.0或更高的版本。聯繫設備的製造商,了解有關安全漏洞和升級補丁的情況。
保護SNMP通信字元串
一個很重要的保護措施是修改所有默認的通信字元串。根據設備文檔的說明,逐一檢查、修改各個標準的、非標準的通信字元串,不要遺漏任何一項,必要時可以聯繫製造商獲取詳細的說明。
過濾SNMP
另一個可以採用的保護措施是在網路邊界上過濾SNMP通信和請求,即在防火牆或邊界路由器上,阻塞SNMP請求使用的連線埠。標準的SNMP服務使用161和162連線埠,廠商私有的實現一般使用199、391、705和1993連線埠。禁用這些連線埠通信後,外部網路訪問內部網路的能力就受到了限制;另外,在內部網路的路由器上,應該編寫一個ACL,只允許某個特定的可信任的SNMP管理系統操作SNMP。例如,下面的ACL只允許來自(或者走向)SNMP管理系統的SNMP通信,限制網路上的所有其他SNMP通信:
access-list100permitiphostw.x.yany
access-list100denyudpanyanyeqsnmp
access-list100denyudpanyanyeqsnmptrap
access-list100permitipanyany
這個ACL的第一行定義了可信任管理系統(w.x.y)。利用下面的命令可以將上述ACL套用到所有網路接口:
interfaceserial0
ipaccess-group100in
總之,SNMP的發明代表著網路管理的一大進步,現在它仍是高效管理大型網路的有力工具。然而,SNMP的早期版本天生缺乏安全性,即使最新的版本同樣也存在問題。就象網路上運行的其他服務一樣,SNMP服務的安全性也是不可忽視的。不要盲目地肯定網路上沒有運行SNMP服務,也許它就躲藏在某個設備上。那些必不可少的網路服務已經有太多讓人擔憂的安全問題,所以最好關閉SNMP之類並非必需的服務——至少儘量設法保障其安全。
數據
簡單網路管理協定(SNMP)是1990年之後TCP/IP網路中套用最為廣泛的網路管理協定。1990年5月,RFC1157定義了SNMP(simplenetworkmanagementprotocol)的第一個版本SNMPv1。RFC1157和另一個關於管理信息的檔案RFC1155一起,提供了一種監控和管理計算機網路的系統方法。因此,SNMP得到了廣泛套用,並成為網路管理的事實上的標準。SNMP在90年代初得到了迅猛發展,同時也暴露出了明顯的不足,如,難以實現大量的數據傳輸,缺少身份驗證(Authentication)和加密(Privacy)機制。因此,1993年發布了SNMPv2,具有以下特點:
支持分散式網路管理
擴展了數據類型
可以實現大量數據的同時傳輸,提高了效率和性能
豐富了故障處理能力
增加了集合處理功能
加強了數據定義語言
信息庫
管理信息庫MIB指明了網路元素所維持的變數(即能夠被管理進程查詢和設定的信息)。MIB給出了一個網路中所有可能的被管理對象的集合的數據結構。SNMP的管理信息庫採用和域名系統DNS相似的樹型結構,它的根在最上面,根沒有名字。圖1畫的是管理信息庫的一部分,它又稱為對象命名樹(objectnamingtree)。對象命名樹的頂級對象有三個,即ISO、ITU-T和這兩個組織的聯合體。在ISO的下面有4個結點,其中的一個(標號3)是被標識的組織。在其下面有一個dod的子樹(標號是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個類別,見圖2。現在demib-2所包含的信息類別已超過40個。
應當指出,MIB的定義與具體的網路管理協定無關,這對於廠商和用戶都有利。廠商可以在產品(如路由器)中包含SNMP代理軟體,並保證在定義新的MIB項目後該軟體仍遵守標準。用戶可以使用同一網路管理客戶軟體來管理具有不同版本的MIB的多個路由器。當然,一個沒有新的MIB項目的路由器不能提供這些項目的信息。
這裡要提一下MIB中的對象{1.3.6.1.4.1},即enterprises(企業),其所屬結點數已超過3000。例如IBM為{1.3.6.1.4.1.2},Cisco為{1.3.6.1.4.1.9},Novell為{1.3.6.1.4.1.23}等。
查詢
作用簡述
SNMP是"SimpleNetworkManagementProtocol"的縮寫,中文含義是"簡單網路管理協定",這個協定的作用和詳細情況,各位可以參考有關資料.這裡只介紹針對這個協定進行狀態查詢的工具軟體Snmputilg.exe.也是支持工具目錄中所提供的.至於用途,不外乎是給系統管理員提供關於SNMP方面的信息,便於在排除故障的時候當做參考.打開工具顯示界面之後,你就可以用來執行諸如GET,GET-NEXT等等操作或進行有關的設定.另外,這個工具也能將數據保存到剪貼簿,或將數據保存為以逗號為結束符號的文本檔案.在使用中應當注意:即使多數對象的都使用了默認的ID標識(數值),你也要謹慎地使用SNMPSET命令,因為不正確地使用這個命令之後,可能導致網路名稱資源方面的問題或是在引起連通方面的問題。使用方法
1.啟動程式:在windows2000的環境中,點擊"開始->運行",在編輯框中鍵入snmputilg然後回車或點擊"確定"。2.和以前遇到的不同,Snmputilg.exe是一個圖形界面的工具,儘管執行程式的時候可以使用命令行控制視窗打開它,但實際啟動成功之後出現的界面仍然是圖形的
3.工具啟動後,Node編輯框中顯示的是默認的回送地址,地址值是127.0.0.1;CurrentOID指的是"當前對象標識符",標識是windows系統中用來代表一個對象的數字,每個標識都是整個系統中唯一的,也就是說,標識不會、也不允許重複.圖中顯示的值是.1.3.6.1.2.1.public是community一項的默認選擇.上面所介紹的這些項目也可選定別的值。
4.如果選擇了別的系統的IP位址,則必須運行SNMP服務,而目標系統必須配置好網路訪問的地址,所謂配置,包括地址設定和許可權打開.同時,所需要的輔助工具也應當具備或運行.預設情況下,windows2000對所有另外系統的IP位址都是允許訪問的。
5.另一個問題是community,當選定community的值時,一要注意它所代表的對象必須存在,二要注意其"可讀"屬性只有獲準許可之後才能進行讀操作.三要注意這個項目在windows系列的不同版本中,對訪問地址的限制可能不一樣。
6.凡是SNMP可以執行的功能(SNMPFunctiontoExecute),在圖中下拉組合框中都已經列出,可供選擇.選擇好之後,請滑鼠點擊ExecuteCommand按鈕來執行對應的操作。
以下是這些操作的功能簡介:
GETthevalueofthecurrentobjectidentifier:得到當前對象的ID標識數值
GETtheNEXTvalueafterthecurrentobjectidentifier(thisisthedefault):得到緊接當前對象之後的下一個對象的ID標識數值(這是默認的)
GETtheNEXT20valuesafterthecurrentobjectidentifier:得到當前對象之後的20個對象的ID標識數值
GETallvaluesfromobjectidentifierdown(WALKthetree):得到從當前對象往下的所有對象的ID標識數值
WALKthetreefromWINSvaluesdown:從WINS值往下漫遊目錄
WALKthetreefromDHCPvaluesdown:從DHCP值往下漫遊目錄
WALKthetreefromLANMANvaluesdown:從LANMAN值往下漫遊目錄
WALKthetreefromMIB-IIdown(InternetMIB):從MIB-II往下漫遊目錄
7.顯示結果含義解釋:
這些結果可以清除,也可以保存或更新,要實現上述功能,可以使用選單中對應的操作,具體地說,這些操作包括:
將一個或多個結果拷貝入剪貼簿.
刪除現在列出的所有內容.
清除已經執行過的所有的命令.
請求記錄當前已經選定的項目.
產生一個文本檔案,用該檔案保存所有的記錄的映像
編輯或設定某個對象的標識.在使用這個操作時要謹慎,因為一旦進行了不正確地設定,將可能導致網路名稱資源方面的問題或是在引起連通方面的問題.
協定操作
SNMPv2標準的核心就是通信協定———它是一個請求/應答式的協定。這個協定提供了在manager與agent、manager與manager之間交換管理信息的直觀、基本的方法。
每條SNMPv2的報文都由一些域構成:
如果傳送方、接收方的兩個Party都採用了驗證(authentication)機制,它就包含與驗證有關的信息;否則它為空(取NULL)。驗證的過程如下:傳送方和接收方的Party都分別有一個驗證用的密鑰(secretkey)和一個驗證用的算法。報文傳送前,傳送方先將密鑰值填入圖中digest域,作為報文的前綴。然後根據驗證算法,對報文中digest域以後(包括digest域)的報文數據進行計算,計算出一個摘要值(digest),再用摘要值取代密鑰,填入報文中的digest域。接收方收到報文後,先將報文中的摘要值取出來,暫存在一個位置,然後用傳送方的密鑰放入報文中的digest。將這兩個摘要值進行比較,如果一樣,就證明傳送方確實是srcParty域中所指明的那個Party,報文是合法的;如果不一樣,接收方斷定傳送方非法。驗證機制可以防止非法用戶"冒充"某個合法Party來進行破壞。
authInfo域中還包含兩個時間戳(timestamp),用於傳送方與接收方之間的同步,以防止報文被截獲和重發。
SNMPv2的另一大改進是可以對通信報文進行加密,以防止監聽者竊取報文內容。除了privDst域外,報文的其餘部分可以被加密。傳送方與接收方採用同樣的加密算法(如DES)。
通信報文可以不加任何安全保護,或只進行驗證,也可以二者都進行。
OSI
在CLTS上的映射在CLTS7,8上的SNMP映射是直通方式的。步驟原理和UDP採用的相同。注意CLTS和服務都是通過包含了全部地址信息的UDP信息傳輸包來提供的。因此,中的“傳輸地址”,映射在CLTS上的SNMP僅僅是一個傳輸選項和網路地址。
應該注意到,正如1,5中描述的那樣,映射在面向非連線的傳輸服務上的SNMP和SNMP的結構原理是完全一致的。然而,CLTS本身既可以採用一個面向無連線方式,又可以採用面向連線的網路服務方式實現。在這種映射中描述的映射支持任意實現方式。(當提供所有網路服務時,應該以CLNS為實現基礎。)
周知地址
不象Internet協定組,OSI沒有使用周知口。當然,多路分解技術基於“選擇器”發生,“選擇器”是具有局部重要意義的不透明八位字串。為了照顧基於CLTS的可互操作的SNMP實現,定義四個選擇器是必要的。當CLTS採用無連線模式的網路服務來提供反向SNMP傳輸時,應該採用由6個ASCII字元組成的“snmp-l”傳輸選擇器;按照約定,會傳送一個SNMP中斷給一個正在監聽由7個ASCII字元組成的“snmp-l”傳輸選擇器的SNMP管理器。當CLTS採用面向連線的網路服務來提供反向SNMP傳輸時,應該採用由6個ASCII字元組成“snmp-o”傳輸選擇器;按照約定,會傳送一個SNMP中斷給一個正在監聽由7個ASCII字元組成的“snmp-o”傳輸選擇器的SNMP管理器。
中斷
當SNMP中斷在CLTS上傳送時,Trap-PDU中的代理地址欄位包含了IP位址“0.0.0.0”。SNMP管理器可以基於由傳輸服務提供的信息(也就是源自T-UNIT-DATA.INDICATION基本數據單元的)探知陷阱的來源。
最大訊息尺寸
一個在OSI上運行SNMP的實體應該準備好接收大小至少484個位元組的訊息。鼓勵套用隨時可能發生的更大的數值。
作用
SNMP是1990年之後最常用的網路管理協定。SNMP被設計成與協定無關,所以它可以在IP,IPX,AppleTalk,OSI以及其他用到的傳輸協定上被使用。SNMP是一系列協定組和規範(見下表),它們提供了一種從網路上的設備中收集網路管理信息的方法。SNMP也為設備向網路管理工作站報告問題和錯誤提供了一種方法。現在,幾乎所有的網路設備生產廠家都實現了對SNMP的支持。領導潮流的SNMP是一個從網路上的設備收集管理信息的公用通信協定。設備的管理者收集這些信息並記錄在管理信息庫(MIB)中。這些信息報告設備的特性、數據吞吐量、通信超載和錯誤等。MIB有公共的格式,所以來自多個廠商的SNMP管理工具可以收集MIB信息,在管理控制台上呈現給系統管理員。
通過將SNMP嵌入數據通信設備,如路由器、交換機或集線器中,就可以從一個中心站管理這些設備,並以圖形方式查看信息。現在可獲取的很多管理應用程式通常可在大多數當前使用的作業系統下運行,如Windows95、Windows98、WindowsNT和不同版本UNIX的等。
一個被管理的設備有一個管理代理,它負責向管理站請求信息和動作,代理還可以藉助於陷阱為管理站主動提供信息,因此,一些關鍵的網路設備(如集線器、路由器、交換機等)提供這一管理代理,又稱SNMP代理,以便通過SNMP管理站進行管理。
協定棧
網路設備agent常用庫:net-snmp——C語言編寫;snmp++——C、C++編寫網管管理端snmpmanager常用庫:ObjectSNMP——Java編寫,所有平台;WinSNMP——WFC庫,Windows平台
網路協定
網路上的計算機之間又是如何交換信息的呢?就像我們說話用某種語言一樣,在網路上的各台計算機之間也有一種語言,這就是網路協定,不同的計算機之間必須使用相同的網路協定才能進行通信。 |