基于python的 ping 网络状态监测方法 亲测有效

您所在的位置:网站首页 怎么看网络ping是否正常 基于python的 ping 网络状态监测方法 亲测有效

基于python的 ping 网络状态监测方法 亲测有效

2024-07-11 15:25| 来源: 网络整理| 查看: 265

ping 基本概念

ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序 [1] 。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态 [2] 。

ping 命令在程序开发时不易使用

ping 命令在Windows系统和Linux系统上参数使用有所不同,且返回是中文字符还是英文字符导致程序开发时需要考虑各种场景,不便于使用。 ping的参数   ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list] [-w timeout]    使用ping时尽量加参数 Windows下ping命令的次数参数为 -n Linux下ping命令的次数参数为 -c

import platform param = '-n' if platform.system().lower()=='windows' else '-c 基于tcping python模块的网络状态监测

考虑ping命令不便于程序开发,经调研使用基于tcping python 模块的网络状态监测,监测脚本参考如下:

from tcping import Ping def pingip(ipAddress,request_nums): """ ping ip :param ipAddress: :param request_nums: 请求次数 :return: 丢包率loss和统计结果res """ ping = Ping(ipAddress,80,3) ping.ping(request_nums) res = ping.result.table ret = ping.result.raw retlist = list(ret.split('\n')) loss = retlist[2].split(',')[3].split(' ')[1] # 获取丢包率 return loss, res def main(): # 获取待ping的服务器地址信息 ipAddress = "192.x.x.x" # 调用pingip方法得到丢包率 loss, res = pingip(ipAddress, 3) if float(loss.strip('%')) / 100


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3