NmapMCP

Integra a ferramenta de varredura de rede Nmap com o MCP, permitindo capacidades de varredura de rede em ambientes compatíveis com MCP.

Documentação

NmapMCP

smithery badge NmapMCP é uma integração robusta da ferramenta de varredura Nmap com o Protocolo de Contexto de Modelo (MCP), permitindo capacidades de varredura de rede sem interrupções em ambientes compatíveis com MCP. Este projeto permite que os usuários realizem várias varreduras de rede, como varredura de portas principais, força bruta de DNS e muito mais, diretamente por meio de interfaces MCP.

Recursos

  • Varredura de Portas Principais: Identifique rapidamente as portas mais comumente usadas em hosts de destino para avaliar possíveis pontos de entrada.

  • Força Bruta de DNS: Descubra subdomínios associados a um domínio de destino, auxiliando no mapeamento abrangente do domínio.

  • Varredura de Lista: Obtenha uma lista de hosts ativos dentro de um intervalo especificado sem varredura de portas, útil para inventário de rede.

  • Detecção de SO: Determine o sistema operacional de um host de destino analisando respostas de rede, auxiliando na avaliação de vulnerabilidades.

  • Detecção de Versão: Identifique versões de serviços em execução em portas abertas para detectar serviços desatualizados ou vulneráveis.

  • Varredura FIN: Realize varreduras furtivas enviando pacotes FIN para detectar portas abertas sem estabelecer uma conexão completa.

  • Varredura Idle: Conduza varreduras altamente furtivas utilizando hosts ociosos para sondar sistemas de destino, minimizando riscos de detecção.

  • Varredura de Ping: Detecte hosts ativos em uma rede enviando solicitações de eco ICMP, útil para mapeamento de rede.

  • Varredura SYN: Realize varreduras TCP de meia abertura para identificar portas abertas sem completar o handshake TCP, reduzindo a probabilidade de detecção.

  • Varredura de Conexão TCP: Estabeleça conexões TCP completas para sondar portas abertas, útil quando varreduras SYN não são viáveis.

  • Varredura UDP: Identifique portas UDP abertas em um host de destino para detectar serviços que não usam TCP.

  • Somente Varredura de Portas: Concentre-se apenas na varredura de portas sem descoberta adicional de hosts, simplificando o processo de varredura.

  • Sem Varredura de Portas: Realize descoberta de hosts sem varredura de portas, útil para identificar hosts ativos sem sondar serviços.

  • Descoberta ARP: Identifique dispositivos ativos dentro de um segmento de rede local usando solicitações ARP, eficaz em ambientes LAN.

  • Desativar Resolução de DNS: Realize varreduras sem resolver endereços IP para nomes de host, aumentando a velocidade da varredura e reduzindo o tráfego de consultas DNS.

Instalação

Instalando via Smithery

Para instalar a Integração Nmap para Claude Desktop automaticamente via Smithery:

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

Instalação Manual

  1. Clone o Repositório:

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

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. Crie o ambiente:

    uv venv
    
  4. Instale as dependências do pyproject.toml

    uv pip install
    

    ou

    uv pip install -r pyproject.toml
    

Configuração

Para configurar o Servidor MCP Nmap, edite o arquivo claude_desktop_config.json localizado na raiz do projeto. Este arquivo permite definir argumentos de varredura padrão, definir comportamentos das ferramentas MCP e ajustar as configurações de registro.

Exemplo de claude_desktop_config.json:

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

Contribuindo

Contribuições são bem-vindas! Para contribuir:

  1. Faça um Fork do Repositório: Clique no botão "Fork" no canto superior direito da página do repositório.

  2. Clone Seu Fork:

    git clone https://github.com/0xPratikPatil/NmapMCP.git
    
  3. Crie um Novo Branch:

    git checkout -b feature/your-feature-name
    
  4. Faça Suas Alterações: Implemente seu recurso ou correção.

  5. Execute os Testes: Garanta que todos os testes passem.

  6. Faça o Commit das Alterações:

    git commit -m "Add feature: your feature name"
    
  7. Envie para Seu Fork:

    git push origin feature/your-feature-name
    
  8. Envie um Pull Request: Navegue até o repositório original e clique em "New Pull Request".

Licença

Este projeto é licenciado sob a Licença MIT.

Agradecimentos

Agradecimentos especiais às comunidades Nmap e MCP por suas ferramentas e suporte inestimáveis.