Python ping 服务器
Muhammad Waiz Khan
2023年1月30日
Python
Python Network
-
在 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"))
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe