O que SharkMCP faz?
Analise capturas de rede com linguagem natural conectando o sharkd a LLMs por meio de um servidor MCP.
Visão Geral
SharkMCP é um servidor MCP (Model Context Protocol) que expõe as capacidades de análise de pacotes do Wireshark (via sharkd) para modelos de linguagem, permitindo que você interaja com capturas de rede usando linguagem natural.
Funcionalidades
- Análise de Capturas: Forneça um arquivo pcap e faça perguntas em linguagem natural sobre seu conteúdo
- Filtragem por Protocolo: Analise protocolos específicos como TCP, UDP, HTTP, DNS, TLS e muitos outros
- Estatísticas de Fluxo: Obtenha resumos estatísticos das conexões de rede
- Detecção de Anomalias: Identifique comportamentos suspeitos ou padrões incomuns no tráfego
- Exportação de Resultados: Compartilhe análises em formato legível
Pré-requisitos
- Wireshark (versão 4.0+) instalado e acessível no PATH do sistema
- Node.js (versão 18+) para executar o servidor MCP
- Inicialização do sharkd: O sharkd deve estar em execução e acessível (geralmente na porta local 2364)
Instalação
# Clone o repositório
git clone https://github.com/Spokeswomandodgecity658/SharkMCP.git
cd SharkMCP
# Instale as dependências
npm install
# Configure as variáveis de ambiente
cp .env.example .env
# Edite .env com as configurações necessárias
Configuração
Edite o arquivo .env com as seguintes variáveis:
# Caminho para o executável sharkd (opcional, padrão: 'sharkd')
SHARKD_PATH=/usr/bin/sharkd
# Host do sharkd (opcional, padrão: 'localhost')
SHARKD_HOST=localhost
# Porta do sharkd (opcional, padrão: 2364)
SHARKD_PORT=2364
Uso
Iniciar o servidor MCP
npm start
Exemplo de Interação com o LLM
Depois que o servidor MCP estiver em execução, você pode usá-lo com agentes de IA compatíveis (Claude Code, Cursor, Codex, etc.).
Pergunta:
Analise o arquivo captura.pcap e me mostre as conexões TCP SYN recebidas
Resposta esperada:
Foram encontradas 3 conexões SYN recebidas:
- 192.168.1.10:54321 → 10.0.0.1:80 (tentativa de conexão HTTP)
- 10.0.0.5:12345 → 10.0.0.1:22 (tentativa de conexão SSH)
- 192.168.1.20:33456 → 10.0.0.1:443 (tentativa de conexão HTTPS)
Comandos Disponíveis
| Comando | Descrição |
|---|---|
sharkmcp:open | Abre um arquivo pcap para análise |
sharkmcp:filter | Aplica um filtro de exibição do Wireshark |
sharkmcp:stats | Obtém estatísticas básicas da captura |
sharkmcp:fields | Lista campos disponíveis para um protocolo |
sharkmcp:follow | Segue um fluxo TCP ou UDP específico |
sharkmcp:export | Exporta pacotes ou resultados da análise |
Exemplos de Perguntas
- "Me mostre todo o tráfego DNS em dns_captura.pcap"
- "Quais são os principais conversadores TCP?"
- "Existem pacotes HTTP com erro 404?"
- "Analise os handshakes TLS e liste as versões usadas"
- "Me dê uma visão geral dos protocolos presentes na captura"
Integração com Agentes de IA
Este servidor segue o protocolo MCP. Para integrá-lo com seu agente de IA:
- Inicie o servidor SharkMCP
- Configure seu agente para usar o endpoint MCP (geralmente
http://localhost:3000/mcp) - Forneça ao agente as ferramentas disponíveis (listadas acima)
- Faça perguntas em linguagem natural sobre seus arquivos pcap
Suporte a Protocolos
O SharkMCP herda todo o suporte a protocolos do Wireshark/sharkd. Os principais incluem:
- TCP/UDP: Análise de conexões e fluxos
- HTTP/HTTPS: Cabeçalhos, métodos, códigos de status
- DNS: Consultas e respostas
- TLS: Handshakes, certificados, versões
- ICMP: Ping, traceroute
- ARP: Resolução de endereços
- DHCP: Atribuição de IP
- E muitos outros (via filtros personalizados)
Solução de Problemas
sharkd não encontrado
Verifique se o Wireshark está instalado e o sharkd está no PATH. Você pode definir o caminho manualmente em SHARKD_PATH.
Erro de conexão com sharkd
Certifique-se de que o sharkd está em execução. Inicie-o manualmente:
sharkd
Permissões de arquivo
O usuário que executa o SharkMCP deve ter permissão de leitura nos arquivos pcap.
Licença
MIT
Contribuindo
Contribuições são bem-vindas! Abra uma issue ou envie um pull request no repositório original.
Notas
Este projeto não é afiliado ao Wireshark nem à Wireshark Foundation. sharkd é um componente do Wireshark.