Python利用pythonping处理ping的示例详解
作者:玩转测试开发 发布时间:2023-08-12 00:28:45
简介
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的结果,从而快速得到结果。
来源:https://blog.csdn.net/hzblucky1314/article/details/127921344


猜你喜欢
- 1.使用排序使数据有序通常,你的所有数据真正需要的仅仅是按某种顺序排列。SQL的ORDER BY语句可以以字母或数字顺序组织数据。因此,相似
- 业务背景: 基本业务场景是这样的,请求数据(车辆vin信息)进入到接口中,需要先判断其在数据库中的状态,如果库中不存在该vin,或者该vin
- 在开发的过程中,几乎不可能一次性就能写出毫无破绽的程序,断点调试代码是一个普遍的需求。作为前端开发工程师,以往我们开发的JavaScript
- 有时候我们想要的数据合并结果是数据的轴向连接,在pandas中这可以通过concat来实现。操作的对象通常是Series。Ipython中的
- select UNIX_TIMESTAMP(ADDDATE(NOW(),INTERVAL -60 DAY))首先根据now()获得当前时间使
- 网页广告 Banner 设计图文手册:采用以下要点来改善你的BANNER。广告并不便宜。 确信你的广告被第一时间读到。使用像这样的Sans
- Exec sp_droplinkedsrvlogin ZYB,Null --删除映射(录与链接服务器上远程登录之间的映射) Exec sp_
- 前言为了介绍python语言中pandas库在数据分析中的重要作用,本人打算以NBA球星勒布朗詹姆斯在2020-2021赛季常规赛个人数据为
- 概述你可能在JavaScript项目中都用了console.log。这是一种查看变量的值或程序运行中发生的事情的便捷方法。但是JavaScr
- 一,最常见MYSQL最基本的分页方式:select * from content order by id desc limit 0, 10在
- 方法一:f = open("foo.txt") &
- 摘要:本篇博客将详细介绍如何使用YOLOv5进行车牌识别模型的训练与评估。我们将搭建训练环境、准备数据、配置模型参数、启动训练过程,以及使用
- 一、简介pandas中的ExcelFile()和ExcelWriter(),是pandas中对excel表格文件进行读写相关操作非常方便快捷
- 前言模块在其自身的作用域里执行,而不是在全局作用域里;这意味着定义在一个模块里的变量,函数,类等等在模块外部是不可见的,除非你明确地使用ex
- 在修改后的文字后面加上: self.textEdit_6.moveCursor(QTextCursor.End)例子:self.textEd
- 你好,一般情况下,Ctrl+C 是最简单的方法,当无法 Ctrl+C 时,我们借助于 Python,以下是具体步骤:第一步,安装工具库1、t
- 本文实例为大家分享了js拖拽实现图形伸缩效果的具体代码,供大家参考,具体内容如下点击矩形的四个角和四个边实现不同的效果<!DOCTYP
- 安装pyinstallerpip install pyinstaller制作项目的.spec文件 进入django项目所在路径,
- 1.在python中excel的简单读写操作,推荐使用xlrd(特别是读操作) 2.到http://pypi.python.org/pypi
- 关于react与vue中的key之前在学习react的时候,常常遇到循环渲染组件时会提示需要在循环组件中加上key属性,比如有一组列表:im