1. 程式人生 > >RPing /通過snmp 實現remote ping ——以cisco裝置為例

RPing /通過snmp 實現remote ping ——以cisco裝置為例

最近專案有Rping的相關需求,在網上找資料,發現相關資料很少,後來在cisco官網根據其文件,最終實現了Rping 的相關操作。在此記錄一下。

1.snmp相關知識在此不做說明。

附上幾篇查詢資料時很好的文章:

以cisco為例:

下載安裝net-snmp 之後,啟動命令列:

snmpset -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.16.[number] i 6		#清除此次將要建立的行的歷史記錄
snmpset -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.16.[number] i 5		#建立行並將狀態設定為5(CreatAndWait)
snmpset -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.15.[number] s "muxin"	#為此次的行設定名稱
snmpset -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.2.[number] i 1		#為此次的行選取協議1(ip)
snmpset -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.3.[number] x [IP]	#設定目標ip
snmpset -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.6.[number]	  i 1000	#設定超時時間
snmpset -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.4.[number] i 20		#設定資料包的數量
snmpset -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.5.[number] i 100 	#設定資料包的大小
snmpget -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.16.[number]		
snmpset -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.16.[number] i 1		#設定行狀態為1(active)
snmpwalk -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1		#獲取結果

snmpset -v1 -c [public] [Router_Source] .1.3.6.1.4.1.9.9.16.1.1.1.16.[number] i 6	#銷燬此次建立的行

說明:[]中為需要根據具體裝置自行修改的值。

 [public]  為裝置團體名,需要具有寫的許可權。

[Router_Source] 為裝置ip

[IP] 為ping 的目標ip,格式必須為十六進位制,而且必須補零,需要用雙引號包裹,例如"0a 08 08 fe"

最後,感謝參考過的所有文章的作者。