1. 程式人生 > >基於SNMP協議發現網路中路由器、交換機和印表機的簡單方法

基於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, 得到印表機的控制顏色。

  當然可以通過其他的節點查詢到更多的屬性