Я новичок в Python и пытаюсь сканировать несколько IP-адресов с помощью fping. У меня есть большое количество серверов для мониторинга статистики, и я мог бы написать следующий код, который работает для 2 хостов:
import subprocess
import binascii
out = ''
err = ''
host1 = '172.2.2.5'
host2 = '172.1.5.8'
hosts = '/tmp/ip.list'
ping = subprocess.Popen(['fping', '-C', '10', '-b', '50', '-p', '25', host1, host2], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
try:
[out, err] = ping.communicate(timeout=15)
print('STDOUT')
print(out.decode('utf-8').strip())
print('STDERR (Statistics)')
print(err.decode('utf-8').strip())
except subprocess.TimeoutExpired:
print('STDERR (expired timeout)')
Однако я не могу заменить два хоста списком файлов хостов, хотя я пробовал несколькими способами.
Я был бы очень признателен за любую помощь в этом отношении или любые улучшения в самой программе.
ТИА.