Ping Python - проверка доступности сетевых узлов с помощью Python
Ping-запрос в Python можно выполнить с помощью модуля `subprocess`. Этот модуль позволяет запустить команду в терминале и получить ее вывод. Для выполнения ping-запроса есть несколько вариантов в зависимости от операционной системы. Рассмотрим случай для Windows и Linux.
Для выполнения ping-запроса в Windows можно использовать команду `ping` вместе с IP-адресом или доменным именем. Пример кода для Windows будет выглядеть следующим образом:
python
import subprocess
def ping(host):
try:
subprocess.check_output(['ping', '-n', '1', host], shell=True)
return True
except subprocess.CalledProcessError:
return False
# Пример использования
ip_address = '8.8.8.8'
result = ping(ip_address)
if result:
print(f'Устройство {ip_address} доступно')
else:
print(f'Устройство {ip_address} недоступно')
В данном примере функция `ping` принимает в качестве параметра IP-адрес или доменное имя и выполняет ping-запрос к указанному узлу. Если узел доступен, функция возвращает `True`, в противном случае возвращает `False`. Затем мы вызываем эту функцию с IP-адресом 8.8.8.8 (Google Public DNS) и выводим соответствующее сообщение.
Для выполнения ping-запроса в Linux можно использовать команду `ping` вместе с IP-адресом или доменным именем. Пример кода для Linux будет выглядеть следующим образом:
python
import subprocess
def ping(host):
try:
subprocess.check_output(['ping', '-c', '1', host], shell=True)
return True
except subprocess.CalledProcessError:
return False
# Пример использования
ip_address = '8.8.8.8'
result = ping(ip_address)
if result:
print(f'Устройство {ip_address} доступно')
else:
print(f'Устройство {ip_address} недоступно')
Этот пример аналогичен предыдущему, только используется опция `-c` вместо `-n` для указания количества отправляемых пакетов. В остальном код идентичен и позволяет выполнить ping-запрос к указанному узлу и вывести соответствующее сообщение.