基於SNMP協議發現網路中路由器、交換機和印表機的簡單方法
在網路拓撲發現中,如何發現裝置的型別。如果一個裝置支援SNMP,就按照下面的步驟進行:
路由器發現:
決定一個裝置是否是一個路由器,通過SNMP查詢改裝置中的MIB-II中的ipAddrEntry表,如果沒有返回,就可以初步認定該裝置不是路由器,繼續通過其他操作,發現其是否其他裝置。如果該裝置有兩個或者更多的介面,且ipForwarding節點被設定為1,就可以認定該裝置是一個路由器。通過該路由器,而且可以發現其他的網段,就可通過該裝置,繼續查詢其他網端的裝置。
交換機發現:
一個裝置支援SNMP以後,如果是交換機,應該實現Bridge-MIB,而且應該實現其中的幾個主要節點,例如
1、 埠的數量節點。(.1.3.6.1.2.1.17.1.2.0 )
2、從當前橋節點到根橋節點的路徑值(.1.3.6.1.2.1.17.2.6.0)
3、從點前橋節點到根橋節點的埠數量( .1.3.6.1.2.1.17.2.7.0)
如果以上三點支援,可以把它認為是一個交換機。為了得到交換機的埠列表以及相關的屬性,可以讀取以下的值:
1、 1.3.6.1.2.1.17.1.4.1.2.+ 埠值,得到介面索引值,該值定義在MIB-II,埠通訊值。
2、 .1.3.6.1.2.1.17.2.15.1.3.+ 埠值,得到埠的當前狀態,也就是通過生成樹協議來定義的。
3、.1.3.6.1.2.1.2.2.1.5. 和 .1.3.6.1.2.1.2.2.1.2.得到介面的速度和索引。
以上的資訊可以作為埠物件以及相關的屬性資訊來查詢,收集。
列印機發現:
一個支援SNMP的裝置,如果是印表機,應該實現Printer-MIB,並且可以通過節點 .1.3.6.1.2.1.43.5.1.1.1.1得到埠數量的值。 如果支援這些,就可以認為該裝置是一個印表機。
印表機的屬性應該包含:
1、.1.3.6.1.2.1.25.3.2.1.5.1,通過這個表中的每行得到當前的操作狀態。
2、.1.3.6.1.2.1.25.3.5.1.1.1,得到印表機的當前狀態。
3、。1.3.6.1.2.1.43.17.6.1.5 , 得到印表機的控制描述。
4、.1.3.6.1.2.1.43.17.6.1.4, 得到印表機的控制顏色。
當然可以通過其他的節點查詢到更多的屬性