Python é uma linguagem de programação versátil que você pode usar para escrever diferentes tipos de aplicativos baseados em GUI e CLI. Se você é novo no Python, não há melhor maneira de reforçar seu aprendizado do que trabalhando em miniprojetos.

Um ótimo exemplo de projeto Python para escrever é um ping sweeper, um pequeno utilitário que inspeciona hosts de rede. Este script cobrirá conceitos fundamentais de programação, incluindo instruções de impressão, loops e funções.

O que é um varredor de ping?

Um varredor de ping é um programa que aceita um endereço de rede como entrada, pinga os hosts na rede e gera a lista de hosts vivos e mortos. É uma maneira fácil de estimar o número de hosts online em sua rede e descobrir seus endereços IPv4.

Como iniciante, criar um varredor de ping é uma ótima maneira de aprimorar seus conceitos básicos de Python. Este mini-projeto prático também atualizará sua compreensão sobre fundamentos de rede.

Pré-requisitos para o seu Ping Sweeper

Antes de iniciar o processo de desenvolvimento, certifique-se de ter a versão mais recente do Python em seu sistema.

instagram viewer

Verifique se você pode executar o Python digitando este comando no prompt de comando (para usuários do Windows) ou no terminal (para sistemas UNIX/Linux) e pressionando Digitar:

python --versão

Em alguns sistemas, pode ser necessário executar:

python3 --versão

Este comando deve retornar a versão do Python instalada em seu sistema. Se ele retornar um erro semelhante a "python not found", você deve instale o Python3 e, em seguida, prossiga com as etapas a seguir.

Codificando o Ping Sweeper

Existem várias abordagens para construir este script. Alguns exigiriam que você instalasse e importasse vários módulos. Aqui, você adotará uma abordagem minimalista que não possui dependências externas além da crucial módulo OS.

Antes de começar a codificar, divida os requisitos para entender melhor qual funcionalidade você precisará implementar. Existem três partes neste script:

  1. Aceite o endereço IP de entrada.
  2. Extraia o ID de rede do endereço IP.
  3. Itere sobre todos os hosts na rede e imprima se um host está morto ou vivo.

Agora que você tem uma visão clara do fluxo de trabalho, vamos começar a programar.

Aceitando e Processando a Entrada

A primeira parte do script lida com a aceitação de entrada do usuário e a redução desse endereço IPv4 aos três primeiros octetos. Isso nos dá o ID da rede:

importar SO

IP = input("[+] Digite o endereço IP do host:\t")
print("[+] Iniciando Ping Sweeper em " + IP)
ponto = IP.rfind(".")
IP = IP[0:ponto + 1]

o entrada() função aceita entrada do usuário. Você pode usar uma string rfind() método para extrair o índice da última ocorrência do ponto decimal e armazená-lo no ponto variável. Continue retendo tudo, desde a entrada até a ocorrência mais à direita de um ponto decimal.

Digitalizando os Hosts e Imprimindo o Status do Host

Você derivou o endereço de rede do IP de entrada. Agora você pode percorrer todos os valores possíveis para o octeto IPv4 final: 1–254. Dentro do loop for, armazene o novo IP no hospedeiro variável. Este IP é o IP base seguido pelo valor da variável do iterador. Em seguida, utilize o os.system() método para executar o ping comando contra o hospedeiro variável.

por eu dentro variar(1, 255):
host = IP + str (i)
resposta = os.system("ping -c 1 -W 1 " + host + " >/dev/null")

E se resposta == 0:
imprimir (host + " é acima")
senão:
imprimir (host + " é baixa")

Teste o resposta valor contra 0 para determinar o status do host e decidir se está online ou offline. Se o ping encontrar um host que não responde, ele retornará um valor diferente de zero. Caso contrário, ele retorna zero para indicar um host que ele pode alcançar.

Você pode adicionar o c bandeira e W sinalizador, com valores de 1, para o comando ping original. Isso faz com que ele envie apenas um pacote e espere um segundo para receber uma resposta. Sua versão do ping pode ou não suportar essas opções; consulte a página de manual do ping para verificar.

Você também deve redirecionar a saída para /dev/null para ocultar os detalhes da saída do ping. Observe que a sintaxe ping e /dev/null é compatível apenas com sistemas Unix ou Linux. Você pode executar este script no Windows substituindo o c bandeira com n e >/dev/null com >nulo.

Executando o script Ping Sweeper

Você pode executar este script no terminal ou por meio de um prompt de comando. Abra um terminal, vá para o local do script e execute-o com python3:

cd /directory/sweeper/
python3 sweeper.py

Insira um endereço IPv4 ou uma sub-rede no terminal e o varredor de ping deve funcionar e retornar a saída esperada.

Ideias interessantes de projetos para Python

O aprendizado prático é sem dúvida a melhor e mais rápida maneira de aprender uma linguagem de programação. Quanto mais projetos você trabalhar, mais você entenderá conceitos, desenvolverá habilidades essenciais e entenderá como resolver problemas.

Se você tiver poucas ideias de projetos para trabalhar, confira esta lista com curadoria das melhores ideias de projetos para Python.