Python利用pythonping處理ping的示例詳解
簡介
ping (Packet Internet Groper)是一種因特網包探索器,用于測試網絡連接量的程序 。Ping是工作在 TCP/IP網絡體系結構中應用層的一個服務命令, 主要是向特定的目的主機發(fā)送 ICMP(Internet Control Message Protocol 因特網報文控制協(xié)議)Echo 請求報文,測試目的站是否可達及了解其有關狀態(tài)。ping用于確定本地主機是否能與另一臺主機成功交換(發(fā)送與接收)數(shù)據包,再根據返回的信息,就可以推斷TCP/IP參數(shù)是否設置正確,以及運行是否正常、網絡是否通暢等。
歷史攻略
Ping命令可以進行以下操作
1、通過將ICMP(Internet控制消息協(xié)議)回顯數(shù)據包發(fā)送到計算機并偵聽回顯回復數(shù)據包來驗證與一臺或多臺遠程計算機的連接。
2、每個發(fā)送的數(shù)據包最多等待一秒。
3、打印已傳輸和接收的數(shù)據包數(shù)。
需要注意的是,Ping成功并不一定就代表TCP/IP配置正確,有可能還要執(zhí)行大量的本地主機與遠程主機的數(shù)據包交換,才能確信TCP/IP配置的正確性。如果執(zhí)行ping成功而網絡仍無法使用,那么問題很可能出在網絡系統(tǒng)的軟件配置方面,ping成功只保證當前主機與目的主機間存在一條連通的物理路徑。
安裝
pip install pythonping
案例源碼1
os模塊的下ping的方式,易造成執(zhí)行堵塞,并且提取比較繁瑣。
# -*- coding: utf-8 -*-
# time: 2022/7/31 11:26
# file: main.py
# 公眾號: 玩轉測試開發(fā)
import os
cmd = "ping www.baidu.com"
message = os.system(cmd)
print("*" * 100)
print(message)
案例源碼2
pythonping模塊處理ping,無堵塞現(xiàn)象,并且易于提取。
# -*- coding: utf-8 -*-
# time: 2022/11/18 11:26
# file: ping-demo.py
# 公眾號: 玩轉測試開發(fā)
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")
執(zhí)行2結果:

即:通過pythonping的結果有2個,通: 回復字節(jié) Reply bytes,不通:請求超時 Request timed out,來快速判斷ping的結果,從而快速得到結果。
到此這篇關于Python利用pythonping處理ping的示例詳解的文章就介紹到這了,更多相關Python pythonping處理ping內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python Loguru日志封裝裝飾器實現(xiàn)過程
這篇文章主要介紹了Python Loguru日志封裝裝飾器實現(xiàn)過程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03
pycharm中導入模塊錯誤時提示Try to run this command from the system ter
這篇文章主要介紹了pycharm中導入模塊錯誤時提示Try to run this command from the system terminal問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03

