Python ping 服务器
Muhammad Waiz Khan
2023年1月30日
-
在 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"))