日常运维中我们经常会监测一个ip可不可达,也总有小伙伴问类似的问题,如何去检测一个IP。实际上有很多的检测IP的工具,大大小小的,比如nmap可以,zabbix也可以。如果对于一个完善的运维体系,ping工具应该是一个基础组件了。但实际网络运维中,个人感觉还是有很多小伙伴缺少类似工具,或者是有些ping需求过于个性化,这些开源组件不支持,因为实际的网络运维中奇奇怪怪的需求总是有的,而这些开源工具,都是黑盒子,或者开放的api不够,或者太重了,对于一个新手不友好,这个时候,我们可以基于python,自己动手写个小脚本去做一个ping的监控。
ping监控,或者ping,我觉得基本分两种:必须从网关设备(网络设备)去ping,那用netmiko、paramiko是一个不错的选择。这个必须先登录到网络设备调用命令。
从一台服务器(win、Linux)去ping,我个人推荐的是ping3这个Python包。
今天分享也是讲讲ping3这个比较简单直接的Python包。
什么是Ping3
Ping3 is a pure python3 version of ICMP ping implementation using raw socket.
它是一个纯粹的基于Python3写的一个ICMP的ping工具包,基于low-level去封装的高阶API,且,无需特定用户权限即可发送ICMP包。
安装
安装非常简单,pip install ping3即可完成安装。
使用
cli
它支持命令行的方式调用,也支持脚本开发的方式调用ÿ