Python ping 伺服器
Muhammad Waiz Khan
2023年1月30日
2021年2月28日
-
在 Python 中使用
subprocess.call()
方法對伺服器進行 ping -
在 Python 中使用
os.system()
方法 ping 伺服器 -
在 Python 中使用
ping3.ping()
函式執行 Ping 伺服器命令
本教程將解釋在 Python 中使用 Internet 控制訊息協議(ICMP)ping 伺服器的各種方法。Ping 用於檢查一個特定的伺服器在網際網路協議上是否可用。它測量訊息到達目的地(伺服器)和伺服器響應到達源的時間。
在 Python 中使用 subprocess.call()
方法對伺服器進行 ping
subprocess.call(command)
方法將 command
作為輸入並執行它。如果命令執行成功,則返回 0
。
ping 伺服器的命令對於 Unix 來說是 ping -c 1 host_address
,對於 Windows 來說是 ping -n 1 host_address
,其中 1
是資料包的數量,host_address
是我們要 ping 的伺服器地址。
我們可以先用 platform.system()
方法檢查機器的作業系統,然後執行相應的命令。下面的示例程式碼演示瞭如何使用 subprocess.call()
方法在 Python 中執行 ping 伺服器的命令。
import platform
import subprocess
def myping(host):
parameter = '-n' if platform.system().lower()=='windows' else '-c'
command = ['ping', parameter, '1', host]
response = subprocess.call(command)
if response == 0:
return True
else:
return False
print(myping("www.google.com"))
在 Python 中使用 os.system()
方法 ping 伺服器
os.system(command)
方法將 command
(一個字串)作為輸入,並在子殼中執行。如果命令執行時沒有任何錯誤,該方法返回 0
。
我們可以用下面的方式使用 os.system()
方法來執行 ping 伺服器命令。
import os
def myping(host):
response = os.system("ping -c 1 " + host)
if response == 0:
return True
else:
return False
print(myping("www.google.com"))
在 Python 中使用 ping3.ping()
函式執行 Ping 伺服器命令
ping3
模組的 ping(addr)
函式將伺服器地址作為輸入,如果伺服器可用,則返回 ping 時間作為輸出,如果伺服器不可用,則返回 False
。
我們可以用 root
許可權安裝 ping3
模組。
pip install ping3
我們可以將伺服器地址傳給 ping()
方法來 ping 伺服器。
from ping3 import ping
def myping(host):
resp = ping(host)
if resp == False:
return False
else:
return True
print(myping("www.google.com"))