
❄️ PcapXray - Uma Ferramenta de Forense de Rede - Para visualizar uma Captura de Pacotes offline como um Diagrama de Rede, incluindo identificação de dispositivos, destacar comunicações importantes e extração de arquivos
Uma ferramenta de análise forense de rede — visualize arquivos PCAP ou tráfego ao vivo como um diagrama de rede anotado com identificação de dispositivos, classificação de protocolos, detecção de Tor e sinalização de tráfego malicioso.

graph TD
UI[user_interface.py\nGUI controller] --> PR[pcap_reader\nFile + Live capture]
PR --> ENG[engines/\nauto · dpkt · scapy · pyshark]
PR --> MEM[(memory.py\nShared state)]
MEM --> CDF[communication_details_fetch\nDNS · whois]
MEM --> DDF[device_details_fetch\nOUI vendor lookup]
MEM --> TTH[tor_traffic_handle\nTor consensus]
MEM --> MTI[malicious_traffic_identifier\nHeuristic flags]
MEM --> SS[sqlite_store\nSession persistence]
MEM --> PLN[plot_lan_network\nGraphviz PNG + pyvis HTML]
UI --> IG[interactive_gui\nMatplotlib panel]
IG --> MEM
PLN --> OUT[Reports + Diagrams]
Dado um arquivo PCAP ou uma interface de rede ao vivo, plotar um diagrama de rede exibindo hosts, fluxos de tráfego, comunicações importantes/Tor/maliciosas e os dados envolvidos em cada sessão.
Criar um diagrama de rede com as seguintes características:
Destaques da Ferramenta:
Painel principal da aplicação

Gráfico de rede estático — layout natural com zoom automático


Requisitos: Python 3.10+
sudo apt-get update
sudo apt-get install -y python3-tk graphviz tshark
pip3 install -r requirements.txt
sudo python3 Source/main.py
Se estiver usando uma versão específica do Python (3.11, 3.12), substitua
python3-tkporpython3.11-tkoupython3.12-tk. Instale o Pillow via pip apenas — não instalepython3-pilpelo apt, pois causa conflitos.
brew install graphviz
pip3 install -r requirements.txt
sudo python3 Source/main.py
O
sudoé necessário para captura ao vivo. A análise de arquivos funciona sem ele.
.pcap / .pcapngauto)sudo / root)O PcapXray suporta quatro backends de análise intercambiáveis, selecionáveis na barra de ferramentas:
Todas as dependências estão em requirements.txt — instale com pip3 install -r requirements.txt.
O Tkinter é a única biblioteca que não está no PyPI — instale via gerenciador de pacotes do sistema (python3-tk no Linux, incluído com Python no macOS).
Consulte DEV.md para documentação completa da arquitetura, diagramas de fluxo de chamadas, responsabilidades dos módulos, modelo de threads e como adicionar um novo mecanismo.
Consulte SECURITY.md para divulgação responsável, postura de segurança e limitações conhecidas.
# Suite rápida — sem chamadas de rede
pytest -m "not network" Test/
# Suite completa incluindo DNS real e Tor
pytest Test/
# Ambientes de motor isolados
tox
tox -e all-engines
96+ testes em Python 3.10, 3.11, 3.12.
dpkt para melhor desempenho em arquivos grandes.| Mecanismo | Melhor para | Observações |
|---|
auto | Uso geral | Tenta dpkt primeiro, recai para scapy |
dpkt | Arquivos grandes, baixa memória | Análise offline rápida |
scapy | Inspeção profunda de protocolos | Consciente de TLS, mais lento em arquivos grandes |
pyshark | Cobertura máxima de protocolos | Requer tshark instalado |
| Biblioteca | Finalidade |
|---|
| scapy | Leitura de pacotes e captura ao vivo |
| dpkt | Mecanismo de análise rápida de PCAP |
| pyshark | Mecanismo de análise baseado em tshark |
| ipwhois | Consulta Whois / RDAP |
| netaddr | Classificação de endereços IP |
| pillow | Processamento de imagens para exibição do gráfico |
| stem | Obtenção de dados do consenso Tor |
| graphviz | Renderização do diagrama de rede |
| networkx | Construção do grafo e layout |
| matplotlib | Painel de gráfico interativo embutido |
| pyvis | Grafo de rede HTML interativo |
| pydantic | Modelos de dados tipados para estado da sessão |
| cryptography | Análise de suites de cifra TLS |