# Execute um teste de conectividade com um único destino da rede, utilizando o comando ping do sistema operacional. # O aluno deve solicitar ao usuário um IP ou nome de host, montar o comando com os.system() e informar se o destino respondeu ou não. import os # O módulo os (Operating System) permite que o Python interaja com o sistema operacional. # Neste script, ele será usado para enviar o comando de "ping" diretamente para o terminal do seu computador. import platform # Este módulo serve para obter informações sobre o hardware e o sistema operacional em que o script está rodando. # Ele será crucial para sabermos se você está usando Windows, Linux ou macOS. import utilidades # Esta não é uma biblioteca padrão do Python. # Trata-se de um módulo personalizado (provavelmente um arquivo chamado utilidades.py criado por quem fez o código original e salvo na mesma pasta). # Ele contém funções criadas pelo usuário. endereco = input("Digite um endereço IP: ") if not utilidades.validar_ip(endereco): print("O endereço IP é inválido!") else: print(f"\n IP Validado! Testando conectividade para {endereco}...\n") parametro = '-n' if platform.system().lower() == 'windows' else '-c' # A segunda linha é uma jogada muito inteligente e comum em redes. # O comando ping funciona diferente dependendo do sistema: # No Windows, para dar apenas 1 ping, usamos o parâmetro -n 1 (number). # No Linux/macOS, usamos -c 1 (count). # platform.system().lower() == 'windows': Ele pergunta ao seu computador qual é o sistema. # Se a resposta for 'windows', a variável parametro recebe -n. Se não for (seja Linux, macOS, etc.), ela recebe -c. comando = f"ping {parametro} 1 {endereco}" codigo_retorno = os.system(comando) # É aqui que a mágica acontece. O Python pega aquele texto e executa no terminal da sua máquina, como se você mesmo tivesse digitado. # Quando um comando de terminal termina, ele devolve um número para o sistema, chamado de Exit Code (Código de Retorno): # 0 (Zero): Significa "Sucesso". O comando rodou perfeitamente (ou seja, o IP respondeu ao ping). # Qualquer número diferente de 0 (ex: 1 ou 2): Significa que houve um erro (o IP está offline ou inacessível). # Esse número é guardado na variável codigo_retorno. print("\n" + "-" * 40) if codigo_retorno == 0: print(f" SUCESSO: O IP '{endereco}' está ONLINE e respondeu.") else: print(f" FALHA: O IP '{endereco}' está OFFLINE ou não respondeu.") print("-" * 40)