
Una herramienta Python que genera visualizaciones HTML interactivas basadas en React a partir de la salida JSON de masscan, con un gráfico de red dirigido por fuerzas de D3.js.
Una herramienta Python que genera visualizaciones HTML interactivas basadas en React a partir de la salida JSON de masscan, con un gráfico de red dirigido por fuerzas de D3.js.

: para buscar solo puertos (ej., :443)* para coincidencia de patrones (ej., :*443, :80*, :*8*)# Clone or download the project
cd masscan_report
# Install dependencies (optional, only needed for PDF generation in development)
pip install pyinstaller # Only if building exe
Descarga masscan_report.exe de la carpeta dist/ - no requiere instalación de Python.
# Using Python
python masscan_report.py <input_json> [-o output.html]
# Using executable
masscan_report.exe <input_json> [-o output.html]
# Generate report with default output (report.html)
python masscan_report.py scans/home.json
# Specify custom output file
python masscan_report.py scans/network_scan.json -o network_report.html
# Using the executable
.\dist\masscan_report.exe .\scans\home.192.168.10000.json
La herramienta espera el formato de salida JSON de masscan:
[
{"ip": "192.168.1.1", "timestamp": "1234567890", "ports": [
{"port": 80, "proto": "tcp", "status": "open", "reason": "syn-ack", "ttl": 64}
]},
{"ip": "192.168.1.1", "timestamp": "1234567891", "ports": [
{"port": 443, "proto": "tcp", "status": "open", "reason": "syn-ack", "ttl": 64}
]}
]
Genera esto con masscan:
masscan 192.168.1.0/24 -p1-65535 --rate 1000 -oJ scan_results.json
masscan_report/
├── masscan_report.py # Main script
├── port_descriptions.py # Port database (6700+ lines)
├── scans/ # Sample scan files
│ ├── home.json
│ └── home.192.168.10000.json
├── dist/
│ └── masscan_report.exe # Standalone executable
├── report.html # Generated output
└── README.md
port_descriptions.py contiene información detallada de más de 130 puertos comunes, incluyendo:
pip install pyinstaller
pyinstaller --onefile --name masscan_report --add-data "port_descriptions.py;." masscan_report.py
El ejecutable se creará en dist/masscan_report.exe.
Licencia MIT
¡Las contribuciones son bienvenidas! No dudes en enviar problemas y solicitudes de extracción.
| Acción | Efecto |
|---|
| Hacer clic en nodo (gráfico) | Abrir modal de información |
| Hacer clic en host (barra lateral) | Resaltar host y puertos |
| Arrastrar nodo | Reposicionar nodo |
| Rueda de desplazamiento | Acercar/Alejar |
| Clic + arrastrar (fondo) | Desplazar vista |
| 🔄 Restablecer vista | Restablecer zoom y posición |
| ⚡ Recalentar | Re-energizar la simulación de fuerzas |
| 📄 Exportar PDF | Generar informe PDF |
| Patrón | Coincidencias |
|---|
192.168 | IPs que contienen "192.168" |
:443 | Exactamente puerto 443 |
:*443 | Puertos que terminan en 443 (ej., 8443) |
:443* | Puertos que comienzan con 443 |
:*8* | Puertos que contienen 8 (ej., 80, 8080, 443) |