O que é o formato de ficheiro PCAP?
.pcap é um formato de arquivo binário usado por aplicativos para monitoramento de tráfego de rede. Um *sniffer* - por exemplo, o Wireshark - captura dados de pacotes em tempo real e os salva em um arquivo .pcap. Os arquivos PCAP permitem que os usuários inspecionem o tráfego de rede de uma determinada sessão de captura em modo off-line, em oposição ao modo em tempo real. Analisar e auditar o tráfego de rede é uma prática essencial que facilita a otimização do desempenho da rede e a prevenção de ataques cibernéticos.
O formato originou-se do projeto libpcap/tcpdump e tornou-se o padrão de fato para armazenamento de captura de pacotes. Cada arquivo começa com um cabeçalho global de 24 bytes cujo número mágico (D4 C3 B2 A1 em ordem de bytes little-endian) identifica o arquivo e sinaliza a ordem dos bytes para as ferramentas de leitura. O tipo MIME oficial é application/vnd.tcpdump.pcap. Um sucessor mais recente - .pcapng - adiciona suporte para múltiplas interfaces, blocos de metadados e comentários; o Wireshark detecta automaticamente ambos os formatos ao abrir.
O que é um sniffer?
Um sniffer é um tipo de ferramenta de software que pode capturar e analisar o tráfego de rede. A ferramenta «escuta» o tráfego em uma determinada rede alternando uma interface de rede para o modo *promíscuo*, para que possa ver todo o tráfego nessa rede, incluindo dados não endereçados a essa interface específica. Executar um sniffer em um roteador ou computador conectado à rede não requer o modo promíscuo. Um *sniffer* também pode se referir a um dispositivo eletrônico usado para monitorar o tráfego de rede.
Wireshark
O Wireshark é uma ferramenta sniffer gratuita e de código aberto disponível para Windows, Linux e macOS. Sua amplitude de recursos o tornou a ferramenta de análise de tráfego de rede mais popular, usada por equipes profissionais de TI e segurança, bem como por usuários individuais. Ethereal era o nome original desta ferramenta até maio de 2006, quando foi renomeada para Wireshark. A contraparte de linha de comando tshark e a ferramenta clássica de Unix tcpdump também leem e gravam arquivos .pcap nativamente, tornando o formato universalmente suportado em todas as plataformas.
Segurança e proteção
RISCO: MEDIUMUm .pcap contém dados passivos e não pode ser executado, mas é sensível: uma captura pode conter senhas em texto simples, cookies de sessão, tokens de autenticação, IPs/hostnames internos e outro tráfego privado. Trate as capturas como confidenciais e NÃO envie capturas sensíveis para analisadores on-line públicos. Capturar tráfego em redes que você não possui ou não está autorizado a monitorar pode ser ilegal. Além disso, verifique se o arquivo é realmente uma captura - um arquivo com extensão .pcap que não corresponde aos bytes mágicos libpcap/pcapng pode estar rotulado incorretamente ou ser um formato diferente.
Detalhes do formato
em resumoProgramas que abrem arquivos PCAP
Detalhes técnicos
especificação profunda| Estrutura do arquivo | Cabeçalho global de 24 bytes seguido por registros de pacotes sequenciais, cada um com um cabeçalho por pacote de 16 bytes e dados brutos do quadro capturado |
| Número mágico (little-endian) | 0xD4C3B2A1 no deslocamento de byte 0, identificando o arquivo e sinalizando a ordem de bytes little-endian para as ferramentas de leitura |
| Número mágico (big-endian) | 0xA1B2C3D4 no deslocamento de byte 0, usado quando a máquina de captura grava em ordem de bytes big-endian |
| Variantes de resolução em nanossegundos | O Magic 0x4D3CB2A1 (LE) ou 0xA1B23C4D (BE) marca arquivos onde os carimbos de data/hora são armazenados em nanossegundos em vez de microssegundos |
| Codificação de timestamp | Dois inteiros de 32 bits por pacote: segundos desde a época Unix e microssegundos (ou nanossegundos na variante de precisão ns) |
| Campo Snaplen | Campo de cabeçalho global de 32 bits que limita o máximo de bytes salvos por pacote; o valor padrão de captura é 65535 bytes |
| Campo Network (tipo de camada de enlace) | Código de 32 bits no cabeçalho global identificando a camada de enlace de dados: 1 = Ethernet, 105 = IEEE 802.11 Wi-Fi, 113 = Linux cooked capture |
| Campos de cabeçalho por pacote | ts_sec, ts_usec/ts_nsec, incl_len (bytes realmente salvos), orig_len (comprimento original do pacote na rede) |
| Tipo MIME | application/vnd.tcpdump.pcap |
| Detecção de ordem de bytes | Totalmente automática - as ferramentas leem o número mágico no deslocamento 0 para determinar a endianness sem entrada do usuário |
| Formato sucessor | .pcapng (PCAP Next Generation) adiciona suporte a múltiplas interfaces, blocos de metadados, comentários de pacotes e registros de pacotes aprimorados |
| Compressão | O formato não é compactado por design; os arquivos são comumente distribuídos como .pcap.gz (gzip) ou .pcap.xz para armazenamento e transferência |
| Principais ferramentas de captura | tcpdump (linha de comando, Unix/Windows); tshark (linha de comando multiplataforma); Wireshark (GUI) |
| Limite de tamanho de arquivo | Sem máximo imposto pelo formato; limitado apenas pelos limites do sistema de arquivos do sistema operacional e pelo armazenamento disponível |
| Lançado | Early 1990s (libpcap/tcpdump); IETF draft standard for the on-disk format |
| Padrão aberto | Sim · livre de royalties |
| Especificação | datatracker.ietf.org |