我们可以使用Python的os和subprocess库来执行ping命令并获取主机的状态(UP或DOWN)。以下是代码示例:
import subprocess
# 一个IP地址列表
ip_addresses = ['192.168.1.1', '8.8.8.8', '10.0.0.1']
# 循环ping每个IP地址并检查其状态
for ip in ip_addresses:
ping_output = subprocess.Popen(["ping", "-n", "1", "-w", "200", ip], stdout=subprocess.PIPE).stdout.read()
# 检查ping的结果是否包含"Reply from",如果是则主机是UP,否则是DOWN。
if "Reply from" in str(ping_output):
print(ip + " is UP")
else:
print(ip + " is DOWN")
在这个示例中,我们使用了subprocess库来执行ping命令,并将"Reply from"与该ping命令的输出进行比较,以确定主机的状态(UP或DOWN)。根据比较的结果,将打印出相应的结果。