C SNMP 程式設計

2021-06-07 21:33:00 字數 2308 閱讀 1470

c#下利用snmpsharpnet進行snmp開發

2009-04-22 17:59

最近需要在c#下面開發snmp的應用,其實我的需求很簡單,就是通過乙個oid可以獲得乙個值。在網上搜尋了 一些,發現很多文章都是 你抄襲我我抄襲你,基本上拷貝下來是不能執行的,還有的一些利用系統庫,有一些用付費的庫。

在snmp的語句中有兩種語句,snmpget/snmpwalk我覺得這兩個是我用的最多的,snmpget就是通過oid進行查詢,而snmpwalk可以返回乙個組中的資料。下面兩段程式演示了具體怎麼使用。

using system;

using system.net;

using snmpsharpnet;

namespace snmpget

index ",

result.pdu.errorstatus,

result.pdu.errorindex);

}else

) (): ",

result.pdu.vblist[0].oid.tostring(), snmpconstants.gettypename(result.pdu.vblist[0].value.type),

result.pdu.vblist[0].value.tostring());

console.writeline("sysobjectid() (): ",

result.pdu.vblist[1].oid.tostring(), snmpconstants.gettypename(result.pdu.vblist[1].value.type),

result.pdu.vblist[1].value.tostring());

console.writeline("sysuptime() (): ",

result.pdu.vblist[2].oid.tostring(), snmpconstants.gettypename(result.pdu.vblist[2].value.type),

result.pdu.vblist[2].value.tostring());

console.writeline("syscontact() (): ",

result.pdu.vblist[3].oid.tostring(), snmpconstants.gettypename(result.pdu.vblist[3].value.type),

result.pdu.vblist[3].value.tostring());

console.writeline("sysname() (): ",

result.pdu.vblist[4].oid.tostring(), snmpconstants.gettypename(result.pdu.vblist[4].value.type),

result.pdu.vblist[4].value.tostring());}}

else

target.dispose();}}

walk有兩種方法實現,具體看源出處

using system;

using system.net;

using snmpsharpnet;

namespace sharpwalk

// clear oids from the pdu class.

pdu.vblist.clear();

// initialize request pdu with the last retrieved oid

pdu.vblist.add(lastoid);

// make snmp request

snmpv2packet result = (snmpv2packet)target.request(pdu, param);

// if result is null then agent didn't reply or we couldn't parse the reply.

if (result != null)

index ",

result.pdu.errorstatus,

result.pdu.errorindex);

lastoid = null;

break;

}else

(): ",

v.oid.tostring(),

snmpconstants.gettypename(v.value.type),

v.value.tostring());

lastoid = v.oid;

}else}}

}else

}target.dispose();}}

}}

h3c snmp配置例項 snmp配置h3c

第 章snmp 配置1.1 snmp 簡介目前網路中用得最廣泛的網路管理協議是 snmp network management protocol 簡單網路管理協議 snmp 是被廣泛接受並 投入使用的工業標準,用於保證管理資訊在網路中任意兩點間傳送,便於網路 管理員在網路上的任何節點檢索資訊 修改資...

程式設計,還是程式設計

喜歡程式設計,雖然水平一般,但還是執著地學習與程式設計有關的知識。中間因為工作關係與程式設計遠離了一段時間,現在又重拾起來,細想起來還是因為喜歡吧。喜歡程式軟體的思想和原理,喜歡程式 的魅力和成就感。程式設計軟體的思想是最值得學習的,一直認為思想決定行動,思想改變世界。每種軟體的流行和受人追捧,無不...

少兒程式設計程式設計

機械人比賽,聽上去讓人有一種高大上的科技感,沒錯,在大多數人眼裡,玩機械人那是科學家做的事情,不過隨著機械人教育的普及,越來越多的孩子也能夠駕馭這高大上的機械人。格物斯坦小坦克告訴你原因,這是歸結於孩子對於程式設計課程的學習,學會對機械人進行程式設計了,自然就能玩轉機械人啦。參加機械人比賽的意義遠遠...