import os, re
received_packages = re.compile(r"(\d) received")
status = ("no response",
"alive but losses",
"alive")
for suffix in range(20,30):
ip = "192.168.178."+str(suffix)
ping_out = os.popen("ping -q -c2 "+ip,
"r")
print("... pinging ", ip)
while True:
line = ping_out.readline()
if not line: break
n_received = received_packages.findall(line)
if n_received:
print(ip + ": " + status[int(n_received[0])])
output:
... pinging 192.168.178.20
192.168.178.20: no response
... pinging 192.168.178.21
192.168.178.21: no response
... pinging 192.168.178.22
192.168.178.22: alive
... pinging 192.168.178.23
192.168.178.23: no response
... pinging 192.168.178.24
192.168.178.24: no response
... pinging 192.168.178.25
192.168.178.25: no response
... pinging 192.168.178.26
192.168.178.26: no response
... pinging 192.168.178.27
192.168.178.27: alive
... pinging 192.168.178.28
192.168.178.28: no response
... pinging 192.168.178.29
192.168.178.29: no response