многократный пинг для хостов с использованием python с linux

#python #linux #networking #ping

Вопрос:

У меня есть несколько вопросов. Я нахожусь в Linux, и мне нужно проверить пинг для 254 ПК сразу, например, с помощью python :

У меня есть IP-адрес 10.1.1.1 … 10.1.1.254, и все, что мне нужно, это проверить, успешно ли я подключился к этому компьютеру с помощью python.

таким образом, общий объем производства должен быть :

пк 10.1.1.1 Пингует

пк 10.1.1.2 Не Пингует

пинг ПК 10.1.1.3

Так далее до 10.1.1.254

Ответ №1:

 import subprocess


ips = ["192.168.1.{}".format(i) for i in range(1,255)]
mainList = set()
def ping(ips):
    for num,i in enumerate(ips):
        print(f'Searching Host {i}    Itration Number {num}')
        try:
            p = subprocess.Popen(['ping', '-c1', i], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
            p.communicate(timeout=(0.1))
        except subprocess.TimeoutExpired:
            pass
        else:
            print(f'***Host found - Add to array***')
            mainList.add(i)
    print(mainList)

ping(ips)