Skip to content

Aplicação voltada para a área da Segurança da Informação. Consiste em um scanner de portas que verifica quais destas estão ativas.

License

Notifications You must be signed in to change notification settings

werdelesmarcio/iPyScan

Logo

CircleCI Maintainability Build status Bugs Lines of Code Vulnerabilities GitHub License GitHub commits since latest release

iPyScan (Version 1.0.26)

Trata-se de uma aplicação voltada principalmente para sistemas GNU/Linux (embora o interpretador Python 3 no Windows também execute a aplicação normalmente), com o objetivo de realizar a varredura de portas. A aplicação verifica quais portas estão abertas em um intervalo de portas fornecido por argumentos, retornando OPEN em caso positivo. Os argumentos fornecidos consistem no endereço do host ou IP do alvo a ser analisado, seguido do intervalo de portas inicial e final.

OBS.: Se o objetivo for escanear apenas uma porta, basta fornecer o mesmo valor para os dois últimos parâmetros.

Estrutura do projeto:

iPyScan/
│
├── utils/
│   ├── __init__.py          # Torna utils um pacote Python
│   ├── banner.py            # Contém a função banner()
│
├── scanner/
│   ├── __init__.py          # Torna scanner um pacote Python
│   ├── input_validation.py  # Contém validação de argumentos
│   ├── network_utils.py     # Contém as funções de rede como `connect` e `resolve_target`
│   ├── port_scanner.py      # Contém a função de escaneamento `scan_ports`
│
├── main.py                  # Arquivo principal que faz a execução do código
└── README.md                # Descrição do projeto (opcional)

Funcionalidades

Estas são as instruções para obter uma cópia do iPyScan em sua máquina para fins de desenvolvimento ou uso:

  1. Faça o download ou clone o repositório em sua máquina e descompacte-o no local de sua preferência.
    • Não é necessário instalar o iPyScan.
    • Se for utilizá-lo como executável, lembre-se de conceder permissão de execução (caso esteja usando uma distribuição GNU/Linux).
    • O sistema foi ajustado para garantir funcionalidade multiplataforma.
  2. Para executar o projeto, atente-se às seguintes dependências:
    • Ter o interpretador Python, versão 3.xx, e o pip3 instalados em sua máquina.
    • Instalar as dependências listadas no arquivo requirements.txt.
    • Se estiver utilizando uma distribuição Linux, recomenda-se realizar o update e o upgrade do sistema antes de rodar o projeto.

Permissões (usuários GNU/Linux)

# Para dar permissão de execução.
sudo chmod +x ipyscan.py

Rodando localmente

# Clone o projeto
  git clone https://github.com/werdelesmarcio/iPyScan.git

# Entre no diretório do projeto
  cd iPyScan

# Instale as dependências
  pip3 install requirements.txt

# Inicie a aplicação. Para executar a aplicação deve passar o argumento com o host do alvo, a porta inicial e a porta final. 
# Linux
  python3 ipyscan.py [target] [init_port] [final_port]

# Windows
  python3.exe ipyscan.py [target] [init_port] [final_port]

Screenshot

Example

Melhorias

  1. Modularização por responsabilidade: Cada módulo contém funções que desempenham tarefas específicas:

    • banner.py: Apenas exibe o banner.
    • input_validation.py: Valida os argumentos de entrada.
    • network_utils.py: Funções relacionadas a redes (conexão e resolução de nomes).
    • port_scanner.py: Função que executa o loop de escaneamento.
  2. Facilidade de manutenção: Agora o código está dividido em partes menores e mais fáceis de gerenciar. Se houver alguma mudança na lógica de rede, por exemplo, ela ficará confinada ao arquivo network_utils.py.

  3. Reuso de código: Caso queira usar o código de conexão em outro projeto, basta importar o módulo adequado (network_utils) sem precisar alterar o código principal.

  4. Legibilidade: Com funções bem definidas e módulos organizados, o código se torna mais legível e fácil de entender para outras pessoas que venham trabalhar nele.

    Agora, cada arquivo é responsável por uma parte do código, o que melhora bastante a organização do projeto!

Licença

Este projeto está sob Licença GPL-3.0. Para mais informações, consulte a documentação de licença no link abaixo.

Colaboradores

Um praise para os cúbicos que contribuíram neste projeto 👏


Werdeles Soares

💻 Desenvolvedor

Fabi Gonçalves

👨‍💻 Colaboradora

Matheus Oliveira

👨‍💻 Colaborador

Ronayrton

👨‍💻 Colaborador

Como contribuir para o projeto

Caso tenha alguma dúvida confira este guia de como contribuir no GitHub

Contatos

Se quiser entrar em contato, crie um issue no GitHub ou envie um e-mail para [email protected]. Obrigado!

linkedin GitHub last commit GitHub contributors

About

Aplicação voltada para a área da Segurança da Informação. Consiste em um scanner de portas que verifica quais destas estão ativas.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages