Python利用pythonping处理ping的示例详解

 更新时间:2022年11月18日 14:27:45   作者:玩转测试开发  
ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序 。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令。本文将利用pythonpin实现gping的处理,需要的可以参考一下

简介

ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序 。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等。

历史攻略

Python:subprocess模块

Ping命令可以进行以下操作

1、通过将ICMP(Internet控制消息协议)回显数据包发送到计算机并侦听回显回复数据包来验证与一台或多台远程计算机的连接。

2、每个发送的数据包最多等待一秒。

3、打印已传输和接收的数据包数。

需要注意的是,Ping成功并不一定就代表TCP/IP配置正确,有可能还要执行大量的本地主机与远程主机的数据包交换,才能确信TCP/IP配置的正确性。如果执行ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,ping成功只保证当前主机与目的主机间存在一条连通的物理路径。

安装

pip install pythonping

案例源码1

os模块的下ping的方式,易造成执行堵塞,并且提取比较繁琐。

# -*- coding: utf-8 -*-
# time: 2022/7/31 11:26
# file: main.py
# 公众号: 玩转测试开发
import os
cmd = "ping www.baidu.com"
message = os.system(cmd)
print("*" * 100)
print(message)

案例源码2

pythonping模块处理ping,无堵塞现象,并且易于提取。

# -*- coding: utf-8 -*-
# time: 2022/11/18 11:26
# file: ping-demo.py
# 公众号: 玩转测试开发
from pythonping import ping
from colorama import Fore, Back, Style


def check_online(ip: str):
    message = ping(ip)
    print(message)
    success_ping = "Reply"
    if success_ping in str(message):
        print(Fore.GREEN + Style.BRIGHT + f"localhost to - {ip} Success.")
    else:
        print(Fore.RED + Style.BRIGHT + f"localhost to - {ip} Fail.")


if __name__ == '__main__':
    check_online("14.215.177.39")
    print(Style.RESET_ALL)
    check_online("111.112.113.114")

执行2结果:

即:通过pythonping的结果有2个,通: 回复字节 Reply bytes,不通:请求超时 Request timed out,来快速判断ping的结果,从而快速得到结果。

到此这篇关于Python利用pythonping处理ping的示例详解的文章就介绍到这了,更多相关Python pythonping处理ping内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现模拟登录网易邮箱的方法示例

    Python实现模拟登录网易邮箱的方法示例

    这篇文章主要介绍了Python实现模拟登录网易邮箱的方法,结合实例形式分析了Python基于urllib2及cookielib模块的http请求、数据传输及交互相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • 吴恩达机器学习练习:神经网络(反向传播)

    吴恩达机器学习练习:神经网络(反向传播)

    这篇文章主要介绍了学习吴恩达机器学习中的一个练习:神经网络(反向传播),在这个练习中,你将实现反向传播算法来学习神经网络的参数,需要的朋友可以参考下
    2021-04-04
  • python如何寻找主串中所有指定子串下标

    python如何寻找主串中所有指定子串下标

    这篇文章主要介绍了python如何寻找主串中所有指定子串下标,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Python语言技巧之三元运算符使用介绍

    Python语言技巧之三元运算符使用介绍

    现在大部分高级语言都支持“?”这个三元运算符(ternary operator),它对应的表达式如下:condition ? value if true : value if false。很奇怪的是,这么常用的运算符python居然不支持
    2013-03-03
  • Python Loguru日志封装装饰器实现过程

    Python Loguru日志封装装饰器实现过程

    这篇文章主要介绍了Python Loguru日志封装装饰器实现过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-03-03
  • tensorflow2.0教程之Keras快速入门

    tensorflow2.0教程之Keras快速入门

    这篇文章主要介绍了tensorflow2.0教程之Keras快速入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python实现合并两个字典的8种方法

    Python实现合并两个字典的8种方法

    Python有多种方法可以通过使用各种函数和构造函数来合并字典,本文主要介绍了Python实现合并两个字典的8种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • pycharm中导入模块错误时提示Try to run this command from the system terminal

    pycharm中导入模块错误时提示Try to run this command from the system ter

    这篇文章主要介绍了pycharm中导入模块错误时提示Try to run this command from the system terminal问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • 基于torch.where和布尔索引的速度比较

    基于torch.where和布尔索引的速度比较

    今天小编就为大家分享一篇基于torch.where和布尔索引的速度比较,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • pandas object格式转float64格式的方法

    pandas object格式转float64格式的方法

    下面小编就为大家分享一篇pandas object格式转float64格式的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论