我是在windows network下做網管的,使用vc++做開發,經過這個幾個月工作,
終於找到了門,呵呵。
建議第一點,網路管理理論知識一定要有,書和rfc。
第二點,把精華區看看。還有友情連線,特別是snmplink這個**,你在那會發現很多東西。
第三點,作工程的話一定要有程式設計功底的(這是我欠缺的,為此付出很大代價)
明確兩個概念mib 和 mib的實現,mib說白了就是乙個文字,給人看得東西,
mib的實現過程就是編寫agent的過程。一開始我老把mib理解成乙個資料庫,
也許它可以作為乙個資料庫的定義,但是實現時不一定有實際的資料庫。
agent開發
第一步是mib設計(如果你是要實現已有的mib那麼這步就用不到了)
要寫出乙個mib文件,你要知道smi,下面的rfc是你需要了解的:
smiv1
• rfc 1155 - structure of management information
• rfc 1212 - concise mib definitions
smiv2
• rfc 2578 - structure of management information
• rfc 2579 - textual conventions
• rfc 2580 - conformance statements
把mib ii(rfc1213)作為例子看一下,定義乙個mib大體的結構,
開始你的mib設計時,首先確定你要將那些被管物件納入管理資訊庫。
結構安排好,具體到各個物件的定義,就是巨集的運用:
smi v1
objects-type rfc1155
trap-type rfc1215
smi v2
object-identity object-type module-identity notification-type rfc2578
textual-convention rfc2579
object-group notification-group module-compliance agent-compabilities rfc2580
值得一提的是rfc2580中的這幾個巨集,主要完成mib一致性的定義,表明mib實現時
必須實現的管理物件,這個在smiv2中必須完成。
還有在乙個mib中不能混用v1和v2,只能用其中乙個的格式定義。
最終結果是你寫出那個asn.1的文件來。
這一步使用乙個記事本就可以,當然也有視覺化的mib designer,比如nudesign tools,
mg-soft brower都提供。但是沒有註冊的話前者設計mib最多只能包含20個節點,後者
不能顯示asn.1的文件。在snmplink你還可以找到一些設計工具。
第二步,就是選開發包了,
windows下適合c++語言的開發包:
m$自身提供一組稱為winsnmp的api(在msdn裡以此為關鍵字可以找到),而且m$提供
基於agent service的snmp extension agent開發。
我使用的開發包是免費的snmp++ agent++(
其實就是兩個類庫,
剛接觸感覺比較簡單,但是幫助文件太少。
一般與它一起提起的還有乙個net-snmp(
訪問需要國外的**)
如果有銀子,當然可以使用那些比較牛的東東,我接觸過得有snmp research's emanate® tool kit
和hp openview.
當你的開發包定下來,你的mib編譯工具也就定了,對於agent++就是agentgen
編譯工具的用處就是將你寫的asn.1的mib檔案編譯成你使用的程式語言,
而且是針對你的開發包的。
我用的agentgen(standard,agentpro要銀子的)就最後生成的就是.cpp和.h的檔案。
agentgen的用法很簡單,自帶的manual足夠了。
第三步就是你如何程式設計了,簡單的說就是讓這個agent響應get set操作,發發trap。
在這時用到的理論知識應該是:pdu的格式,snmp原語和原語操作的過程。
snmp v1(rfc1157) snmp v2(rfc1905)
關於snmp++ agent++精華區都有文章,
幫主echrisma 的《hp snmp++攻略》,snmptxy的《agent++在vc下的編譯》
在看看它的help,example,特別是後者,上手是不太困難的。
然後就是具體問題具體分析啦。post上來。
如果你上新聞組的話可以定comp.protocols.snmp,frank fock就是那個寫
agent++的傢伙這個組出沒。
**:
基於vc 的網路管理的一點心得
我是在windows network下做網管的,使用vc 做開發,經過這個幾個月工作,終於找到了門,呵呵。建議第一點,網路管理理論知識一定要有,書和rfc。第二點,把精華區看看。還有友情連線,特別是snmplink這個 你在那會發現很多東西。第三點,作工程的話一定要有程式設計功底的 這是我欠缺的,為...
MySql管理的一點心得(2)
最後給出本人在redhat9.0下的mysql操作演示 選用資料庫的root使用者登入 weiwen weiwenlinux mysql uroot p enter password mypassword mysql create database mydb query ok,1 row affec...
KMP的一點心得
int next next陣列儲存的是當模式串匹配不上的時候將要跳轉的下標 void getnext char b int kmp char a,char b 尋找主串中有多少模式串 return k int kmp char a,char b 判斷主串中是否有模式串 return 0 字串a代表的...