NmapMCP

Integra la herramienta de escaneo de redes Nmap con MCP, permitiendo capacidades de escaneo de redes en entornos compatibles con MCP.

Documentación

NmapMCP

smithery badge NmapMCP es una integración robusta de la herramienta de escaneo Nmap con el Protocolo de Contexto de Modelo (MCP), que permite capacidades de escaneo de red sin interrupciones dentro de entornos compatibles con MCP. Este proyecto permite a los usuarios realizar varios escaneos de red, como escaneo de puertos principales, fuerza bruta de DNS y más, directamente a través de interfaces MCP.

Características

  • Escaneo de Puertos Principales: Identifique rápidamente los puertos más utilizados en los hosts objetivo para evaluar posibles puntos de entrada.

  • Fuerza Bruta de DNS: Descubra subdominios asociados con un dominio objetivo, lo que ayuda en un mapeo integral del dominio.

  • Escaneo de Lista: Obtenga una lista de hosts activos dentro de un rango especificado sin escaneo de puertos, útil para el inventario de red.

  • Detección de Sistema Operativo: Determine el sistema operativo de un host objetivo analizando las respuestas de red, lo que ayuda en la evaluación de vulnerabilidades.

  • Detección de Versión: Identifique las versiones de servicios que se ejecutan en puertos abiertos para detectar servicios desactualizados o vulnerables.

  • Escaneo FIN: Realice escaneos sigilosos enviando paquetes FIN para detectar puertos abiertos sin establecer una conexión completa.

  • Escaneo Inactivo: Realice escaneos altamente sigilosos aprovechando hosts inactivos para sondear sistemas objetivo, minimizando los riesgos de detección.

  • Escaneo de Ping: Detecte hosts activos en una red enviando solicitudes de eco ICMP, útil para el mapeo de red.

  • Escaneo SYN: Realice escaneos TCP de medio abierto para identificar puertos abiertos sin completar el protocolo de enlace TCP, reduciendo la probabilidad de detección.

  • Escaneo de Conexión TCP: Establezca conexiones TCP completas para sondear puertos abiertos, útil cuando los escaneos SYN no son factibles.

  • Escaneo UDP: Identifique puertos UDP abiertos en un host objetivo para detectar servicios que no utilizan TCP.

  • Solo Escaneo de Puertos: Concéntrese únicamente en escanear puertos sin descubrimiento adicional de hosts, agilizando el proceso de escaneo.

  • Sin Escaneo de Puertos: Realice el descubrimiento de hosts sin escanear puertos, útil para identificar hosts vivos sin sondear servicios.

  • Descubrimiento ARP: Identifique dispositivos activos dentro de un segmento de red local utilizando solicitudes ARP, efectivo en entornos LAN.

  • Deshabilitar Resolución DNS: Realice escaneos sin resolver direcciones IP a nombres de host, mejorando la velocidad del escaneo y reduciendo el tráfico de consultas DNS.

Instalación

Instalación a través de Smithery

Para instalar la Integración de Nmap para Claude Desktop automáticamente a través de Smithery:

npx -y @smithery/cli install @0xPratikPatil/nmapmcp --client claude

Instalación Manual

  1. Clonar el Repositorio:

    git clone https://github.com/0xPratikPatil/NmapMCP.git
    cd NmapMCP
    
  2. Instalar uv:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. Crear el entorno:

    uv venv
    
  4. Instalar dependencias desde pyproject.toml

    uv pip install
    

    o

    uv pip install -r pyproject.toml
    

Configuración

Para configurar el Servidor MCP de Nmap, edite el archivo claude_desktop_config.json ubicado en la raíz del proyecto. Este archivo le permite establecer argumentos de escaneo predeterminados, definir comportamientos de herramientas MCP y ajustar la configuración de registro.

Ejemplo de claude_desktop_config.json:

{
  "mcpServers": {
    "NmapMCP": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/NmapMCP",
        "run",
        "main.py"
      ]
    }
  }
}

Contribuciones

¡Las contribuciones son bienvenidas! Para contribuir:

  1. Hacer un Fork del Repositorio: Haga clic en el botón "Fork" en la parte superior derecha de la página del repositorio.

  2. Clonar su Fork:

    git clone https://github.com/0xPratikPatil/NmapMCP.git
    
  3. Crear una Nueva Rama:

    git checkout -b feature/your-feature-name
    
  4. Realizar sus Cambios: Implemente su característica o corrección.

  5. Ejecutar Pruebas: Asegúrese de que todas las pruebas pasen.

  6. Confirmar Cambios:

    git commit -m "Add feature: your feature name"
    
  7. Hacer Push a su Fork:

    git push origin feature/your-feature-name
    
  8. Enviar una Solicitud de Extracción: Navegue al repositorio original y haga clic en "Nueva Solicitud de Extracción".

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

Agradecimientos

Un agradecimiento especial a las comunidades de Nmap y MCP por sus invaluables herramientas y apoyo.