用python实现的一个简单的网络检测程序

本文介绍了一个使用Python编写的简易网络监测脚本。该脚本通过发送30个数据包进行ping测试,若丢包率超过30%,则判定网络出现故障并执行相应处理措施,如记录日志和发送邮件通知。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近由于服务器托管中心频繁出现网络故障问题,因此写了一简单的py程序,用于检测网络状态。实现的原理相当简单,运行ping命令发送30个数据包,如果超过30%的丢失,则认为故障发生,然后做故障处理,如写日志,发邮件。主要函数


import os
def monitoring(server_ip):
cmd = "ping -c 30 %s" % server_ip
p = os.popen(cmd)
info = p.read()
p.close()
re_lost_str = '(\d+)% packet loss'
lost_packet = int(self.re.search(re_lost_str, info).group(1)) #获得丢失包数据
if lost_packet > 30:
deal_error(info) #故障处理函数


这里需要注意的是丢失包的获取,我的系统运行ping命令返回的结果是...[color=red]30% packet loss[/color],所以我的正则表达式是'(\d+)% packet loss',而有的返回结果为...[color=red]30.0% packet loss[/color],则表达式要改变下。

deal_error为处理函数,将info写于日志文件,并发送邮件

由于本人还在py初步学习中,如果有更好的方法实现,请指教,谢谢了! :D
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值