Este projeto apresenta um port scanner simples implementado em Python. O script realiza uma varredura de portas TCP em um alvo especificado e tenta identificar portas abertas, exibindo — quando disponível — o protocolo, serviço e descrição associados a cada porta a partir de um CSV. A interface é por linha de comando, o que torna o código fácil de integrar em demonstrações, vídeos e protótipos.
Detectar portas TCP abertas em um host (endereço IP ou hostname) e correlacionar cada porta encontrada com uma breve descrição retirada de um arquivo ports_services.csv. Ideal para demonstrações educativas sobre redes e segurança, e para automatizar verificações básicas em ambientes controlados.
O script é executado com três argumentos:
A função abre_arquivo_csv(nome_arquivo) abre ports_services.csv e monta uma lista de tuplas (porta, protocolo, serviço, descricao) apenas para linhas válidas.
O código ignora linhas com menos de 4 colunas ou com porta não numérica.
Para cada porta no intervalo especificado, o código cria um socket TCP (socket.AF_INET, socket.SOCK_STREAM)e tenta conectar ao par (alvo, porta) usando connect_ex().
connect_ex() retorna 0 quando a conexão foi bem-sucedida → a porta está aberta.
Em caso de porta aberta, o scanner procura na lista carregada do CSV uma correspondência para aquela porta e imprime uma linha formatada com Porta X esta aberta | Protocolo | Serviço | Descrição. Se a porta não estiver no CSV, imprime Desconhecido.
Cada socket recebe timeout de 0.5 segundos (s.settimeout(0.5)), reduzindo o tempo total da varredura.
O socket é fechado no bloco finally para garantir liberação de recursos.
O script assume que ports_services.csv tem, por linha, pelo menos 4 colunas (separadas por vírgula):
Segurança/ética: varrer portas de hosts que você não possui ou não tem autorização é intrusivo e pode ser considerado atividade maliciosa. Este script apenas deve ser usado em redes e máquinas de sua responsabilidade ou com permissão explícita.