Metadata-Version: 2.4
Name: lucena-garcia-scan
Version: 1.0.3
Summary: Varredura de portas TCP e UDP para redes locais e remotas.
Author-email: Lucena & Garcia <contato@lucenagarciascan.org>
License: MIT
Project-URL: Homepage, https://github.com/lucena-garcia/lucena-garcia-scan
Project-URL: Bug Tracker, https://github.com/lucena-garcia/lucena-garcia-scan/issues
Keywords: port-scanner,network,tcp,udp,security,cli,cybersecurity,syn-scan
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: System :: Networking
Classifier: Topic :: Security
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich>=12.0.0
Provides-Extra: stealth
Requires-Dist: scapy>=2.5.0; extra == "stealth"
Dynamic: license-file

# lucena-garcia-scan (lgscan)

Ferramenta de varredura de portas TCP e UDP para redes locais e remotas. Desenvolvida por **Lucena & Garcia**.

[![PyPI version](https://img.shields.io/pypi/v/lucena-garcia-scan.svg?color=blue)](https://pypi.org/project/lucena-garcia-scan/)
[![Python Version](https://img.shields.io/pypi/pyversions/lucena-garcia-scan.svg)](https://pypi.org/project/lucena-garcia-scan/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

---

## Instalacao

Instalacao direta via PyPI:

```bash
pip install lucena-garcia-scan
```

Ou no Ubuntu/Debian/Kali com pipx:

```bash
pipx install lucena-garcia-scan
```

Apos a instalacao, os comandos `lucena-garcia-scan` e `lgscan` ficam disponiveis no sistema.

---

## Funcionalidades

- **Varredura TCP:**
  - `TCP Connect (-sT)`: 3-Way Handshake completo sem necessidade de root.
  - `TCP SYN (-sS)`: Varredura SYN de baixo nivel (requer privilégios de root).
- **Varredura UDP (-sU):** Sondagem com payloads especificos (DNS, NTP, SNMP) e escuta de mensagens ICMP Port Unreachable.
- **Classificacao de Estados:** Identifica portas como Abertas, Fechadas ou Filtradas.
- **Suporte a Multiplos Alvos:** Aceita enderecos IP individuais, dominios, intervalos (ex: `192.168.1.1-50`) e sub-redes CIDR (ex: `192.168.1.0/24`).
- **Banner Grabbing:** Identifica versoes de servicos em execucao (HTTP, SSH, FTP, etc.).
- **Exportacao de Resultados:** Suporte a arquivos `.json`, `.csv` e relatorios `.html`.
- **Interface Web Integrada:** Dashboard local acessivel via `--gui`.

---

## Exemplos de Uso

### Varredura basica nas 100 portas mais comuns
```bash
lgscan 192.168.1.1
```

### Varredura em sub-rede CIDR (/24) com portas especificas
```bash
lgscan 192.168.1.0/24 -p 21,22,80,443,3306
```

### Varredura em intervalo de portas com 100 threads
```bash
lgscan 10.0.0.1 -p 1-1024 -t 100
```

### Varredura UDP
```bash
sudo lgscan 192.168.1.1 -sU -p 53,67,123,161
```

### Exportar relatorio em HTML
```bash
lgscan scanme.nmap.org -p top-20 -o relatorio.html
```

### Iniciar Interface Web
```bash
lgscan --gui
```

---

## Opcoes da Linha de Comando

```text
Uso: lucena-garcia-scan [alvo] [opcoes]

Alvos:
  target                IP, dominio, faixa (1-10) ou sub-rede CIDR (/24)

Portas:
  -p, --ports TEXT      Portas (ex: 80,443 | 1-1024 | top-20 | top-100) [padrao: top-100]
  --top-ports {20,100}  Atalho para as N portas mais frequentes

Tecnicas de Varredura:
  -sT, --tcp-connect    Varredura TCP Connect (padrao)
  -sS, --tcp-syn        Varredura TCP SYN (requer root)
  -sU, --udp            Varredura e sondagem UDP

Desempenho:
  -t, --threads INT     Numero de threads concorrentes [padrao: 50]
  --timeout FLOAT       Timeout em segundos por porta [padrao: 1.0]
  --no-banner           Desativa coleta de banners de servicos

Saida e Relatorios:
  -a, --all             Exibe portas fechadas na tabela
  -o, --output FILE     Arquivo de saida (.html, .json ou .csv)

Opcoes Gerais:
  --gui, --web          Abre a interface web local (http://localhost:5000)
  -h, --help            Exibe o menu de ajuda
```

---

## Tabela de Estados

| Estado | TCP Connect / SYN | UDP Probing |
| :--- | :--- | :--- |
| **Aberta** | Conexao estabelecida (retorno 0) ou recebimento de SYN-ACK. | Resposta de dados UDP valida recebida da aplicacao. |
| **Fechada** | Conexao recusada (RST / ECONNREFUSED). | ICMP Tipo 3, Codigo 3 (Port Unreachable). |
| **Filtrada** | Timeout ou host inalcancavel (descarte por Firewall). | Sem resposta apos timeout ou ICMP Filtrado por Firewall. |

---

## Autores

- **Lucena & Garcia**
- Licenca: **MIT**
