Network Monitor MCP Server

Um servidor para monitoramento de pacotes de rede em tempo real e análise de segurança.

Documentação

Servidor MCP de Monitoramento de Rede

Um servidor Model Context Protocol (MCP) para monitoramento de pacotes de rede em tempo real e análise de segurança. Esta ferramenta permite que o Claude inspecione o tráfego de rede e identifique possíveis ameaças de segurança.

Recursos

  • Captura de pacotes em tempo real de interfaces WiFi
  • Análise de protocolos (TCP, UDP, DNS, HTTP/HTTPS)
  • Detecção de ameaças de segurança:
    • Detecção de varredura de portas
    • Consultas DNS maliciosas
    • Padrões de exfiltração de dados
    • Detecção de anomalias
  • Ferramentas MCP para integração com o Claude:
    • capture_start - Iniciar captura de pacotes
    • capture_stop - Parar captura
    • get_packets - Recuperar e filtrar pacotes
    • analyze_traffic - Estatísticas de tráfego
    • get_suspicious - Análise de ameaças de segurança

Pré-requisitos

  • Go 1.21 ou superior
  • Arquivos de desenvolvimento do libpcap
  • Acesso root/sudo para captura de pacotes

Instalando o libpcap

macOS:

brew install libpcap

Linux:

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

# RHEL/CentOS
sudo yum install libpcap-devel

Instalação

  1. Clone o repositório:
git clone https://github.com/skapa-xyz/network-monitor-mcp.git
cd network-monitor-mcp
  1. Instale as dependências:
go mod download
  1. Compile o servidor:
go build -o network-monitor-mcp

Uso

Executando o Servidor MCP

O servidor requer privilégios de root para captura de pacotes:

sudo ./network-monitor-mcp

Configurando o Claude Desktop

⚠️ AVISO IMPORTANTE DE SEGURANÇA:

O Claude Desktop não pode executar comandos diretamente com sudo. Para usar este servidor MCP com o Claude Desktop, você tem duas opções:

Opção 1: Configuração do Sudoers (NÃO RECOMENDADO para produção)

Você pode configurar o sudo para permitir que o binário network-monitor-mcp seja executado sem solicitação de senha. Isso tem IMPLICAÇÕES SIGNIFICATIVAS DE SEGURANÇA e só deve ser feito em ambientes de desenvolvimento isolados onde a segurança não é uma preocupação.

  1. Edite o arquivo sudoers:

    sudo visudo
    
  2. Adicione a seguinte linha (substitua o nome de usuário e o caminho):

    username ALL=(ALL) NOPASSWD: /path/to/network-monitor-mcp
    
  3. Atualize a configuração do Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json no macOS):

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

⚠️ RISCOS DE SEGURANÇA:

  • Isso concede acesso root sem senha ao binário
  • Se o binário for comprometido, um invasor obtém acesso root
  • A captura de pacotes de rede pode expor dados sensíveis
  • Use apenas em ambientes de desenvolvimento/teste isolados
  • Nunca use esta configuração em sistemas de produção ou máquinas com dados sensíveis

Opção 2: Execute o Claude Desktop com privilégios elevados (TAMBÉM NÃO RECOMENDADO)

Você poderia executar o próprio Claude Desktop com sudo, mas isso dá acesso root a todo o aplicativo, o que representa riscos de segurança ainda maiores.

Abordagem Recomendada

Para uso em produção, considere:

  • Executar o servidor MCP como um serviço do sistema com permissões adequadas
  • Usar um sistema de monitoramento dedicado com controles de acesso apropriados
  • Implementar mecanismos adequados de autenticação e autorização

Exemplos de Comandos do Claude

  1. Inicie o monitoramento da sua interface WiFi:

    Use the capture_start tool to monitor interface "en0" with a filter for TCP traffic
    
  2. Verifique se há atividade suspeita:

    Use get_suspicious to show any detected security threats
    
  3. Analise os padrões de tráfego:

    Use analyze_traffic to show network statistics and connection patterns
    
  4. Filtre pacotes específicos:

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

Considerações de Segurança

  • Esta ferramenta requer acesso root para capturar pacotes
  • Use apenas em redes que você possui ou tem permissão para monitorar
  • Os dados capturados podem conter informações sensíveis
  • A ferramenta foi projetada para monitoramento legítimo de segurança em ambientes corporativos

Arquitetura

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

Solução de Problemas

  1. Erros de permissão negada:

    • Certifique-se de estar executando com sudo
    • Verifique a instalação do libpcap
  2. Interface não encontrada:

    • Liste as interfaces disponíveis: ifconfig ou ip link
    • Interfaces WiFi comuns: en0 (macOS), wlan0 (Linux)
  3. Nenhum pacote capturado:

    • Verifique se a interface está ativa
    • Verifique a sintaxe do seu filtro BPF
    • Certifique-se de que há tráfego de rede para capturar

Desenvolvimento

Para contribuir ou modificar:

  1. Siga as boas práticas do Go
  2. Adicione testes para novos recursos
  3. Atualize a documentação
  4. Teste com o Claude Desktop antes de enviar

Licença

Este projeto é apenas para monitoramento de segurança autorizado. Use com responsabilidade e em conformidade com todas as leis e regulamentos aplicáveis.