Skip to main content

Scanner de portas TCP com banner grabbing

Project description

Logo

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

iPyScan

iPyScan é um scanner de portas TCP moderno escrito em Python 3. Ele oferece suporte a varredura multithread, captura de banners de serviços, exportação em JSON/CSV e uma interface de linha de comando completa.

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:

PyScan/
├── ipyscan/                       # Pacote principal renomeado
│   ├── main.py                    # Permite rodar com python -m ipyscan
│   ├── scanner/
│   │   └── input_validation.py
│   │   └── network_utils.py
│   │   └── port_scanner.py
│   ├── utils/
│   │   └── banner.py
│   │   └── exporter.py
│   └── ipyscan.py                 # Renomeie como ipyscan/main.py
├── tests/
│   └── test_core.py
├── pyproject.toml                 # Configuração moderna
├── setup.cfg                      # Metadados do projeto
├── README.md
├── LICENSE                        # MIT ou GPL

banner status


🚀 Funcionalidades

  • ✅ Escaneamento de portas TCP (com multithread)
  • ✅ Captura de banner de serviços (HTTP, FTP, SSH, etc)
  • ✅ Exportação em JSON ou CSV
  • ✅ Interface via argparse
  • ✅ Testes automatizados com unittest
  • ✅ Pronto para instalação via pip

📦 Instalação local

git clone https://github.com/werdelesmarcio/ipyscan.git
cd ipyscan
pip install .

⚖️ Uso básico

ipyscan --target 127.0.0.1 --ports 20-80 --threads 100 --output json

Argumentos

Flag Descrição Exemplo
--target IP ou hostname do alvo 127.0.0.1
--ports Faixa de portas (ex: 20-80) 20-100
--threads Número de threads (default: 100) --threads 200
--output Formato de exportação json ou csv

📅 Exemplo de Saída JSON

[
  {
    "port": 22,
    "banner": "SSH-2.0-OpenSSH_8.4"
  },
  {
    "port": 80,
    "banner": "HTTP/1.1 200 OK"
  }
]

💡 Roadmap de melhorias

  • Banner grabbing com heurísticas por porta
  • Testes automatizados com unittest
  • Exportação JSON/CSV
  • Ajuda CLI detalhada com --help
  • Banner seguro com subprocess
  • Scan UDP
  • Modo silencioso --quiet
  • Interface web (Flask ou GUI)

🌐 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.


🚀 Contribuição

Pull requests são bem-vindos! Para grandes mudanças, abra uma issue antes.


Desenvolvido por Werdeles Marcio - 2025

Screenshot

Example

Colaboradores

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


Werdeles Soares

💻 Desenvolvedor

Fabi Gonçalves

👨‍💻 Colaboradora

Matheus Oliveira

👨‍💻 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 gh05tb0y@disroot.org. Obrigado!

linkedin GitHub last commit GitHub contributors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipyscan-1.0.30.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ipyscan-1.0.30-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file ipyscan-1.0.30.tar.gz.

File metadata

  • Download URL: ipyscan-1.0.30.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for ipyscan-1.0.30.tar.gz
Algorithm Hash digest
SHA256 7f259f8615f481c2d61a93eb4372aba1da80b2ab8645d394c67f542e16de2773
MD5 b7cf06d8f64e784661000dd7bce6cf65
BLAKE2b-256 bfef776fd338a61f20ee9f980e1a375e4c3f8fe1ef7b200bf06fe0f00fa9a78e

See more details on using hashes here.

File details

Details for the file ipyscan-1.0.30-py3-none-any.whl.

File metadata

  • Download URL: ipyscan-1.0.30-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for ipyscan-1.0.30-py3-none-any.whl
Algorithm Hash digest
SHA256 df94f6d3a99fbbef864b69cdec068df8707edc7e26b31f93010a43f54cf33766
MD5 4e7a0da95d04166af5ec1c5b7d92036f
BLAKE2b-256 8ea4798a158cf062e8cdaca22aacdb9d400183b986567f38676d2d59f8d7e5a7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page