Network Monitor MCP Server

Un servidor para monitoreo de paquetes de red en tiempo real y análisis de seguridad.

Documentación

Network Monitor MCP Server

Un servidor de Protocolo de Contexto de Modelo (MCP) para monitoreo de paquetes de red en tiempo real y análisis de seguridad. Esta herramienta permite a Claude inspeccionar el tráfico de red e identificar posibles amenazas de seguridad.

Características

  • Captura de paquetes en tiempo real desde interfaces WiFi
  • Análisis de protocolos (TCP, UDP, DNS, HTTP/HTTPS)
  • Detección de amenazas de seguridad:
    • Detección de escaneo de puertos
    • Consultas DNS maliciosas
    • Patrones de exfiltración de datos
    • Detección de anomalías
  • Herramientas MCP para integración con Claude:
    • capture_start - Iniciar captura de paquetes
    • capture_stop - Detener captura
    • get_packets - Recuperar y filtrar paquetes
    • analyze_traffic - Estadísticas de tráfico
    • get_suspicious - Análisis de amenazas de seguridad

Requisitos previos

  • Go 1.21 o superior
  • Archivos de desarrollo de libpcap
  • Acceso root/sudo para captura de paquetes

Instalación de libpcap

macOS:

brew install libpcap

Linux:

# Ubuntu/Debian
sudo apt-get install libpcap-dev

# RHEL/CentOS
sudo yum install libpcap-devel

Instalación

  1. Clonar el repositorio:
git clone https://github.com/skapa-xyz/network-monitor-mcp.git
cd network-monitor-mcp
  1. Instalar dependencias:
go mod download
  1. Compilar el servidor:
go build -o network-monitor-mcp

Uso

Ejecutar el servidor MCP

El servidor requiere privilegios de root para la captura de paquetes:

sudo ./network-monitor-mcp

Configuración de Claude Desktop

⚠️ ADVERTENCIA DE SEGURIDAD IMPORTANTE:

Claude Desktop no puede ejecutar comandos directamente con sudo. Para usar este servidor MCP con Claude Desktop, tienes dos opciones:

Opción 1: Configuración de sudoers (NO RECOMENDADO para producción)

Puedes configurar sudo para permitir que el binario network-monitor-mcp se ejecute sin solicitar contraseña. Esto tiene IMPLICACIONES DE SEGURIDAD SIGNIFICATIVAS y solo debe hacerse en entornos de desarrollo aislados donde la seguridad no sea una preocupación.

  1. Editar el archivo sudoers:

    sudo visudo
    
  2. Agregar la siguiente línea (reemplazar usuario y ruta):

    username ALL=(ALL) NOPASSWD: /path/to/network-monitor-mcp
    
  3. Actualizar la configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en macOS):

    {
      "mcpServers": {
        "network-monitor": {
          "command": "/path/to/network-monitor-mcp"
        }
      }
    }
    

⚠️ RIESGOS DE SEGURIDAD:

  • Esto otorga acceso root sin contraseña al binario
  • Si el binario se ve comprometido, un atacante obtiene acceso root
  • La captura de paquetes de red puede exponer datos sensibles
  • Usar solo en entornos de desarrollo/pruebas aislados
  • Nunca usar esta configuración en sistemas de producción o máquinas con datos sensibles

Opción 2: Ejecutar Claude Desktop con privilegios elevados (TAMPOCO RECOMENDADO)

Podrías ejecutar Claude Desktop con sudo, pero esto otorga acceso root a toda la aplicación, lo que presenta riesgos de seguridad aún mayores.

Enfoque recomendado

Para uso en producción, considera:

  • Ejecutar el servidor MCP como un servicio del sistema con permisos adecuados
  • Usar un sistema de monitoreo dedicado con controles de acceso apropiados
  • Implementar mecanismos adecuados de autenticación y autorización

Ejemplos de comandos de Claude

  1. Iniciar monitoreo de tu interfaz WiFi:

    Use the capture_start tool to monitor interface "en0" with a filter for TCP traffic
    
  2. Verificar actividad sospechosa:

    Use get_suspicious to show any detected security threats
    
  3. Analizar patrones de tráfico:

    Use analyze_traffic to show network statistics and connection patterns
    
  4. Filtrar paquetes específicos:

    Use get_packets to show all DNS queries or traffic to port 443
    

Consideraciones de seguridad

  • Esta herramienta requiere acceso root para capturar paquetes
  • Usar solo en redes que poseas o para las que tengas permiso de monitoreo
  • Los datos capturados pueden contener información sensible
  • La herramienta está diseñada para monitoreo de seguridad legítimo en entornos empresariales

Arquitectura

network-monitor-mcp/
├── main.go              # Entry point
├── mcp/                 # MCP protocol implementation
│   ├── server.go        # MCP server core
│   └── handlers.go      # Tool handlers
├── capture/             # Packet capture functionality
│   ├── sniffer.go       # Packet capture engine
│   └── analyzer.go      # Traffic analysis
└── security/            # Security detection
    └── detector.go      # Threat detection algorithms

Solución de problemas

  1. Errores de permiso denegado:

    • Asegúrate de estar ejecutando con sudo
    • Verifica la instalación de libpcap
  2. Interfaz no encontrada:

    • Listar interfaces disponibles: ifconfig o ip link
    • Interfaces WiFi comunes: en0 (macOS), wlan0 (Linux)
  3. No se capturaron paquetes:

    • Verifica que la interfaz esté activa
    • Revisa la sintaxis de tu filtro BPF
    • Asegúrate de que haya tráfico de red para capturar

Desarrollo

Para contribuir o modificar:

  1. Seguir las mejores prácticas de Go
  2. Agregar pruebas para nuevas funciones
  3. Actualizar la documentación
  4. Probar con Claude Desktop antes de enviar

Licencia

Este proyecto es solo para monitoreo de seguridad autorizado. Úsalo de manera responsable y en cumplimiento con todas las leyes y regulaciones aplicables.