davestinhast/rust-port-scanner

GitHub: davestinhast/rust-port-scanner

Stars: 0 | Forks: 0

# rust-port-scanner Escáner de puertos concurrente escrito en Rust. Usa Tokio para manejar cientos de conexiones al mismo tiempo sin bloquear el programa, así que es rápido. También puede intentar leer el banner del servicio que está corriendo en cada puerto abierto. ## ¿Cómo funciona? En lugar de revisar un puerto y esperar la respuesta antes de revisar el siguiente (lento), abre todas las conexiones al mismo tiempo con un límite configurable de concurrencia. ┌─ Puerto 22 → ABIERTO (SSH-2.0-OpenSSH) ├─ Puerto 80 → ABIERTO (HTTP/1.1 200 OK) Host objetivo ──────┼─ Puerto 443 → ABIERTO ├─ Puerto 81 → cerrado (timeout) └─ Puerto 82 → cerrado (timeout) El semáforo interno controla cuántas conexiones van abiertas al mismo tiempo para no saturar la red ni el sistema. ## Instalación Necesitas tener [Rust instalado](https://rustup.rs/). git clone https://github.com/davestinhast/rust-port-scanner.git cd rust-port-scanner cargo build --release El binario queda en `target/release/scanner`. ## Uso # Escanear puertos del 1 al 1024 en un host ./scanner --host 192.168.1.1 # Rango personalizado con timeout más corto ./scanner --host ejemplo.com --start 1 --end 65535 --timeout-ms 300 # Con detección de banners ./scanner --host 192.168.1.1 --banner # Más concurrencia (más rápido, más agresivo) ./scanner --host 192.168.1.1 --concurrency 500 # Ver todas las opciones ./scanner --help **Salida de ejemplo:** Escaneando 192.168.1.1 (puertos 1-1024)... PUERTO BANNER -------------------------------------------------- 22 SSH-2.0-OpenSSH_8.9p1 80 HTTP/1.1 200 OK 443 abierto Total: 3 puertos abiertos. ## Opciones | Flag | Descripción | Valor por defecto | |------|-------------|-------------------| | `--host` | IP o hostname objetivo | requerido | | `--start` | Puerto inicial | 1 | | `--end` | Puerto final | 1024 | | `--timeout-ms` | Timeout por puerto (ms) | 500 | | `--banner` | Intentar leer banner | desactivado | | `--concurrency` | Conexiones simultáneas | 200 | ## Requisitos - Rust 1.70 o superior - Conexión de red al objetivo - Permiso para escanear el objetivo (no escanees lo que no es tuyo) ## Licencia MIT.
标签:通知系统