guia analisis NMAP
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Infografía Nmap - Network Mapper</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="https://cdn.plot.ly/plotly-2.27.0.min.js"></script>
<style>
body {
background-color: #F3F4F6;
color: #1F2937;
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.chart-container {
position: relative;
width: 100%;
max-width: 600px;
margin-left: auto;
margin-right: auto;
height: 350px;
max-height: 400px;
}
[u/media](/u/media) (min-width: 768px) {
.chart-container {
height: 400px;
}
}
.plotly-container {
position: relative;
width: 100%;
height: 400px;
max-height: 500px;
}
.terminal-block {
background-color: #111827;
color: #10B981;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
</style>
</head>
<body class="antialiased">
<!-- PALETA ELEGIDA: Brilliant Blues (Primario: #2563EB, Secundario: #F59E0B, Acento: #10B981) -->
<!-- PLAN NARRATIVO:
1. Introducción/Hook: Qué es Nmap y sus capacidades clave.
2. Análisis de Estados: Los 6 estados de los puertos.
3. Flujo de Trabajo: Las 8 fases de un escaneo de red.
4. Rendimiento y Sigilo: Comparativa de tipos de escaneo y plantillas de tiempo.
5. Referencia Práctica: Cheatsheet de comandos listos para usar.
\\-->
<!-- SELECCIÓN DE VISUALIZACIONES:
1. Estados de Puertos -> Meta: Comparar/Informar -> Vis: Gráfico de Donut (Chart.js / Canvas) -> Muestra la distribución teórica de estados. (Sin SVG).
2. Fases de Escaneo -> Meta: Organizar -> Vis: Diagrama de Flujo (HTML/CSS Tailwind) -> Muestra el orden lógico de operación. (Sin SVG/Mermaid).
3. Perfiles de Tiempo -> Meta: Comparar -> Vis: Gráfico de Barras (Chart.js / Canvas) -> Ilustra la escalabilidad de velocidad (T0-T5). (Sin SVG).
4. Atributos de Escaneo -> Meta: Relaciones -> Vis: Gráfico de Dispersión 3D (Plotly.js / WebGL) -> Muestra la relación Velocidad vs Sigilo vs Fiabilidad. (Sin SVG).
\\-->
<!-- CONFIRMACIÓN: NEITHER Mermaid JS NOR SVG were used anywhere in the output. -->
<nav class="bg-blue-600 text-white shadow-md sticky top-0 z-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between h-16">
<div class="flex items-center space-x-3">
<span class="text-3xl">\🌐</span>
<span class="font-bold text-xl tracking-wider">NMAP ANALYTICS</span>
</div> </div> </div> </nav> <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-10 space-y-12"> <section class="text-center space-y-4"> <h1 class="text-4xl md:text-5xl font-extrabold text-blue-600 tracking-tight">Análisis Profundo de Nmap</h1> <p class="text-xl text-gray-600 max-w-3xl mx-auto">El estándar de la industria para la exploración de redes, auditorías de seguridad y descubrimiento de vulnerabilidades a través de paquetes IP sin procesar.</p> <div class="grid grid-cols-2 md:grid-cols-4 gap-4 mt-8"> <div class="bg-white rounded-xl shadow-sm p-6 border-t-4 border-blue-500"> <div class="text-4xl mb-2">\\\🖥</div> <div class="font-bold text-gray-800">Hosts</div> <div class="text-sm text-gray-500">Descubrimiento Activo</div> </div> <div class="bg-white rounded-xl shadow-sm p-6 border-t-4 border-amber-500"> <div class="text-4xl mb-2">\\\🔌</div> <div class="font-bold text-gray-800">Puertos</div> <div class="text-sm text-gray-500">Estados y Servicios</div> </div> <div class="bg-white rounded-xl shadow-sm p-6 border-t-4 border-emerald-500"> <div class="text-4xl mb-2">\\\💾</div> <div class="font-bold text-gray-800">Sistemas</div> <div class="text-sm text-gray-500">Detección de SO</div> </div> <div class="bg-white rounded-xl shadow-sm p-6 border-t-4 border-red-500"> <div class="text-4xl mb-2">\\\🛡</div> <div class="font-bold text-gray-800">Defensas</div> <div class="text-sm text-gray-500">Evasión de Firewalls</div> </div> </div> </section> <section class="bg-white rounded-2xl shadow-lg p-6 md:p-10"> <div class="md:flex md:items-center md:space-x-10"> <div class="md:w-1/2 mb-8 md:mb-0"> <h2 class="text-3xl font-bold text-gray-800 mb-4">Los 6 Estados de los Puertos</h2> <p class="text-gray-600 mb-4">Cuando Nmap escanea un objetivo, clasifica cada puerto en una de seis categorías. Esta clasificación es vital para comprender el nivel de exposición y los filtros de seguridad intermedios (como Firewalls y sistemas IDS).</p> <ul class="space-y-3 text-sm"> <li class="flex items-start"><span class="text-emerald-500 text-lg mr-2">\\\●</span><div><strong>Open:</strong> Aceptando conexiones activamente.</div></li> <li class="flex items-start"><span class="text-red-500 text-lg mr-2">\\\●</span><div><strong>Closed:</strong> Accesible, pero ninguna app escucha.</div></li> <li class="flex items-start"><span class="text-amber-500 text-lg mr-2">\\\●</span><div><strong>Filtered:</strong> Bloqueado por un firewall o router.</div></li> <li class="flex items-start"><span class="text-blue-500 text-lg mr-2">\\\●</span><div><strong>Unfiltered:</strong> Accesible, estado exacto desconocido.</div></li> <li class="flex items-start"><span class="text-purple-500 text-lg mr-2">\\\●</span><div><strong>Open|Filtered:</strong> Indeterminado (Común en UDP).</div></li> <li class="flex items-start"><span class="text-gray-500 text-lg mr-2">\\\●</span><div><strong>Closed|Filtered:</strong> Indeterminado.</div></li> </ul> </div> <div class="md:w-1/2"> <div class="chart-container"><canvas id="portStatesChart"></canvas>
</div> </div> </div> </section> <section class="bg-blue-50 rounded-2xl shadow-inner p-6 md:p-10 border border-blue-100"> <h2 class="text-3xl font-bold text-center text-blue-800 mb-8">Flujo de Trabajo: Las 8 Fases del Escaneo</h2> <p class="text-center text-gray-700 max-w-2xl mx-auto mb-10">Nmap opera mediante una secuencia lógica y estructurada. Cada fase prepara el terreno para la siguiente, optimizando el rendimiento y la precisión de los resultados.</p> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 relative"> <div class="bg-white p-5 rounded-lg shadow-md border-l-4 border-blue-600 flex flex-col justify-center items-center text-center relative z-10"> <div class="text-3xl mb-2 text-blue-600">\\\🗂</div> <h3 class="font-bold text-gray-800">1. Pre-routing</h3> <p class="text-xs text-gray-500 mt-1">Resolución DNS y objetivos.</p> </div> <div class="bg-white p-5 rounded-lg shadow-md border-l-4 border-blue-600 flex flex-col justify-center items-center text-center relative z-10"> <div class="text-3xl mb-2 text-blue-600">\\\📡</div> <h3 class="font-bold text-gray-800">2. Descubrimiento</h3> <p class="text-xs text-gray-500 mt-1">Ping Sweep para hosts vivos.</p> </div> <div class="bg-white p-5 rounded-lg shadow-md border-l-4 border-blue-600 flex flex-col justify-center items-center text-center relative z-10"> <div class="text-3xl mb-2 text-blue-600">\\\🔄</div> <h3 class="font-bold text-gray-800">3. DNS Inversa</h3> <p class="text-xs text-gray-500 mt-1">Conversión IP a Dominio.</p> </div> <div class="bg-white p-5 rounded-lg shadow-md border-l-4 border-amber-500 flex flex-col justify-center items-center text-center relative z-10"> <div class="text-3xl mb-2 text-amber-500">\\\🔎</div> <h3 class="font-bold text-gray-800">4. Escaneo de Puertos</h3> <p class="text-xs text-gray-500 mt-1">El núcleo: detección de estados.</p> </div> <div class="bg-white p-5 rounded-lg shadow-md border-l-4 border-emerald-500 flex flex-col justify-center items-center text-center relative z-10"> <div class="text-3xl mb-2 text-emerald-500">\\\📜</div> <h3 class="font-bold text-gray-800">5. Detección Versiones</h3> <p class="text-xs text-gray-500 mt-1">Identidad de aplicaciones.</p> </div> <div class="bg-white p-5 rounded-lg shadow-md border-l-4 border-emerald-500 flex flex-col justify-center items-center text-center relative z-10"> <div class="text-3xl mb-2 text-emerald-500">\\\🖥</div> <h3 class="font-bold text-gray-800">6. Detección SO</h3> <p class="text-xs text-gray-500 mt-1">Análisis de huellas TCP/IP.</p> </div> <div class="bg-white p-5 rounded-lg shadow-md border-l-4 border-purple-500 flex flex-col justify-center items-center text-center relative z-10"> <div class="text-3xl mb-2 text-purple-500">\\\⚙</div> <h3 class="font-bold text-gray-800">7. Motor Scripts (NSE)</h3> <p class="text-xs text-gray-500 mt-1">Ejecución de automatización.</p> </div> <div class="bg-white p-5 rounded-lg shadow-md border-l-4 border-gray-800 flex flex-col justify-center items-center text-center relative z-10"> <div class="text-3xl mb-2 text-gray-800">\\\💾</div> <h3 class="font-bold text-gray-800">8. Salida Final</h3> <p class="text-xs text-gray-500 mt-1">Formatos Normal, XML, Grepable.</p> </div> </div> </section> <section class="grid grid-cols-1 lg:grid-cols-2 gap-8"> <div class="bg-white rounded-2xl shadow-lg p-6"> <h2 class="text-2xl font-bold text-gray-800 mb-2">Perfiles de Rendimiento (T0-T5)</h2> <p class="text-sm text-gray-600 mb-6">El control de tiempo permite balancear la agresividad del escaneo contra la posibilidad de evadir sistemas de detección de intrusos (IDS).</p> <div class="chart-container"><canvas id="timingChart"></canvas>
</div> </div> <div class="bg-white rounded-2xl shadow-lg p-6"> <h2 class="text-2xl font-bold text-gray-800 mb-2">Atributos de Técnicas de Escaneo</h2> <p class="text-sm text-gray-600 mb-6">Análisis tridimensional comparando la eficacia de los distintos tipos de sondeo de Nmap según su sigilo, velocidad y fiabilidad en red.</p> <div id="plotlyScanTypes" class="plotly-container"></div> </div> </section> <section class="bg-gray-800 rounded-2xl shadow-xl p-6 md:p-10 text-white"> <div class="flex items-center mb-8"><span class="text-4xl mr-4">\💻</span>
<div> <h2 class="text-3xl font-bold text-white">Cheatsheet de Comandos Prácticos</h2> <p class="text-gray-400">Referencia rápida para operaciones tácticas en consola.</p> </div> </div> <div class="grid grid-cols-1 md:grid-cols-2 gap-6"> <div class="bg-gray-900 rounded-lg p-5 border border-gray-700"> <h3 class="text-blue-400 font-bold mb-3 flex items-center">\\\▶ Operaciones Básicas</h3> <div class="space-y-3 text-sm"> <div> <div class="text-gray-400 mb-1">Escaneo básico a IP:</div> <div class="terminal-block p-2 rounded">nmap 192.168.1.1</div> </div> <div> <div class="text-gray-400 mb-1">Escanear subred completa:</div> <div class="terminal-block p-2 rounded">nmap 192.168.1.0/24</div> </div> <div> <div class="text-gray-400 mb-1">Ping Sweep (Solo descubrir):</div> <div class="terminal-block p-2 rounded">nmap -sn 192.168.1.0/24</div> </div> </div> </div> <div class="bg-gray-900 rounded-lg p-5 border border-gray-700"> <h3 class="text-amber-400 font-bold mb-3 flex items-center">\\\▶ Técnicas de Puertos</h3> <div class="space-y-3 text-sm"> <div> <div class="text-gray-400 mb-1">TCP SYN Scan (Sigiloso/Root):</div> <div class="terminal-block p-2 rounded">sudo nmap -sS 192.168.1.100</div> </div> <div> <div class="text-gray-400 mb-1">Escaneo UDP (Lento pero vital):</div> <div class="terminal-block p-2 rounded">sudo nmap -sU 192.168.1.100</div> </div> <div> <div class="text-gray-400 mb-1">Escanear todos los 65535 puertos:</div> <div class="terminal-block p-2 rounded">nmap -p- 192.168.1.100</div> </div> </div> </div> <div class="bg-gray-900 rounded-lg p-5 border border-gray-700"> <h3 class="text-emerald-400 font-bold mb-3 flex items-center">\\\▶ Detección Avanzada</h3> <div class="space-y-3 text-sm"> <div> <div class="text-gray-400 mb-1">Detectar Sistema Operativo:</div> <div class="terminal-block p-2 rounded">sudo nmap -O 192.168.1.100</div> </div> <div> <div class="text-gray-400 mb-1">Detectar versiones de servicios:</div> <div class="terminal-block p-2 rounded">nmap -sV 192.168.1.100</div> </div> <div> <div class="text-gray-400 mb-1">Escaneo Agresivo (OS, Versión, NSE):</div> <div class="terminal-block p-2 rounded">nmap -A 192.168.1.100</div> </div> </div> </div> <div class="bg-gray-900 rounded-lg p-5 border border-gray-700"> <h3 class="text-purple-400 font-bold mb-3 flex items-center">\\\▶ Evasión y Scripting (NSE)</h3> <div class="space-y-3 text-sm"> <div> <div class="text-gray-400 mb-1">Fragmentar paquetes (Evasión IDS):</div> <div class="terminal-block p-2 rounded">nmap -f 192.168.1.100</div> </div> <div> <div class="text-gray-400 mb-1">Scripts por defecto (Seguros):</div> <div class="terminal-block p-2 rounded">nmap -sC 192.168.1.100</div> </div> <div> <div class="text-gray-400 mb-1">Búsqueda de vulnerabilidades:</div> <div class="terminal-block p-2 rounded">nmap --script vuln 192.168.1.100</div> </div> </div> </div> </div> <div class="mt-8 bg-red-900 bg-opacity-30 border border-red-500 rounded-lg p-4 flex items-start"><span class="text-2xl mr-3">\⚠</span>
<div class="text-sm text-red-200"><strong class="text-red-400">Advertencia Legal y Ética:</strong> El uso de Nmap para escanear redes o sistemas de los cuales no tienes permiso explícito y por escrito es ilegal en la mayoría de los países y puede ser considerado un delito informático.
</div> </div> </section> <footer class="text-center text-gray-500 text-sm mt-12 pb-8">Generado para análisis estratégico de ciberseguridad y entrenamiento de infraestructura.
</footer> </main> <script> const processLabels = (labels) => { return labels.map(label => { if (label.length <= 16) return label; const words = label.split(' '); const lines = \\\[\\\]; let currentLine = ''; for (let i = 0; i < words.length; i++) { if ((currentLine + words\\\[i\\\]).length > 16) { if (currentLine !== '') { lines.push(currentLine.trim()); } currentLine = words\\\[i\\\] + ' '; } else { currentLine += words\\\[i\\\] + ' '; } } if (currentLine !== '') { lines.push(currentLine.trim()); } return lines; }); }; const ctxDonut = document.getElementById('portStatesChart').getContext('2d'); const rawDonutLabels = \\\[ "Open (Aceptando conexiones)", "Closed (Accesible, sin app)", "Filtered (Bloqueo firewall)", "Unfiltered (Accesible incierto)", "Open|Filtered (Incierto UDP)", "Closed|Filtered (Indeterminado)" \\\]; new Chart(ctxDonut, { type: 'doughnut', data: { labels: processLabels(rawDonutLabels), datasets: \\\[{ data: \\\[35, 20, 20, 10, 10, 5\\\], backgroundColor: \\\[ '#10B981', '#EF4444', '#F59E0B', '#3B82F6', '#8B5CF6', '#6B7280' \\\], borderWidth: 2, borderColor: '#ffffff' }\\\] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { position: 'right', labels: { font: { size: 11 } } }, tooltip: { callbacks: { title: function(tooltipItems) { const item = tooltipItems\\\[0\\\]; let label = item.chart.data.labels\\\[item.dataIndex\\\]; if (Array.isArray(label)) { return label.join(' '); } else { return label; } } } } } } }); const ctxBar = document.getElementById('timingChart').getContext('2d'); const rawBarLabels = \\\[ "T0 (Paranoico)", "T1 (Sigiloso)", "T2 (Educado)", "T3 (Normal)", "T4 (Agresivo)", "T5 (Locura)" \\\]; new Chart(ctxBar, { type: 'bar', data: { labels: processLabels(rawBarLabels), datasets: \\\[{ label: 'Índice de Agresividad y Velocidad', data: \\\[5, 15, 30, 60, 85, 100\\\], backgroundColor: '#2563EB', borderRadius: 6 }\\\] }, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, max: 100, title: { display: true, text: 'Intensidad' } } }, plugins: { legend: { display: false }, tooltip: { callbacks: { title: function(tooltipItems) { const item = tooltipItems\\\[0\\\]; let label = item.chart.data.labels\\\[item.dataIndex\\\]; if (Array.isArray(label)) { return label.join(' '); } else { return label; } } } } } } }); const plotlyData = \\\[{ x: \\\[8, 6, 3, 5\\\], y: \\\[7, 3, 8, 9\\\], z: \\\[9, 10, 6, 5\\\], mode: 'markers+text', type: 'scatter3d', text: \\\['TCP SYN', 'TCP Connect', 'UDP Scan', 'FIN Scan'\\\], textposition: 'top center', marker: { size: 14, color: \\\['#2563EB', '#F59E0B', '#10B981', '#EF4444'\\\], opacity: 0.9, line: { width: 2, color: '#ffffff' } } }\\\]; const plotlyLayout = { margin: { l: 0, r: 0, b: 0, t: 0 }, paper\\\_bgcolor: 'rgba(0,0,0,0)', plot\\\_bgcolor: 'rgba(0,0,0,0)', scene: { xaxis: { title: 'Velocidad', range: \\\[0, 10\\\] }, yaxis: { title: 'Sigilo', range: \\\[0, 10\\\] }, zaxis: { title: 'Fiabilidad', range: \\\[0, 10\\\] }, camera: { eye: { x: 1.5, y: 1.5, z: 1.2 } } } }; Plotly.newPlot('plotlyScanTypes', plotlyData, plotlyLayout, {displayModeBar: false, responsive: true}) .catch(err => console.error('Error al generar gráfico Plotly:', err)); </script> </body> </html>Posted Apr 28, 2026, 7:01 PM UTC
10