Ping scan em python

07/12/2022

0

Boa tarde pessoal, estou criando um simples interface gráfica! presciso de uma ajudar para criar um função que me retorna um ping dizendo que um host da rede interna está online ou offline!

[code=python][/import requests
from tkinter import *
import os
from awesometkinter import *


def sim(): # função de liberação do computador
texto = 'Você está liberado para utlizador o computador!'
botao3["text"] = (texto)
print('no')
janela.after(3000, sair)

def sair(): # função de fechar a janela
janela.destroy()


def sair1(): # função de fechar a janela e delisgar o computador
os.system("shutdown /s /t 60")
janela.destroy()

def não(): # função de desligamento do computador
texto = 'Este computador será desligado em até 1m.'
botao3["text"] = (texto)
janela.after(6000, sair1)


def pingtest():
ping = os.system('ping -n 2 192.168.237.127')
if ping == 0:
texto = 'O servidor está conectado!'
botao3['text'] = (texto)
janela.after(3000)
else:
texto = 'O servidor está desconectado!'
botao3['text'] = (texto)


janela = Tk() # config da janela
janela.title('Aviso!') # config da janela

# texto principal
texto_orientacao = Label(janela, font='bold' ,text='Para iniciar este computador e necessário que o servidor esteja conectado!, para o funcionamento correto dos sistemas da empresa!')
texto_orientacao.grid(column=0, row=0)

# texto secundário
texto_orientacao2 = Label(janela, font='bold' ,text='O servidor está conectado?')
texto_orientacao2.grid(column=0, row=3)

# botão de sim
botao = Button3d(janela, text='Está conectado!', command=sim, bg='#68B984')
botao.grid(column=0, row=5, columnspan=1, sticky=E) # sticky='w'

# botão de não
botao2 = Button3d(janela, text='Não esta conectado!', command=não, bg='#DC3535')
botao2.grid(column=0, row=5, sticky=W) # sticky='e'

# botão de ping
botao2 = Button3d(janela, text='Clique para ver se o servidor está conectado!', command=pingtest, bg='#FFE15D')
botao2.grid(column=0, row=4, pady=10) # sticky='e'

# texto de reposta aos botões (sim, não)
texto_opt = Label(janela, text='')
texto_opt.grid(column=0, row=2)

# texto de resposta botão (ping)
botao3 = Label(janela, font='Bold', text='')
botao3.grid(column=0, row=5, padx=120, columnspan=1)

janela.mainloop()]

A questão em si está na função 'pingtest', quando eu mando um ping e o host me retorna = dizendo que está online, ele me envia o parametro '0', pórem quando ele está offline ele também me retorna as vezes o parametro '0', tem alguma forma ou parametro que eu posso utilizar?
Walter Grião

Walter Grião

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar