
PcapXray é uma Ferramenta Forense de Rede Para visualizar uma Captura de Pacotes offline como um Diagrama de Rede, incluindo a identificação do dispositivo, destaque a comunicação importante e a extração de arquivos.
Objetivo da Especificação do Projeto PcapXray :
Dado um Arquivo Pcap, plote um diagrama de rede exibindo hosts na rede, tráfego de rede, destaque tráfego importante e tráfego Tor, bem como tráfego malicioso potencial incluindo dados envolvidos na comunicação.
Problema:
- A investigação de um arquivo Pcap leva muito tempo, dada a falha inicial para iniciar a investigação
- Confrontado por todos os investigadores forenses e por qualquer um que esteja analisando a rede
- Localização: https://github.com/Srinivas11789/PcapXray
Solução: acelere o processo de investigação
- Faça um diagrama de rede com os seguintes recursos de um arquivo Pcap. Destaques da ferramenta:
- Diagrama de Rede – Resumo Diagrama de Rede da rede completa
- Em formação:
- Tráfego da Web com Detalhes do Servidor
- Tor Traffic
- Tráfego malicioso possível
- Dados Obtidos do Pacote no Relatório – Dispositivo / Tráfego / Payloads
- Detalhes do dispositivo
Imagem da Ferramenta:


Componentes:
- Diagrama de rede
- Detalhes e análise de dispositivos / tráfego
- Identificação de Trânsito Maliciosa
- Tor Traffic
- GUI – um gui com opções para carregar o arquivo pcap e exibir o diagrama de rede
Bibliotecas Python usadas: – Todas essas bibliotecas são necessárias para funcionalidade
- Tkinter e TTK – Instalar do pip ou apt-get – Garanta que o Tkinter e o graphviz estejam instalados (a maioria do Linux contém por padrão)
- apt instalar python-tk
- apt instalar graphviz
- apt instalar python3-tk (para suporte python3)
- Às vezes, os erros do ImageTk são lançados em python3 env -> usam o apt install python3-pil python3-pil.imagetk
- Todos estes estão incluídos no arquivo requirements.txt
- Scapy – rdpcap para ler os pacotes do arquivo pcap
- Ipwhois – para obter informações whois do ip
- Netaddr – para verificar o tipo de informação ip
- Travesseiro – biblioteca de processamento de imagem
- Biblioteca de busca de dados consensuais do tronco
- pyGraphviz – gráfico de plotagem
- Networkx – gráfico de plotagem
- Matplotlib – gráfico de plotagem (não usado a partir de agora)
Demonstração

Começando:
- Clone o repositório
- instalação pip -r requirements.txt
- fonte python / main.py
Informação adicional:
- Testado no Linux
- Opções para o tráfego incluem – Web (HTTP e HTTPS), Tor, Malicioso, ICMP, DNS
Desafios:
- Instabilidade do TK GUI:
- Decisão na GUI entre Django e TK, resolvida em tk para uma interface local simples, mas a instabilidade do tk gui causou uma série de problemas
- Plotagem de gráfico:
- Plotar um grafo de rede adequado que seja legível a partir dos dados obtidos foi um grande esforço, utilizou diferentes bibliotecas para chegar a um.
- Desempenho e Timing:
- O desempenho e o tempo do aplicativo total foi um grande desafio com a coleta de dados e geração de saída diferentes
Bugs Conhecidos:
- Memória Hogging
- Às vezes, o hogging de memória ocorre quando uma RAM menor está presente no sistema, pois os dados armazenados na memória do arquivo pcap são enormes
- Deve ser Corrigido movendo dados para um banco de dados do que a própria memória
- Condição corrida
- Devido ao mainloop do TK GUI, outros segmentos podem sofrer uma condição de corrida
- Deve ser corrigido, passando para uma implementação de TK melhor estruturada ou GUI da Web
- Tk GUI Unstability:
- Mesma razão que acima
- Código:
- fluxo de código desajeitado e não estruturado
- Correção atual em raras ocasiões: Se qualquer um dos problemas acima ocorrer, a barra de progresso continuará em execução e nenhuma saída será gerada, uma reinicialização do aplicativo será necessária.
Recipientes Docker de PcapXray
- Dockerfile presente na pasta raiz foi usado para criar imagens
- Imagens docker já construídas são encontradas no dockerhub
- srinivas11789 / pcapxray-1.0
- srinivas11789 / pcapxray-2.2
- Executar as etapas no
run.sh
arquivo manualmente funcionaria para iniciar a ferramenta via docker (posso ajudar com erros) - Executar
run.sh
scripts é uma tentativa de automatizar (não funcionaria 100%)- testado em mac e linux – será melhor em breve! …
PcapXray 2.0
- Inclui recurso de zoom
- Melhora a usabilidade com um recurso de arquivos de navegação
- Correções de diretório de relatórios para imagens gráficas
- Inclui algumas correções de bugs
Tarefas Futuras Imediatas: (Meta: 3.0)
- Limpar código (embelezar a base de código de ser um protótipo)
- Geração de relatórios em pastas exclusivas para todos os ativos de uma captura de pacotes
- Detecção de atividade suspeita
- Suporta mais motor de leitura pcap
- Suporte de tráfego: ICMP, DNS
- Detecção de tipo de arquivo conhecido e Extrair
- Python2 e Python3
Futuro:
- Fluxo de código estruturado e limpo
- Alterar o banco de dados de JSON para sqlite ou banco de dados proeminente, devido a memória hogging
- Mudar o fronend para a web, como o Django
- Tornar a aplicação mais estável
- Mais suporte ao protocolo
- Código de limpeza
Apenas por diversão de segurança!