RPing /通过snmp 实现remote ping ——以cisco设备为例

最近项目有Rping的相关需求,在网上找资料,发现相关资料很少,后来在cisco官网根据其文档,最终实现了Rping 的相关操作。在此记录一下。

1.snmp相关知识在此不做说明。

2.需要相关工具:net-snmp  http://www.net-snmp.org/ 可在官网下载。

附上几篇查找资料时很好的文章:

(1)https://tools.ietf.org/html/rfc2925     用于远程Ping,Traceroute和的远程管理对象的定义查找操作

(2)https://snmp.cloudapps.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=1.3.6.1.4.1.9.9.16.1.1.1.16&translate=%E7%BF%BB%E8%AF%91&submitValue=SUBMIT  cisco 相关snmp oid导航器

(3)https://www.cisco.com/c/zh_cn/support/docs/ip/simple-network-management-protocol-snmp/13383-21.html?dtid=osscdc000357     cisco官方pingmib实施

(4)http://support.huawei.com/enterprise/zh/doc/DOC1000141395?section=k008    华为mib参考

以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"

i 代表后面set 的值为integer,s为string 等。详细参考https://www.cnblogs.com/helloworldtoyou/p/4743883.html。

结果:

RPing /通过snmp 实现remote ping ——以cisco设备为例_第1张图片

可以根据不同oid单独get对应结果。

最后,感谢参考过的所有文章的作者。

详细代码说明及net-snmp下载地址https://download.csdn.net/download/zhuanpenglve0711/10751560

你可能感兴趣的:(RPing /通过snmp 实现remote ping ——以cisco设备为例)