Какие есть библиотеки для Python для сетевых проверок? Привет!
Сделал скрипт, который с узла А проверяет сетевую доступность узла Б, отправляет результат в БД, а там уже выводится всё в графану. Реализованы проверки доступности портов через socket.
Собственно вопрос : есть ли в python библиотеки, которые осуществляют проверку доступности по ICMP, проверку потери пакетов (Loss) и время передачи пакета (ms) ? Сейчас эти параметры проверяю через subprocess ping , просто парсинг вывода и код ответа для ICMP, но мне видится такая реализация костыльной, наверняка есть написанные инструменты для подобных проверок. В гугле не нашёл...

23 Окт 2019 в 20:15
246 +1
0
Ответы
1

Да, существует библиотека scapy для Python, которая позволяет создавать и отправлять пользовательские сетевые пакеты, включая ICMP пакеты. С помощью этой библиотеки вы сможете реализовать проверку доступности по ICMP, проверку потерь пакетов и время передачи пакета.

Вот пример использования scapy для отправки ICMP пакетов и получения ответов:

from scapy.all import *
import time
def icmp_ping(host):
pkt = IP(dst=host) / ICMP()
start_time = time.time()
reply = sr1(pkt, timeout=1)
if reply:
end_time = time.time()
delay = (end_time - start_time) * 1000
print(f"{host} is reachable - Round trip time: {delay} ms")
else:
print(f"{host} is unreachable")
icmp_ping('google.com')

Пожалуйста, убедитесь, что у вас установлена библиотека scapy перед использованием данного кода. Вы можете установить ее с помощью pip:

pip install scapy
19 Апр 2024 в 09:48
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир