Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 2, 2017 09:59:38

kiso
Зарегистрирован: 2017-01-02
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка на служб на активность

Здравствуйте, есть несколько локальных сетей, не связанных между собой, но есть интернет, в которых мне нужно проверять на доступность службы по определенному порту.
Подскажите как лучше это реализовать на питоне?

Сейчас делаю на сокетах, сервер ждет подключение ему передает клиент строку о том жива служба или нет.
Думаю о таком варианте ftp на который будут загружать txt данными проверки, а сервером забирать эти данные и анализировать

Офлайн

#2 Янв. 2, 2017 10:09:43

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проверка на служб на активность

kiso

kiso
нужно проверять на доступность службы по определенному порту.
Не очень понятно, какой процесс открывает порт? Если сама служба, по мне кажется достаточно будет проверить доступность порта с помощью nmap или telnet или как-то еще.



Офлайн

#3 Янв. 2, 2017 10:38:10

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проверка на служб на активность

Вообще, задача админская, программировать тут ничего не надо. Вот, например, инструкция, как мониторить службы заббиксом http://www.ekzorchik.ru/2016/04/how-to-monitor-the-work-of-the-service-by-zabbix/



Офлайн

#4 Янв. 2, 2017 11:14:37

kiso
Зарегистрирован: 2017-01-02
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка на служб на активность

FishHook
kiso
Да я проверяю открытость порта 8080.
Заббикс отличный инструмент, что-то на подобие его я и реализую на питоне, для себя.
Прошу вашего совета как принимать данные о состоянии портов от сетей.

Офлайн

#5 Янв. 2, 2017 11:28:56

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проверка на служб на активность

Если у вас должен быть открыт TCP-порт и вы хотите это проверить, логичным будет попробовать в него постучаться.

   
import socket
TCP_IP = "127.0.0.1"
TCP_PORT = 8080
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
    s.connect((TCP_IP, TCP_PORT))
except socket.error:
    print("Not available")
else:
    print("Available")
finally:
    s.close()



Отредактировано FishHook (Янв. 2, 2017 11:30:28)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version