Sistema completo de monitoreo y análisis de conexiones de red con visualización en tiempo real.
- Identificación de todos los procesos activos (Mail, Code, Python, etc.)
- PID de cada proceso conectado
- Usuario propietario de la conexión
- Filtrado automático de procesos conocidos (navegadores, aplicaciones de chat, etc.)
- Geolocalización por IP: País, Ciudad, ISP, Organización
- Coordenadas GPS: Latitud y Longitud precisas
- Mapa interactivo con distribución geográfica de conexiones
- Zona horaria del servidor remoto
- Análisis de puertos usados (HTTP, HTTPS, SSH, etc.)
- Detección de anomalías y patrones sospechosos
- Clasificación de amenazas: ALTA, MEDIA, BAJA
- Historial de incidencias con timestamps
- Análisis de comportamiento de procesos
El dashboard incluye:
✅ KPI Cards - Métricas clave en tiempo real
- Conexiones totales
- IPs únicas detectadas
- Países involucrados
- Anomalías detectadas
- IPs sospechosas
✅ Gráficos
- Conexiones por País (Gráfico de Barras)
- Top 10 IPs Detectadas
- Procesos más activos
- Puertos más utilizados
- Distribución geográfica en mapa
✅ Tabla de Amenazas
- IP, País/Ciudad, ISP
- Número de conexiones
- Procesos involucrados
- Nivel de amenaza (badge de color)
- Anomalías detectadas
Primero, ejecuta el monitor para recolectar datos de conexiones:
cd /Users/visuarte/sentinel_link/monitor_hacker
python monitor.pyEl monitor creará:
log_seguridad.csv- Registro detallado de conexionesreporte_conexiones_geo.json- Datos de geolocalizaciónincidencias.log- Registro de incidencias
Deja el monitor ejecutándose en segundo plano para recolectar datos continuos.
En otra terminal, inicia el dashboard:
# Opción 1: Script Python (recomendado)
python run_dashboard.py
# Opción 2: Ejecutable directo
python dashboard_app.pyEl dashboard abrirá automáticamente en:
🌐 http://localhost:5000
- 🔴 ALTA: >10 conexiones desde la misma IP
- 🟠 MEDIA: 5-10 conexiones desde la misma IP
- 🟢 BAJA: <5 conexiones (típicamente legítimo)
443- HTTPS (seguro, navegación)80- HTTP (web)993- IMAPS (correo seguro)22- SSH (intento de acceso remoto)⚠️ 3389- RDP (Remote Desktop)⚠️
- ✅ Google LLC (Gmail, búsqueda)
- ✅ Microsoft Corporation (VS Code, actualizaciones)
- ✅ GitHub, Inc. (GitHub, actualizaciones)
- ✅ Cloudflare, Inc. (CDN, DNS)
/monitor_hacker/
├── monitor.py # Script principal de monitoreo
├── run_dashboard.py # Launcher del dashboard
├── dashboard_app.py # Aplicación Flask
├── requirements.txt # Dependencias Python
├── log_seguridad.csv # Registro de conexiones (generado)
├── reporte_conexiones_geo.json # Datos geo (generado)
├── incidencias.log # Log de incidencias (generado)
└── templates/
└── dashboard.html # Interfaz web del dashboard
psutil # Monitor de procesos y conexiones
requests # Consultas HTTP (geolocalización)
colorama # Colores en terminal
rich # Tablas y formatos avanzados
flask # Servidor web del dashboard
pandas # Análisis de datos
Instalar todas:
pip install -r requirements.txtSi ves una IP con:
- Múltiples conexiones (>10)
- Desde un país inusual
- Puerto sospechoso (22, 3389, 4444)
- Proceso desconocido → ALERTA: Posible malware o intrusión
Conexiones de VS Code a GitHub con:
- IP: 140.82.114.21 (GitHub)
- País: United States (San Francisco)
- Puerto: 443 (HTTPS)
- Nivel: BAJA → SEGURO: Actividad legítima
¿Por qué mi internet es lento?
- Mira qué procesos tienen más conexiones
- Identifica IPs de CDN o servicios de streaming
- Detecta conexiones innecesarias
El sistema detecta automáticamente:
- Puerto sospechoso (22, 3389, 4444, 5555, 8080, 9999, 31337, 6667)
- IP conocida como maliciosa
- Múltiples conexiones desde mismo IP (>5)
🔔 Notificaciones del Sistema
- Se envían notificaciones nativas de macOS/Windows cuando:
- Se detecta una IP sospechosa
- Número de conexiones excede umbral
- Puerto peligroso es detectado
IP: 74.125.206.109
País: United States (Mountain View)
ISP: Google LLC
Conexiones: 156
Procesos: Mail, Notes
Puertos: 993, 1234
Análisis:
✅ Mail/Notes accediendo a servidores de Google
✅ Puerto 993 es IMAP seguro (correo)
✅ Google LLC es confiable
✅ Mountain View es ubicación oficial de Google
Conclusión: ✅ SEGURO - Actividad de correo electrónico legítima
En run_dashboard.py:
app.run(host='localhost', port=8080) # Cambiar 5000 a 8080En monitor.py, agregar a PROCESOS_FILTRADOS:
PROCESOS_FILTRADOS = {
'chrome',
'slack',
'tu_app_aqui' # Agregar aquí
}En monitor.py:
if puerto in PUERTOS_SOSPECHOSOS: # Agregar puertos
anomalias.append(f"Puerto sospechoso: {puerto}")
if contador > 5: # Cambiar umbral aquí
anomalias.append(f"IP con {contador} conexiones")→ Ejecuta monitor.py durante varios minutos para recolectar datos
"Error de conexión a http://localhost:5000"
→ Verifica que Flask esté corriendo sin errores
→ El monitor necesita permiso para ver conexiones de otros procesos
→ En macOS, ejecuta con sudo si es necesario
→ El servicio ip-api.com tiene límite de 45 llamadas/minuto → El sistema incluye caché automático
Probado en:
- macOS 13+
- Python 3.8+
Permisos Requeridos:
- Lectura de procesos del sistema (psutil)
- Acceso a conexiones de red
Timestamp,IP_Remota,Pais,Ciudad,ISP,Proceso,PID,Puerto,Anomalias
2026-01-18 02:40:32,64.233.184.109,United States,Mountain View,Google LLC,Mail,357,993,Ninguna{
"estadisticas_generales": {
"ips_unicas": 9,
"conexiones_totales": 1500
},
"conexiones_por_pais": {
"United States": 800,
"Canada": 200
}
}- 🔄 Exportar reportes a PDF
- 📧 Enviar alertas por email
- 🗄️ Base de datos para histórico
- 🤖 Machine Learning para detectar anomalías
- 🌍 Mapa real con Leaflet.js
- 📱 Versión mobile
SENTINEL - Herramienta de Seguridad Personal
¡Mantén tu ordenador seguro! 🛡️
Para preguntas o reportes de seguridad, documenta la actividad sospechosa en incidencias.log
✦ Powered by MAPICP CORE ✦
Sistema de inteligencia artificial simbiótica · github.com/visuarte/mapicp