一般情況下,網路管理站 NMS 向 SNMP 代理傳送請求,獲取被管理裝置的引數值。然後,SNMP 代理將自己在 MIB 管理資訊庫中查到的引數值返回給網路管理站 NMS。這種方式採用的是 Get 請求。
但是還有一種情況,就是 SNMP 代理主動向網路管理站 NMS 發出報文,通知發生了某些事件。該種情況使用的是 Trap 請求,它可以用來通知故障、連線的中斷和恢復、認證失敗等訊息。
由於 SNMP 版本不同,netwox 工具提供了不同的模組,用於構建 SNMPv1 版本和 SNMPv2 版本的 Trap 請求。
構建 SNMPv1 版本的 Trap 請求
netwox 工具編號為 161 的模組實現了 SNMPv1 版本的 Trap 請求功能,其語法格式如下:
netwox 161 -i IP -r OID -a IP -s Traptype -z timestamp -n OID -t OIDtype -V oidvalue
引數說明:
-
-i 選項用來指定遠端主機服務(網路管理站 NMS)的地址。
-
-r 選項用來指定報文的網路裝置的 OID(報文中的企業欄位)。
-
-a 選項用來指定 SNMP 代理的 IP 地址。
-
-s 選項用來指定 Trap 型別。
-
-z 選項用來指定時間戳。
-
-n 選項用來指定要告訴網路管理站 NMS,發生事情的 OID。
-
-t 選項用來指定 OID 型別。
-
-V 選項用來指定 OID 對應的值。
【範例】已知網路管理站 NMS 地址為 182.16.184.190。主機 192.168.59.133 作為 SNMP 代理,構建 SNMP Trap 請求,具體步驟如下:
1) 構建 SNMP Get 請求,設定企業物件 OID 為 .1.3.6.1.4.1,通知網路管理站 NMS,OID.1.3.6.1.2.1.1.1.0 對應的值為 APC Web/SNMP Management Card。執行命令如下:
[email protected]:~# netwox 161 -i "182.16.184.190" -r ".1.3.6.1.4.1.3.1" –a "192.168.59.133" -s "3" -z "0" -n ".1.3.6.1.2.1.1.1.0" -t "s" -V "APC Web/SNMP Management Card"
執行命令後沒有任何輸出資訊,但是會成功構建 SNMP Trap 請求。
2) 通過抓包檢視構建的 SNMP Trap 請求,如圖所示。