SNMP request
SNMPv1的PDU有五種類型间护,包括報文請求(Request)和響應(yīng)(Response):
GetRequest夭谤、GetNextRequest呻逆、SetRequest挑随、GetResponse琳疏、Trap
SNMPv2又增加了兩種PDU:GetBulkRequest和InformRequest辆沦。
SNMP工具軟件
在很多snmp工具中都有很多功能,例如get subtree,walk赖钞,table view之類的,可以肯定的是這些功能都是通過上面的標(biāo)準(zhǔn)request/response組合聘裁,通過工具軟件自己的邏輯+MIB庫實現(xiàn)的雪营。
snmp工具最好load上對應(yīng)的MIB庫,這樣可以對snmp mib有個更詳細的了解衡便,例如每個OID代表的是什么含義献起,哪些Oid之間有關(guān)聯(lián)的,數(shù)據(jù)表中哪些是索引镣陕,哪些是數(shù)據(jù)等谴餐。
下面我們來搞清楚table view是如何做到的:
在通過snmp工具獲取這個table view時,抓包:
首先呆抑,需要注意的是全部使用的是get-next-request
第二岂嗓,由于snmp工具軟件load了對應(yīng)的mib庫,通過mib中的描述鹊碍,工具知道了厌殉,這個表里有5列,列的OID風(fēng)別為:
1.3.6.1.2.1.4.20.1.1
1.3.6.1.2.1.4.20.1.2
1.3.6.1.2.1.4.20.1.3
1.3.6.1.2.1.4.20.1.4
1.3.6.1.2.1.4.20.1.5
并且這個表的索引 index是1.3.6.1.2.1.4.20.1.1
了解到這些信息后侈咕,SNMP工具一次getnext這個5個OID
設(shè)備一次性返回了5對應(yīng)的5個response,實際上這正好是一行的數(shù)據(jù)
然后snmp 工具就繼續(xù)用已知oid get next公罕,一直到SNMP工具發(fā)現(xiàn) 返回的OID 超出了表格定義的OID范圍
注意:
最后回應(yīng)的數(shù)據(jù)包中20.1.1的NEXT已經(jīng)是20.1.2的數(shù)據(jù)
20.1.5的NEXT已經(jīng)是21.1.1
由此SNMP工具判定這個table數(shù)據(jù)已經(jīng)獲取完畢了