對有心研究 SNMP 及開發 SNMP 軟件的工程師,以下文章將對你有所啟發,如果你是準 IT 大學生,採用以下資料編寫一個像樣的SNMP軟件作為畢業論文及項目,也是一個不錯的選擇。
本人對 OID 的了解仍有所不足,在這裡拋磚引玉,希望同行能多指教及在這論壇補充。
要編寫程式,可採用 Borland 的 C++ builder,裡面有 UDP 工具包,讓你專心把 OID 實際內容填入發放及分析收到的 OID 數據。
現在開始進入話題~~~~
Orinoco 的 AP Manager (已是十年前的產品),它是我第一個遇到以 SNMP 為基礎開發的AP管理軟件,也是令我對SNMP 程式感到興趣的軟件,我大約花了數個月時間對 MIB 中的 OID 進行研究,當時Ethereal 軟件還未推出(也有可能我未有注意此軟件存在),亦無錢購買昂貴的數據包分析軟件,只是利用 Window NT 的 Network Monitor 去分析數據包,最後我可以獨力去編寫一個與 Orinoco AP Manager 一樣的軟件,由於現時筆者己沒有時間去編寫這類軟件,故把心得與大家分享,這總比這些資料永遠收藏於硬盤的某堆sectors 更有意義。
AP Manager 對 AP 的管理
(1) 每當 AP 啟動時,它個連續發三個 IP broadcast (參考下圖之1),當AP收到 IP broadcast,它會向發出 IP broadcast 的電腦以UDP 型式回傳有關資料,包括 (參考下圖之2的內容)
a. MAC address = 00 60 ID F4 B5 10
b. IP address = C0 A8 00 4D (192.168.0.77)
c. wave network name = WavePOINT-II_00UT01206364 (在AP 上顯示的內容)
d. AP property = WavePOINT-II V3.64 SN-00UT28201 (在 Access Point -> Access Point Properties)
(3) AP Manager 會利用己知AP 的 IP Address 去不斷 ping 各 AP (你會見到AP的LED黃橙不斷閃動),如失敗,AP Manager 會在該 AP 的Status 一欄顯示 Offline ,要證明這點,你只要把連到AP 的網絡線暫時離開,你會發現 AP Manager 發出 ICMP request 後並沒有收到 ICMP echo。
(4) 當你執行 Access Point -> Refresh Access Point List ,AP Manager 會再發出三個 IP broadcast,從這一點,表示若網絡上突然加入一個新的AP,如AP Manager 沒有執行Access Point -> Refresh Access Point List ,此新加入的AP並不會顯示在AP Manager 上。