
Visualizador de tráfego de rede focado em grafos para captura ao vivo e reprodução de PCAP com diffs de checkpoint, rastreamento de caminho e filtros de exibição no estilo Wireshark para análise de segurança.
PacMap é um visualizador de tráfego de rede baseado em grafos para captura ao vivo e reprodução de PCAP que ajuda você a ver o que mudou, o que é ruído e o que inspecionar em seguida.
Pense nele como um Git para comportamento de rede: instantâneo, diff e reprodução visual do estado da rede.

PacMap suporta dois fluxos de trabalho:
.pcap ou .pcapng salvo e reproduza o fluxo de pacotes ao longo do tempo.A partir da raiz do repositório:
python3 -m venv venv
source venv/bin/activate
pip install websockets scapy
npm install --prefix client
No Windows, crie e ative um venv usando seu fluxo de trabalho normal do Python, depois instale os mesmos pacotes. A captura de pacotes no Windows requer o Npcap.
Inicie o PacMap a partir da raiz do repositório:
npm start -- --iface en0
Exemplos comuns de interface:
en0eth0wlan0Abra:
http://127.0.0.1:5176
Em seguida, use o painel de controle para iniciar a captura ao vivo.
A captura bruta de pacotes geralmente precisa de privilégios elevados localmente. No macOS/Linux:
sudo npm start -- --iface en0
No Windows, execute o terminal como Administrador.
Abra o aplicativo web, mude a fonte para Reprodução de PCAP e carregue um arquivo .pcap ou .pcapng. Em seguida, use:
A reprodução é executada no navegador e não requer que o servidor de captura Python esteja em execução.
A reprodução inclui painéis de investigação para conversas, endpoints, detalhamento de protocolo, resolução de nomes e atividade da linha do tempo de E/S.
Limites de arquivo: 100 MB e 100.000 pacotes. Quadros não suportados são ignorados e contados na interface.
Suporte atual de reprodução:
.pcap and basic .pcapngTanto a Captura ao Vivo quanto a Reprodução suportam uma barra de filtro de exibição no estilo Wireshark. Digite um filtro e pressione Enter para aplicar; limpe o campo e pressione Enter para removê-lo.
Sintaxe suportada:
tcp udp dns http arp
ip.addr == 192.168.1.10
ip.src == 10.0.0.1
ip.dst == 8.8.8.8
tcp.port == 443
udp.port == 53
port == 80
ip.src == 10.0.0.1 && ip.dst == 8.8.8.8
Filtros compostos (&&) combinam dois filtros de campo. Aplicar um filtro restringe o gráfico a nós e arestas correspondentes; limpá-lo restaura a visão completa para a janela de captura atual.
Um filtro composto ip.src == X && ip.dst == Y ativa o rastreamento de caminho. O PacMap executa BFS sobre a captura completa para encontrar a cadeia de saltos entre os dois endpoints. Um painel aparece abaixo do painel de controle mostrando cada salto com contagens de pacotes e bytes por aresta, e os nós intermediários são destacados no gráfico.
Os pontos de verificação capturam o estado atual da rede — nós, arestas, volumes de tráfego — em um ponto no tempo.
Os pontos de verificação persistem no localStorage sob pacmap_checkpoints (até 50 entradas).
Os navegadores não podem capturar tráfego de rede do host ou iniciar a captura privilegiada de pacotes diretamente. O PacMap usa um auxiliar local Python WebSocket com Scapy para captura ao vivo, depois transmite resumos de pacotes para o aplicativo React em:
ws://127.0.0.1:8765
A reprodução de PCAP é diferente: o navegador lê o arquivo carregado e reutiliza a mesma visualização de gráfico sem precisar de acesso a pacotes ao vivo.
Apenas frontend:
cd client
npm install
npm run dev
Build de produção:
npm run build
Apenas servidor de captura:
source venv/bin/activate
python3 server.py --iface en0
server.py não está em execução ou a porta WebSocket está indisponível.ping 8.8.8.8, consultas DNS ou outra atividade de rede.