Uma captura de pacotes é o que a segurança da informação tem de mais próximo de um detector de mentiras. Firewalls, logs de aplicação e painéis dão cada um a sua versão dos fatos. O cabo mostra o que realmente aconteceu. Aprender a usar o Wireshark, a ferramenta que lê esse cabo, é uma das habilidades de maior retorno para adquirir cedo, quer você se incline para a defesa de rede, a resposta a incidentes ou o teste de invasão ofensivo.
O Wireshark é um analisador de pacotes gratuito e de código aberto que captura o tráfego de uma interface de rede e o decodifica protocolo por protocolo, dos quadros Ethernet até as requisições HTTP. Este guia cobre a instalação, a captura dos seus primeiros pacotes e o uso dos filtros de exibição que separam uma investigação útil de uma parede ilegível de dados. Deixe o nosso lab Packet Pursuit aberto em outra aba enquanto lê: ele entrega um arquivo de captura real com uma flag dividida entre tráfego DNS, ICMP e HTTP, e os filtros deste tutorial funcionam diretamente nele.
Resumo: o Wireshark é um analisador de protocolos de rede gratuito que captura e decodifica pacotes em tempo real. Escolha sua interface, clique no ícone de barbatana de tubarão para iniciar uma captura e reduza o ruído com filtros de exibição como http, ip.addr == 10.0.0.5 ou tcp.port == 443. Clique com o botão direito em qualquer pacote e escolha Seguir > Fluxo TCP para remontar uma conversa inteira. Domine os filtros primeiro; o resto vem depois.
O que é o Wireshark e para que serve?
O Wireshark é um analisador de protocolos de rede gratuito e de código aberto que captura pacotes que trafegam por uma interface de rede e os decodifica em uma análise legível por humanos. Ele mostra cada camada de cada pacote, dos bytes brutos no cabo até os dados de aplicação lá dentro, o que permite ver exatamente o que duas máquinas disseram uma à outra.
A ferramenta é o padrão do setor há mais de duas décadas, lançada originalmente como Ethereal em 1998 e renomeada para Wireshark em 2006. Ela funciona em Windows, macOS e Linux, e a sua referência de filtros de exibição cobre mais de 328.000 campos em 3.000 protocolos na versão 4.6.9. Ela também abre arquivos de captura de dezenas de outras ferramentas, incluindo tudo o que o tcpdump -w grava. Quando uma vaga de emprego menciona "análise de pacotes", quase sempre se refere ao Wireshark.
As pessoas o usam para responder a perguntas que os logs não respondem:
- Por que esta conexão está lenta, e onde o atraso realmente acontece?
- Este host está se comunicando com um servidor que não tem motivo para contatar?
- Quais credenciais ou dados atravessaram o cabo em texto claro?
- Aquele scan do Nmap chegou ao alvo, e como o alvo respondeu?
- O que contém este
.pcapsuspeito vindo de um caso de forense?
Um ponto para esclarecer logo de início: o Wireshark captura o tráfego, ele não ataca nada. É um ouvinte passivo. Em uma rede comutada, você só vê o tráfego da sua própria máquina, mais o broadcast e parte do multicast, a menos que configure um espelhamento de porta (porta SPAN) ou um tap de rede. Essa limitação confunde iniciantes que esperam abrir o Wireshark numa LAN corporativa e ver o tráfego de todo mundo passar.
Instalando o Wireshark
O Wireshark vem pré-instalado no Kali Linux e no Parrot OS. Em todo o resto, a instalação leva alguns minutos. A versão estável atual é o Wireshark 4.6 (4.6.9 em setembro de 2026), e tudo o que está descrito aqui vale para qualquer versão 4.x.
Windows e macOS
Baixe o instalador na página oficial de download do Wireshark. O instalador do Windows inclui o Npcap, o driver de captura de que o Wireshark precisa para ver o tráfego ao vivo. Aceite-o durante a instalação, pois sem um driver de captura você pode abrir arquivos salvos mas não capturar pacotes ao vivo. No macOS, arraste o Wireshark para Aplicativos e depois execute o Install ChmodBPF.pkg da mesma imagem de disco. Pule esse segundo passo e a lista de interfaces fica vazia, porque é o ChmodBPF que dá ao seu usuário acesso aos dispositivos de captura.
Linux (Debian e Kali)
sudo apt update && sudo apt install wireshark
Durante a instalação, um prompt pergunta se usuários sem privilégios de superusuário devem ter permissão para capturar pacotes. Responda sim se quiser rodar o Wireshark sem sudo, depois adicione seu usuário ao grupo wireshark e saia e entre novamente na sessão:
sudo usermod -aG wireshark $USER
Esse passo importa. Rodar a interface gráfica como root é um mau hábito: os milhões de linhas de dissectores de protocolo do Wireshark passariam a analisar tráfego de rede não confiável com privilégios totais no sistema. Perdeu o prompt? Rode sudo dpkg-reconfigure wireshark-common para vê-lo de novo. Se sua lista de interfaces aparecer vazia, uma associação de grupo faltando é a causa habitual.
Confirme que funciona
wireshark --version
Você deve ver uma versão 4.x (os pacotes das distribuições costumam estar uma versão menor atrás, e tudo bem). Para abrir o Wireshark pelo terminal e já começar a capturar, passe a interface e -k:
wireshark -i eth0 -k
Caso contrário, abra o aplicativo e chegará à tela de boas-vindas mostrando a lista de interfaces de rede, cada uma com um pequeno gráfico indicando a atividade ao vivo. Se esses gráficos estão se movendo, seu driver de captura está funcionando.
Como usar o Wireshark para capturar seus primeiros pacotes
Capturar tráfego é deliberadamente simples. A habilidade está no que você faz com os pacotes depois, mas primeiro você precisa de uma captura.
Passo 1: escolha a interface certa
Na tela de boas-vindas, cada interface (Wi-Fi, Ethernet, loopback) mostra uma linha de atividade ao vivo. Escolha a que carrega o tráfego que te interessa. Se você está analisando sua própria requisição web, geralmente é seu adaptador Wi-Fi ou Ethernet ativo. Dê um duplo clique nela, ou selecione-a e clique no ícone azul de barbatana de tubarão no canto superior esquerdo, para iniciar a captura.
Passo 2: gere algum tráfego
Com a captura em andamento, faça algo na rede. Carregue um site, envie um ping para um host ou rode um scan. Os pacotes começam a entrar na lista em tempo real. Veja o contador subir na barra de status embaixo. Numa interface movimentada isso enche rápido, e é exatamente por isso que a filtragem é a próxima coisa que você aprende.
Passo 3: pare e salve
Clique no quadrado vermelho para parar a captura assim que tiver o que precisa. Salve com Arquivo > Salvar como no formato .pcapng, o padrão moderno que preserva os metadados da captura. O antigo formato .pcap ainda serve quando você precisa de compatibilidade com ferramentas mais antigas.
Na prática, muitas capturas nem começam no Wireshark. Num servidor sem interface gráfica, você grava com tcpdump -w captura.pcap, copia o arquivo para o seu notebook e faz a análise aqui em Arquivo > Abrir.
dns, icmp e http para remontar uma flag dividida entre três protocolos.
Lendo a interface do Wireshark
Assim que os pacotes aparecem na tela, a janela se divide em três painéis empilhados de cima para baixo. Entender o que cada um faz é a diferença entre encarar ruído e ler uma conversa.
- Lista de Pacotes (topo) - Uma linha por pacote, com colunas para hora, origem, destino, protocolo, tamanho e um resumo. Este é o seu índice.
- Detalhes do Pacote (meio) - O pacote selecionado expandido em camadas de protocolo recolhíveis, de Frame e Ethernet até IP, TCP e o protocolo de aplicação. É aqui que você aprofunda.
- Bytes do Pacote (base) - O hexadecimal e o ASCII brutos do pacote. Clique num campo no painel de detalhes e os bytes correspondentes são destacados abaixo.
As cores das linhas não são decoração. O Wireshark vem com regras de coloração que sinalizam o tráfego por tipo: roxo claro para TCP, azul pálido para UDP, e preto com texto vermelho para "Bad TCP" (retransmissões, ACKs duplicados, segmentos fora de ordem) e erros de checksum. Quando você vê uma sequência de linhas pretas, algo está dando errado naquela conexão, e é muitas vezes por aí que uma investigação começa. Você pode editar essas regras em Exibir > Regras de Coloração, mas os padrões são bem escolhidos e vale aprendê-los antes de mudá-los.
Filtros do Wireshark: a habilidade que mais importa
Um único minuto de captura numa máquina normal pode produzir dezenas de milhares de pacotes. Ninguém lê isso rolando a tela. Os filtros são como você reduz tudo ao punhado de pacotes que responde à sua pergunta, e o Wireshark tem dois tipos distintos que os iniciantes confundem o tempo todo.
Filtros de captura x filtros de exibição
Os filtros de captura decidem quais pacotes são gravados em primeiro lugar. Você os define antes de começar, eles usam a sintaxe BPF (a mesma linguagem que o tcpdump usa na linha de comando), e tudo que descartam some para sempre. Use-os quando já sabe que só quer, digamos, tráfego para um host: host 192.168.1.50 ou port 80.
Os filtros de exibição escondem pacotes da visão sem apagá-los, e são os que você vai usar o tempo todo. Você os digita na barra de filtro de exibição, logo abaixo da barra de ferramentas, e os muda quantas vezes quiser, já que a captura completa permanece intacta por baixo. Os dois usam sintaxes completamente diferentes, o que é a fonte mais comum de frustração para iniciantes. Na dúvida, capture amplamente e filtre a exibição.
Filtros de exibição que vale memorizar
Estes são os filtros que cobrem a maior parte do trabalho do dia a dia. Digite um na barra de filtro de exibição e pressione Enter; a barra fica verde quando a sintaxe é válida e vermelha quando não é.
| Filtro | O que mostra |
|---|---|
http | Apenas tráfego HTTP |
dns | Apenas consultas e respostas DNS |
ip.addr == 10.0.0.5 | Qualquer pacote de ou para esse IP |
ip.src == 10.0.0.5 | Apenas pacotes daquela origem |
tcp.port == 443 | Tráfego na porta 443 (HTTPS) |
tcp.flags.syn == 1 and tcp.flags.ack == 0 | Só tentativas de conexão (SYNs iniciais, o formato de um scan de portas) |
http.request.method == "POST" | Envios de formulários e requisições de API |
frame contains "password" | Qualquer pacote cujos bytes contenham exatamente essa string (diferencia maiúsculas) |
frame matches "(?i)passw" | A mesma ideia com regex, sem diferenciar maiúsculas |
!(ip.addr == 10.0.0.5) | Tudo, exceto o tráfego de ou para esse host |
tcp.analysis.retransmission | Pacotes retransmitidos (sinais de um link lento ou com perdas) |
Encadeie-os com and, or e not (ou &&, ||, !) para ganhar precisão. Para observar o tráfego web de um único host ignorando todo o resto, use ip.addr == 10.0.0.5 and http. A referência oficial de filtros de exibição lista cada campo de cada protocolo, mas você usará a mesma dúzia de filtros em noventa por cento das vezes. Largue o mouse: aprenda a digitar os filtros e sua velocidade salta na hora. O nosso guia rápido do Wireshark reúne a lista completa numa única página.
A pegadinha do !=: um pacote carrega dois valores de ip.addr, origem e destino. Antes do Wireshark 3.6, ip.addr != 10.0.0.5 deixava passar o pacote se qualquer um dos dois fosse diferente, então o filtro quase não escondia nada. Desde a 3.6, a != b sempre significa !(a == b) e o filtro faz o que você espera. Tutoriais antigos ainda alertam sobre isso, e !(ip.addr == 10.0.0.5) funciona em qualquer versão, então é o hábito mais seguro.
Seguindo o fluxo TCP
Pacotes individuais são fragmentos de uma troca maior. O carregamento de uma única página web está espalhado por dezenas de pacotes intercalados com outros tráfegos. O recurso mais útil do Wireshark os remonta para você.
Clique com o botão direito em qualquer pacote TCP e escolha Seguir > Fluxo TCP (ou pressione Ctrl+Alt+Shift+T). O Wireshark costura cada pacote daquela conversa de volta na troca original e a mostra numa única janela, com os dados do cliente em vermelho e os do servidor em azul por padrão. Ele também aplica um filtro de exibição tcp.stream eq N para que a lista mostre só aquela conversa. Para uma sessão HTTP não criptografada, você vê os cabeçalhos de requisição completos e a página retornada. Para um protocolo em texto claro como FTP ou Telnet, você vê a troca de login em claro, credenciais incluídas.
Este é o momento em que o Wireshark deixa de parecer uma mangueira de incêndio e começa a parecer uma transcrição. Na prática, seguir o fluxo é como você confirma o que uma conexão realmente fez: o que foi pedido, o que voltou e se algo sensível trafegou sem criptografia. Para tráfego HTTPS, o fluxo é criptografado e mostra texto cifrado, o que é justamente o propósito do TLS. Você só pode descriptografá-lo se fornecer as chaves de sessão: defina a variável de ambiente SSLKEYLOGFILE antes de abrir o seu próprio navegador e depois aponte o Wireshark para esse arquivo em Preferências > Protocols > TLS > (Pre)-Master-Secret log filename.
Usando o Wireshark para análise de segurança
Filtros e fluxos são a mecânica. A razão pela qual os profissionais de segurança vivem no Wireshark é o que essa mecânica permite encontrar. Alguns padrões aparecem repetidamente.
- Credenciais em texto claro. Filtre por
httpouftpe siga o fluxo. Qualquer senha enviada por um protocolo não criptografado fica ali em texto claro. Vê-la uma vez é um argumento mais forte a favor do HTTPS do que qualquer apresentação de slides. - Scans de portas. Uma rajada de pacotes
tcp.flags.syn == 1 and tcp.flags.ack == 0de uma origem para muitas portas, cada um respondido por um SYN/ACK ou um RST, é a impressão digital de um scan SYN do Nmap. Comparar a captura com a sua saída de scan do Nmap te ensina como cada tipo de scan aparece no cabo. - DNS suspeito. Filtre
dnse procure subdomínios longos e de aparência aleatória ou consultas a domínios que nenhuma aplicação legítima usaria. A exfiltração de dados e os canais de comando e controle muitas vezes se escondem dentro do DNS. - Destinos inesperados. Use Estatísticas > Conversas para listar cada par de hosts na captura, ordenado por bytes. Uma estação de trabalho enviando megabytes discretamente para um IP desconhecido merece um olhar mais atento.
O menu Estatísticas merece uma menção à parte. A Hierarquia de Protocolos te dá um detalhamento em uma tela dos protocolos que compõem a captura, e Conversas e Endpoints transformam milhares de pacotes numa tabela ordenada de quem falou com quem. Quando um .pcap cai na sua mesa sem contexto, essas três visões são por onde você começa antes mesmo de tocar num filtro de exibição.
A análise de pacotes está no centro do trabalho tanto do time defensivo quanto do ofensivo, e é por isso que ela aparece no nosso guia de teste de invasão de rede e nos conteúdos de forense.
Considerações legais e éticas
Lembrete essencial: capturar tráfego de uma rede que você não possui ou não tem permissão escrita para monitorar pode violar leis de interceptação e uso indevido de computadores, mesmo que o Wireshark apenas escute. Passivo não significa legal.
Farejar uma rede grava as comunicações de outras pessoas, e em muitas jurisdições isso é tratado da mesma forma que interceptar uma ligação telefônica. O fato de a ferramenta ser passiva não oferece nenhuma cobertura legal. A intenção também não.
Onde a captura de pacotes é permitida
- Sua própria rede doméstica ou de lab, onde você possui cada dispositivo
- Testes de invasão cobertos por uma carta de contratação assinada que autoriza o monitoramento de rede
- Redes corporativas onde você é o administrador e o monitoramento é divulgado na política
- Arquivos de captura fornecidos para treinamento, CTFs e labs de prática feitos para isso
O Wi-Fi público é a armadilha clássica. Abrir o Wireshark numa cafeteria para ver o que passa é um crime em muitos lugares, por menor que seja o uso dos dados. Restrinja suas capturas a sistemas que você possui ou está contratado para testar.
Perguntas frequentes
Para que serve o Wireshark?
O Wireshark serve para capturar e analisar o tráfego de rede pacote por pacote. Engenheiros de rede o usam para resolver conexões lentas ou quebradas, analistas de segurança para identificar tráfego malicioso e credenciais em texto claro, e equipes de forense para reconstruir o que aconteceu durante um incidente a partir de um arquivo de captura.
O Wireshark é gratuito?
Sim. O Wireshark é gratuito e de código aberto sob a licença GNU GPL, em Windows, macOS e Linux. Não há versão paga nem taxa de licença. O único custo é o tempo necessário para aprender seus filtros e recursos.
O Wireshark pode capturar senhas?
Ele pode capturar credenciais enviadas por protocolos não criptografados como HTTP, FTP e Telnet, porque esses enviam os dados em texto claro. O tráfego protegido por HTTPS, SSH ou uma VPN é criptografado, então o Wireshark vê apenas texto cifrado, a menos que você forneça separadamente as chaves de sessão.
Qual a diferença entre um filtro de captura e um filtro de exibição?
Um filtro de captura decide quais pacotes são gravados e usa a sintaxe BPF definida antes da captura; pacotes descartados são perdidos. Um filtro de exibição apenas esconde pacotes da visão e pode ser mudado a qualquer momento, já que a captura completa permanece intacta. Os filtros de exibição usam a sintaxe própria do Wireshark e são os que você mais usa.
É legal usar o Wireshark?
O software é legal para instalar e executar. Capturar tráfego só é legal em redes que você possui ou para as quais tem permissão escrita explícita de monitoramento. Farejar uma rede que você não controla, como um Wi-Fi público, pode violar leis de interceptação e uso indevido de computadores mesmo que você nunca use os dados.
Por que o Wireshark não mostra nenhuma interface ou nenhum pacote?
A causa habitual é um problema de permissões ou de driver. No Linux, adicione seu usuário ao grupo wireshark e entre novamente na sessão. No Windows, confirme se o Npcap foi instalado corretamente. Verifique também se você selecionou uma interface com tráfego ao vivo, já que um adaptador ocioso não mostra nada.
Seus próximos passos
Agora você sabe usar o Wireshark de ponta a ponta: instalá-lo com um driver de captura funcional, escolher a interface certa e gravar pacotes, ler o layout de três painéis e cortar o ruído com filtros de exibição como http e ip.addr. As duas habilidades que mais pesam são digitar filtros de exibição com fluidez e seguir o fluxo TCP para ler uma conversa completa. Domine-as e um arquivo de captura deixa de intimidar e passa a ser uma história que você sabe ler.
A forma mais rápida de fixar isso é abrir uma captura real e caçar algo específico. Pegue a captura do nosso lab Packet Pursuit e remonte a flag escondida entre DNS, ICMP e HTTP, depois vá além com o capítulo de forense de rede, que combina o Wireshark com logs do Zeek e análise de DNS para investigar uma intrusão. Comece com o plano gratuito da HackerDNA, sem cartão de crédito, e analise pacotes em vez de apenas ler sobre eles.
Parte da série Teste de Invasão
Artigos relacionados: