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

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 <= 0.1:   # 0.1为自定义丢包率阈值,可修改
        print("ping 不通")
    else:
        print("ping 通")

if __name__ == '__main__':
    #实现服务器网络状态监控
    main()
    pass

tcping是一个类似于 ping 的系统工具, 检测在连接 tcp 时候的延迟, 比较正确是反应出网络的延迟情况,毕竟 tcp 用途比较广。
虽然和 icmp 的 ping 原理不同,ping 命令也能很大程度上反映出网络的延迟。

tcping 模块安装方法
pip install tcping
ps:加速下载安装过程 可利用pip镜像源下载 常用的镜像源见 镜像源链接

【Reference】
1、百度百科 ping
2、tcping 项目介绍
3、tcping 项目源码

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Python的能耗预测深度学习方法可以通过使用神经网络模型来预测能耗。首先,我们可以使用Python的深度学习库(如TensorFlow或PyTorch)来创建一个神经网络模型。该模型可以由多个隐藏层组成,每个隐藏层都包含多个神经元。 在准备数据阶段,我们需要收集能耗预测所需的相关数据。这可能包括能耗的历史数据、相关环境因素(如温度、湿度等)以及其他可能影响能耗的因素。这些数据可以用于训练和验证神经网络模型。 接下来,在数据预处理阶段,我们可以使用Python的数据处理库(如NumPy或Pandas)对数据进行清洗、归一化和标准化等处理,以使其适用于神经网络模型的输入。 在模型训练阶段,我们可以使用Python的深度学习库来进行模型的训练。我们可以将数据划分为训练集和验证集,并使用训练集来训练神经网络模型。训练过程将根据已知的能耗和其他相关因素,调整模型的权重和偏差,以使其能够更准确地预测能耗。 训练完成后,我们可以使用训练好的模型来进行能耗的预测。我们可以使用Python的深度学习库来加载训练好的模型,并将新的数据输入到模型中,以获得对能耗的预测结果。 最后,我们可以使用Python的数据可视化库(如Matplotlib或Seaborn)来可视化预测结果,以便更好地理解能耗的趋势和变化。 总之,基于Python的能耗预测深度学习方法通过神经网络模型,利用大量数据的训练和预测,可以提供准确的能耗预测结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值