Python利用pythonping處理ping的示例詳解
簡(jiǎn)介
ping (Packet Internet Groper)是一種因特網(wǎng)包探索器,用于測(cè)試網(wǎng)絡(luò)連接量的程序 。Ping是工作在 TCP/IP網(wǎng)絡(luò)體系結(jié)構(gòu)中應(yīng)用層的一個(gè)服務(wù)命令, 主要是向特定的目的主機(jī)發(fā)送 ICMP(Internet Control Message Protocol 因特網(wǎng)報(bào)文控制協(xié)議)Echo 請(qǐng)求報(bào)文,測(cè)試目的站是否可達(dá)及了解其有關(guān)狀態(tài)。ping用于確定本地主機(jī)是否能與另一臺(tái)主機(jī)成功交換(發(fā)送與接收)數(shù)據(jù)包,再根據(jù)返回的信息,就可以推斷TCP/IP參數(shù)是否設(shè)置正確,以及運(yùn)行是否正常、網(wǎng)絡(luò)是否通暢等。
歷史攻略
Ping命令可以進(jìn)行以下操作
1、通過(guò)將ICMP(Internet控制消息協(xié)議)回顯數(shù)據(jù)包發(fā)送到計(jì)算機(jī)并偵聽(tīng)回顯回復(fù)數(shù)據(jù)包來(lái)驗(yàn)證與一臺(tái)或多臺(tái)遠(yuǎn)程計(jì)算機(jī)的連接。
2、每個(gè)發(fā)送的數(shù)據(jù)包最多等待一秒。
3、打印已傳輸和接收的數(shù)據(jù)包數(shù)。
需要注意的是,Ping成功并不一定就代表TCP/IP配置正確,有可能還要執(zhí)行大量的本地主機(jī)與遠(yuǎn)程主機(jī)的數(shù)據(jù)包交換,才能確信TCP/IP配置的正確性。如果執(zhí)行ping成功而網(wǎng)絡(luò)仍無(wú)法使用,那么問(wèn)題很可能出在網(wǎng)絡(luò)系統(tǒng)的軟件配置方面,ping成功只保證當(dāng)前主機(jī)與目的主機(jī)間存在一條連通的物理路徑。
安裝
pip install pythonping
案例源碼1
os模塊的下ping的方式,易造成執(zhí)行堵塞,并且提取比較繁瑣。
# -*- coding: utf-8 -*- # time: 2022/7/31 11:26 # file: main.py # 公眾號(hào): 玩轉(zhuǎn)測(cè)試開(kāi)發(fā) import os cmd = "ping www.baidu.com" message = os.system(cmd) print("*" * 100) print(message)
案例源碼2
pythonping模塊處理ping,無(wú)堵塞現(xiàn)象,并且易于提取。
# -*- coding: utf-8 -*- # time: 2022/11/18 11:26 # file: ping-demo.py # 公眾號(hào): 玩轉(zhuǎn)測(cè)試開(kāi)發(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結(jié)果:
即:通過(guò)pythonping的結(jié)果有2個(gè),通: 回復(fù)字節(jié) Reply bytes,不通:請(qǐng)求超時(shí) Request timed out,來(lái)快速判斷ping的結(jié)果,從而快速得到結(jié)果。
到此這篇關(guān)于Python利用pythonping處理ping的示例詳解的文章就介紹到這了,更多相關(guān)Python pythonping處理ping內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在jupyter notebook 添加 conda 環(huán)境的操作詳解
這篇文章主要介紹了在jupyter notebook 添加 conda 環(huán)境的操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04pyqt 實(shí)現(xiàn)為長(zhǎng)內(nèi)容添加滑輪 scrollArea
今天小編就為大家分享一篇pyqt 實(shí)現(xiàn)為長(zhǎng)內(nèi)容添加滑輪 scrollArea,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06將python flask項(xiàng)目打包成可以運(yùn)行的軟件的全過(guò)程(包含報(bào)錯(cuò)解決)
這篇文章主要給大家介紹了將python flask項(xiàng)目打包成可以用運(yùn)行的軟件(包含報(bào)錯(cuò)解決),文中通過(guò)代碼示例和圖文結(jié)合講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-02-02Python使用Selenium進(jìn)行Web自動(dòng)化測(cè)試
Selenium 是一個(gè)用于 Web 應(yīng)用自動(dòng)化測(cè)試的強(qiáng)大工具,可以用來(lái)模擬用戶操作瀏覽器,從而測(cè)試 Web 應(yīng)用的功能,它支持多種瀏覽器和編程語(yǔ)言,包括 Python,下面我們將介紹如何使用 Selenium 進(jìn)行 Web 自動(dòng)化測(cè)試,需要的朋友可以參考下2024-08-08解讀opencv中cv2.imread()返回值為None問(wèn)題及解決
這篇文章主要介紹了解讀opencv中cv2.imread()返回值為None問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11python+tkinter實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python+tkinter實(shí)現(xiàn)學(xué)生管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08