O Wireshark continua a ser, em 2026, a ferramenta de referência para quem precisa de ver o que realmente circula numa rede. É gratuito, é de código aberto e analisa mais de 3.000 protocolos. Quer esteja a depurar uma aplicação que não liga ao servidor, a investigar um incidente de segurança ou apenas a perceber como funciona um handshake TLS, o Wireshark mostra cada byte que entra e sai da sua placa de rede.

Este tutorial leva-o do zero a um projeto completo em 12 passos. Vamos instalar a versão estável mais recente, capturar tráfego real, filtrar ruído, decifrar TLS 1.3 e extrair ficheiros transferidos por HTTP. No final, terá um fluxo de trabalho prático que pode aplicar imediatamente, mais uma lista de erros comuns e resolução de problemas para os momentos em que algo corre mal. Todos os comandos e filtros foram testados na série Wireshark 4.6.

O que é o Wireshark e porque continua essencial em 2026

O Wireshark é um analisador de protocolos de rede. Captura os pacotes que atravessam uma interface (Ethernet, Wi-Fi, loopback) e descodifica-os camada a camada, do cabeçalho Ethernet ao conteúdo da aplicação. Onde um comando como ping apenas confirma se há resposta, o Wireshark mostra a sequência exata de pacotes, os tempos de resposta, as flags TCP, as queries DNS e os erros de retransmissão que explicam porque algo falha.

A relevância não diminuiu com a generalização da cifra. Pelo contrário. Em redes onde quase todo o tráfego viaja sobre TLS, saber distinguir um problema de handshake de um problema de aplicação tornou-se uma competência decisiva. O Wireshark continua a ser usado por equipas de SOC, administradores de sistemas, programadores e investigadores de segurança precisamente porque combina captura ao nível do kernel com uma capacidade de descodificação que nenhuma alternativa gráfica iguala. É a ferramenta que se abre quando os logs não chegam.

Há três cenários onde o Wireshark é insubstituível. O primeiro é a depuração de conectividade: aplicações que não estabelecem ligação, timeouts intermitentes, problemas de MTU. O segundo é a análise forense e de incidentes: reconstruir o que um atacante fez a partir de uma captura, identificar exfiltração de dados, detetar tráfego para domínios de comando e controlo. O terceiro é a aprendizagem: nenhum livro ensina o protocolo TCP tão bem como ver um three-way handshake real a desenrolar-se no ecrã.

Pré-requisitos e versões necessárias para o Wireshark 4.6

Antes de capturar o primeiro pacote, confirme que o seu sistema cumpre os requisitos. A série Wireshark 4.6 é exclusivamente de 64 bits. O suporte para Windows de 32 bits terminou em maio de 2024, e o Wireshark 4.6 é a última série a suportar oficialmente o Windows 10, o Red Hat Enterprise Linux 8 e o Qt 5. A partir da versão 5.0, o Qt 6 passará a ser obrigatório.

ComponenteRequisito mínimoRecomendado
Sistema operativoWindows 10 (64 bits), macOS 11 Big Sur, Linux 64 bitsWindows 11 ou Linux com kernel recente
Arquitetura64 bits (x86-64 ou ARM64)64 bits
Memória RAM2 GB4 GB ou mais para capturas grandes
Espaço em disco500 MB para instalação20 GB livres para capturas e logs
Motor de captura (Windows)Npcap 2.00Npcap 2.00 com suporte de loopback
Motor de captura (Linux/macOS)libpcaplibpcap atualizado
Wireshark4.6.x (série estável 2026)4.6.6 (correção mais recente)

No Windows, o motor de captura é o Npcap, que substituiu o antigo e descontinuado WinPcap. O Npcap 2.00, lançado no final de 2025, melhorou a captura na interface de loopback (localhost) e o hooking no Windows 11. No Linux e no macOS, o Wireshark usa a libpcap, normalmente já presente no sistema. Vai precisar de privilégios de administrador para a captura, mas não para a análise de ficheiros já gravados.

Passo 1: Instalar o Wireshark e o Npcap

Descarregue o instalador a partir da página oficial de downloads do Wireshark. Evite repositórios de terceiros: um analisador de pacotes corre com privilégios elevados, e instalar uma versão adulterada é um risco de segurança real.

No Windows, execute o instalador e, quando lhe for pedido, aceite instalar também o Npcap. Marque a opção “Install Npcap in WinPcap API-compatible Mode” e, se quiser capturar tráfego de localhost, ative “Support loopback traffic”. No Linux baseado em Debian ou Ubuntu, a instalação faz-se pela linha de comandos:

# Debian / Ubuntu
sudo apt update
sudo apt install wireshark

# Durante a instalacao, responda "Yes" a pergunta
# "Should non-superusers be able to capture packets?"

# Adicione o seu utilizador ao grupo wireshark
sudo usermod -aG wireshark $USER

# Termine a sessao e volte a entrar para aplicar o grupo
# Confirme a versao instalada
wireshark --version

No macOS, a forma mais simples é via Homebrew com brew install --cask wireshark, que trata também do componente ChmodBPF necessário para a captura sem privilégios de root. Depois da instalação, abra a aplicação e confirme no menu Help > About Wireshark que está na série 4.6. Se aparecer uma versão mais antiga, atualize antes de prosseguir, porque vários filtros e funcionalidades deste tutorial dependem dela.

Passo 2: Compreender a interface gráfica do Wireshark

Ao abrir o Wireshark, vê o ecrã de boas-vindas com a lista de interfaces de rede. Cada uma mostra um pequeno gráfico de atividade à direita: a que tiver a linha mais agitada é normalmente a que está a transportar o seu tráfego. Depois de iniciar uma captura, a janela divide-se em três painéis que deve conhecer bem.

  • Lista de pacotes (painel superior): cada linha é um pacote, com número, tempo, origem, destino, protocolo e um resumo. É aqui que se navega.
  • Detalhe do pacote (painel central): a descodificação camada a camada do pacote selecionado, expansível desde o frame Ethernet até ao conteúdo da aplicação.
  • Bytes do pacote (painel inferior): a representação hexadecimal e ASCII em bruto. Clicar num campo do painel central destaca os bytes correspondentes aqui.

A barra superior contém o campo de filtro de exibição, a peça mais importante de toda a interface. É verde quando o filtro é válido, vermelho quando tem erro de sintaxe e amarelo quando é válido mas ambíguo. Habitue-se a olhar para essa cor antes de carregar em Enter. A documentação oficial do Wireshark descreve cada painel em detalhe, mas a melhor forma de aprender é mesmo explorar uma captura real.

Passo 3: Escolher a interface de captura correta

O erro número um dos principiantes é capturar na interface errada e concluir, frustrado, que “o Wireshark não funciona”. Se está ligado por Wi-Fi mas inicia a captura na placa Ethernet, não verá nada. Antes de capturar, identifique a interface ativa.

# Linux / macOS: listar interfaces e ver qual tem trafego
ip -brief address        # Linux
ifconfig                 # macOS

# Listar interfaces visiveis ao Wireshark a partir da linha de comandos
tshark -D

# Exemplo de saida:
# 1. eth0
# 2. wlan0
# 3. any
# 4. lo (Loopback)

No ecrã de boas-vindas, faça duplo clique na interface com mais atividade para iniciar a captura. Para parar, carregue no botão vermelho quadrado na barra de ferramentas. Capturar durante 10 a 20 segundos enquanto abre um site é suficiente para ter material de análise. A interface any (apenas no Linux) captura de todas as interfaces ao mesmo tempo, o que é útil mas gera muito ruído. A interface lo ou loopback captura tráfego de localhost, ideal para depurar serviços que correm na própria máquina.

Passo 4: Filtros de captura (BPF) para reduzir o ruído

Há dois tipos de filtros no Wireshark e confundi-los é uma das maiores fontes de erro. Os filtros de captura usam a sintaxe BPF (Berkeley Packet Filter), são aplicados pelo kernel antes da gravação e reduzem o tamanho do ficheiro. Os filtros de exibição, que veremos no passo seguinte, são aplicados depois, sobre pacotes já capturados. Os dois têm sintaxes diferentes e não são intercambiáveis.

Use filtros de captura quando souber à partida o que procura e quiser evitar gravar gigabytes de tráfego irrelevante. Defina-os no campo “Capture filter” do ecrã de boas-vindas, antes de iniciar. Eis os mais úteis:

# Apenas trafego de/para um host especifico
host 192.168.1.50

# Apenas a porta 80 (HTTP)
port 80

# Apenas TCP na porta 443 (HTTPS)
tcp port 443

# Filtrar por endereco MAC
ether host 00:11:22:33:44:55

# Trafego de uma sub-rede, excluindo broadcast
net 192.168.1.0/24 and not broadcast

# Combinar condicoes: DNS ou HTTPS
port 53 or tcp port 443

Repare que a sintaxe BPF não conhece nomes de protocolo de alto nível. Não pode escrever http ou http.host == "exemplo.pt" num filtro de captura: isso é sintaxe de filtro de exibição e fará a captura falhar. No filtro de captura, HTTP é simplesmente port 80. Esta distinção é a causa de metade das mensagens de erro que os principiantes encontram.

Passo 5: Filtros de exibição para encontrar o que importa

Os filtros de exibição são onde o Wireshark brilha. Permitem isolar exatamente os pacotes que interessam dentro de uma captura já feita, sem perder nada. Escreva-os no campo de filtro no topo da janela. A referência oficial de filtros de exibição documenta milhares de campos, mas um punhado resolve a maioria dos casos.

ObjetivoFiltro de exibição
Apenas tráfego HTTPhttp
Apenas pedidos GEThttp.request.method == "GET"
Client Hello do TLStls.handshake_type == 1
Tráfego de uma sub-redeip.src == 192.168.1.0/24
Intervalo de portas TCPtcp.port >= 1024 && tcp.port <= 65535
Query DNS a um domíniodns.qry.name == "exemplo.pt"
Pacotes com erros TCPtcp.analysis.flags
Retransmissões TCPtcp.analysis.retransmission
Excluir tráfego ARP e DNSnot arp and not dns

Os operadores lógicos combinam-se livremente: and (ou &&), or (ou ||) e not (ou !). Um filtro como http and ip.dst == 93.184.216.34 mostra apenas pedidos HTTP destinados a esse endereço. Uma técnica rápida: clique com o botão direito num campo qualquer no painel de detalhe e escolha Apply as Filter > Selected. O Wireshark constrói o filtro por si, o que é a forma mais rápida de aprender a sintaxe dos campos.

Passo 6: Seguir streams TCP e HTTP

Olhar para pacotes individuais é útil, mas muitas vezes queremos ver a conversa completa entre dois pontos. A funcionalidade Follow Stream reagrupa todos os pacotes de uma ligação e apresenta-os como um diálogo legível. Clique com o botão direito num pacote TCP e escolha Follow > TCP Stream.

O Wireshark abre uma janela com o conteúdo da conversa, com a origem a vermelho e o destino a azul. Aplica também automaticamente um filtro tcp.stream eq N à captura principal, isolando essa ligação. Para tráfego HTTP não cifrado, Follow > HTTP Stream mostra o pedido e a resposta sem os cabeçalhos TCP, o que torna a leitura mais limpa.

Eis o que normalmente se vê ao seguir um stream HTTP de um pedido a uma página simples:

GET /index.html HTTP/1.1
Host: exemplo.pt
User-Agent: Mozilla/5.0 (X11; Linux x86_64)
Accept: text/html,application/xhtml+xml

HTTP/1.1 200 OK
Date: Fri, 13 Jun 2026 10:42:11 GMT
Server: nginx
Content-Type: text/html; charset=UTF-8
Content-Length: 1270

<!DOCTYPE html>
<html>...

Se seguir um stream de uma ligação TLS sem ter as chaves de sessão configuradas, verá apenas dados binários ilegíveis. Isso é esperado: é a cifra a fazer o seu trabalho. No passo 8 mostramos como decifrar esse conteúdo quando tem autorização para o fazer.

Passo 7: Regras de coloração para ler capturas mais depressa

O Wireshark vem com cerca de 18 regras de coloração predefinidas que dão pistas visuais imediatas. O preto sobre fundo vermelho assinala normalmente erros TCP, o verde indica tráfego HTTP, o azul claro identifica DNS. Em vez de ler cada linha, o olho aprende a saltar para as cores que importam.

Pode criar as suas próprias regras em View > Coloring Rules. Uma regra muito útil para diagnóstico é destacar todas as retransmissões e problemas de janela TCP. Adicione uma nova regra no topo da lista (a ordem importa, a primeira que corresponde ganha) com o filtro tcp.analysis.flags && !tcp.analysis.window_update e atribua-lhe um fundo vermelho vivo. A partir daí, qualquer problema de rede salta ao ecrã sem precisar de filtrar.

As regras de coloração são puramente visuais e não alteram a captura. Pode exportá-las e partilhá-las com a equipa, garantindo que todos veem os mesmos sinais de alarme da mesma maneira. Para uma análise pontual, clicar com o botão direito num pacote e escolher Colorize Conversation pinta temporariamente toda uma conversa, o que ajuda a segui-la no meio do ruído.

Passo 8: Decifrar TLS 1.3 com SSLKEYLOGFILE

Em 2026, a esmagadora maioria do tráfego web é cifrada com TLS 1.3. O Wireshark não decifra TLS por omissão, e não consegue fazê-lo a partir apenas da captura: precisa das chaves de sessão. A forma correta e legal de as obter, quando analisa o seu próprio tráfego, é através da variável de ambiente SSLKEYLOGFILE, suportada pelo Chrome, Firefox e por muitas bibliotecas. Esta abordagem complementa o que explicámos no nosso guia sobre HTTPS e TLS e o que o cadeado protege.

O navegador escreve as chaves de sessão para um ficheiro, e o Wireshark lê-as para decifrar a captura. Configure a variável antes de abrir o navegador:

# Linux / macOS
export SSLKEYLOGFILE=~/sslkeys.log
google-chrome &   # ou firefox

# Windows (PowerShell)
$env:SSLKEYLOGFILE="C:\Users\seu_user\sslkeys.log"
Start-Process "chrome.exe"

# Verificar que o ficheiro esta a ser preenchido
tail -f ~/sslkeys.log
# Devera ver linhas como:
# CLIENT_HANDSHAKE_TRAFFIC_SECRET 52a8... f3b1...
# SERVER_HANDSHAKE_TRAFFIC_SECRET 52a8... 9c2d...

Com o ficheiro a ser preenchido, indique-o ao Wireshark em Edit > Preferences > Protocols > TLS, no campo “(Pre)-Master-Secret log filename”. A partir desse momento, qualquer captura que inclua o handshake completo passa a ser decifrada, e seguir o stream de uma ligação TLS revela o conteúdo HTTP em claro. Lembre-se de que isto só funciona para tráfego cuja sessão tenha começado depois de a variável estar definida. Os navegadores baseados em Chromium documentam este comportamento na página de segurança do projeto Chromium.

Passo 9: Exportar objetos transferidos na rede

Quando uma captura contém ficheiros transferidos (imagens, PDFs, executáveis, páginas HTML), o Wireshark consegue reconstruí-los e gravá-los em disco. Vá a File > Export Objects e escolha o protocolo: HTTP, TLS (se decifrado), SMB, FTP-DATA, entre outros. Surge uma lista de todos os objetos detetados, com o nome do ficheiro, o tipo de conteúdo e o tamanho.

Selecione um objeto e clique em Save para o extrair, ou em Save All para extrair tudo de uma vez. Esta funcionalidade é central em análise forense: permite recuperar o malware que foi descarregado durante um incidente, confirmar que dados foram exfiltrados ou simplesmente recuperar uma imagem de uma captura antiga. A reconstrução só funciona se a captura contiver os dados completos do ficheiro, sem fragmentos perdidos, e se o protocolo tiver sido descodificado com sucesso.

Um aviso de segurança importante: ficheiros extraídos de capturas podem ser maliciosos. Se está a analisar um incidente real, extraia e manuseie esses objetos numa máquina isolada ou sandbox, nunca na sua estação de trabalho de produção. Tratar um executável recuperado de uma captura como se fosse seguro é um erro que pode comprometer o próprio analista.

Passo 10: Usar as ferramentas de estatística

O menu Statistics transforma milhares de pacotes em visões agregadas que poupam horas de análise manual. Três ferramentas são indispensáveis no dia a dia.

Protocol Hierarchy e Conversations

Em Statistics > Protocol Hierarchy, o Wireshark mostra a distribuição percentual do tráfego por protocolo. Numa captura saudável, esperaria ver TCP e TLS a dominar; uma percentagem invulgarmente alta de um protocolo inesperado é um sinal de alerta. Em Statistics > Conversations, vê todos os pares origem/destino com o respetivo volume de tráfego, o que permite identificar os “top talkers”, ou seja, os anfitriões que mais dados trocam. Numa investigação, ordenar por bytes revela rapidamente uma exfiltração.

IO Graphs para ver picos no tempo

Em Statistics > I/O Graphs, o tráfego é representado ao longo do tempo. Um pico súbito pode indicar um ataque de negação de serviço, uma transferência massiva ou um processo descontrolado. Pode sobrepor vários gráficos com filtros diferentes, comparando, por exemplo, pacotes totais com retransmissões TCP para ver se a degradação coincide com perdas. É a forma mais visual de relacionar comportamento de rede com eventos no tempo.

Passo 11: Análise pela linha de comandos com tshark

O tshark é a versão em linha de comandos do Wireshark, ideal para servidores sem ambiente gráfico, para automação e para processar capturas grandes que tornariam a interface lenta. Usa exatamente a mesma sintaxe de filtros que o Wireshark gráfico. A documentação oficial do tshark cobre todas as opções, mas estas resolvem a maioria das tarefas:

# Listar interfaces disponiveis
tshark -D

# Capturar 100 pacotes da interface 1 e gravar em ficheiro
tshark -i 1 -c 100 -w captura.pcap

# Capturar apenas trafego HTTP (filtro de exibicao)
tshark -Y "tcp.port == 80" -w http.pcap

# Ler um ficheiro sem resolucao de nomes
tshark -r captura.pcap -n

# Extrair campos especificos: IP de origem e nome de dominio DNS
tshark -r captura.pcap -T fields -e ip.src -e dns.qry.name -Y "dns"

# Contar pacotes por protocolo
tshark -r captura.pcap -q -z io,phs

# Confirmar a versao
tshark -v

A opção -T fields -e é particularmente poderosa: permite extrair campos específicos para CSV e alimentá-los a outras ferramentas. Por exemplo, gerar uma lista de todos os domínios consultados por DNS numa captura, ou todos os endereços de destino de ligações TLS. Combinado com grep, sort e uniq, o tshark torna-se uma ferramenta de análise em massa que a interface gráfica não consegue igualar em volume.

Passo 12: Projeto completo, analisar um handshake TLS do início ao fim

Vamos juntar tudo num projeto prático. O objetivo: capturar e analisar a ligação completa a um site HTTPS, do three-way handshake TCP ao handshake TLS 1.3, e decifrar o conteúdo. Siga estes passos por ordem.

  1. Defina SSLKEYLOGFILE e abra o navegador a partir do mesmo terminal, como no passo 8.
  2. No Wireshark, escolha a interface ativa e aplique o filtro de captura tcp port 443 and host exemplo.pt para isolar apenas essa ligação.
  3. Inicie a captura, visite o site no navegador, e pare a captura assim que a página carregar.
  4. Aplique o filtro de exibição tcp.flags.syn == 1 para ver o início das ligações. O primeiro pacote SYN, a resposta SYN/ACK e o ACK final formam o three-way handshake.
  5. Limpe o filtro e procure o tls.handshake_type == 1 (Client Hello). Expanda-o no painel de detalhe para ver as cipher suites propostas e a extensão SNI com o nome do servidor.
  6. Confirme o Server Hello com tls.handshake_type == 2 e veja a cipher suite escolhida.
  7. Confirme que o ficheiro de chaves está configurado nas preferências TLS. O Wireshark deve agora mostrar tráfego “Application Data” decifrado.
  8. Clique com o botão direito num pacote da ligação e escolha Follow > HTTP/2 Stream ou TLS Stream para ler o conteúdo em claro.
  9. Vá a Statistics > Conversations para confirmar o volume total trocado.
  10. Grave a captura com File > Save As em formato .pcapng para análise futura.

No fim deste exercício, terá visto, com os seus próprios olhos, a sequência completa que protege uma ligação web moderna: a negociação TCP, a troca de chaves TLS e os dados de aplicação a fluir cifrados e depois decifrados. É a melhor forma de consolidar tudo o que aprendeu sobre Wireshark neste tutorial.

Erros comuns no Wireshark e como evitá-los

Estes são os tropeços que apanham praticamente todos os principiantes. Conhecê-los à partida poupa horas de frustração.

  • Capturar na interface errada. Se não vê tráfego, está quase de certeza na interface errada. Confirme com tshark -D qual a interface ativa antes de iniciar.
  • Misturar sintaxe de filtros. Escrever http.host == "google.com" num filtro de captura faz a captura falhar. Filtros de captura usam BPF (port 80), filtros de exibição usam a sintaxe de campos (http.host).
  • Esquecer que TLS está cifrado. Seguir um stream TLS sem configurar o SSLKEYLOGFILE mostra apenas dados binários. Não é um erro do Wireshark, é a cifra.
  • Abrir ficheiros gigantes. O Wireshark carrega a captura inteira para memória. Abrir um ficheiro de 50 GB numa máquina com 4 GB de RAM bloqueia a aplicação. Use editcap para dividir capturas grandes.
  • Resolução de nomes a esconder problemas. A resolução de DNS reversa pode atrasar a análise e revelar nomes enganadores. Para análise rápida, desative-a em View > Name Resolution.

Resolução de problemas no Wireshark

Quando algo corre mal, esta tabela cobre os oito problemas mais frequentes e a respetiva solução.

SintomaCausa provávelSolução
Nenhuma interface aparece na listaNpcap/libpcap não instalado ou sem privilégiosReinstale o Npcap; no Linux adicione-se ao grupo wireshark
Captura mostra zero pacotesInterface errada selecionadaConfirme a interface ativa com tshark -D
Filtro de captura rejeitadoSintaxe de filtro de exibição num campo de capturaUse sintaxe BPF: port 80 em vez de http
TLS não decifraFicheiro de chaves não configurado ou sessão anterior à variávelConfigure SSLKEYLOGFILE e capture de novo a ligação
Aplicação bloqueia ao abrir capturaFicheiro demasiado grande para a RAMDivida com editcap -c 100000 grande.pcap parte.pcap
Não capturo tráfego de localhostSuporte de loopback em faltaReinstale o Npcap com a opção de loopback; no Linux use a interface lo
Tudo aparece como “TCP” sem protocoloPorta não padrão não reconhecidaBotão direito > Decode As e escolha o protocolo correto
“Follow Stream” só mostra lixo binárioTráfego cifrado sem chavesConfigure decifração TLS ou aceite que está cifrado

Se o problema persistir, o comando wireshark -v mostra as versões exatas de todas as bibliotecas, o que ajuda a diagnosticar incompatibilidades entre o Wireshark e o Npcap. No Linux, o utilitário dumpcap, que faz a captura efetiva, pode ser executado isoladamente para confirmar se o problema é de captura ou de interface gráfica.

Dicas avançadas para análise profissional

Depois de dominar o básico, estas técnicas separam o utilizador casual do analista profissional. A primeira é a captura em anel: para monitorização contínua, configure ficheiros rotativos com Capture > Options > Output, criando, por exemplo, 50 ficheiros de 100 MB que se sobrescrevem. Assim captura indefinidamente sem encher o disco, e quando ocorre um incidente, tem sempre os últimos minutos gravados.

A segunda é o uso de colunas personalizadas. Clique com o botão direito num campo no painel de detalhe e escolha Apply as Column. Adicionar uma coluna com o round-trip time TCP (tcp.analysis.ack_rtt) ou com o tempo de resposta HTTP transforma a lista de pacotes num painel de desempenho. A terceira é a expressão frame contains, que procura uma cadeia de texto em qualquer ponto do pacote: frame contains "password" revela credenciais transmitidas em claro, uma das demonstrações mais eficazes do porquê de o HTTPS ser obrigatório.

Por fim, automatize. Combine o tshark com scripts para gerar relatórios periódicos, alertar sobre padrões suspeitos ou alimentar um sistema SIEM. Numa investigação de segurança como as que descrevemos na nossa análise dos ciberataques em Portugal em 2026, a capacidade de extrair indicadores de comprometimento de uma captura em segundos, e não em horas, faz toda a diferença na velocidade de resposta.

Considerações legais e de segurança na captura de pacotes

Capturar tráfego de rede não é um ato neutro. Os pacotes podem conter dados pessoais (PII), cookies de sessão, palavras-passe e conteúdo privado. A regra de ouro é simples: só capture tráfego em redes que possua ou para as quais tenha autorização escrita explícita. Capturar tráfego de uma rede alheia, mesmo “só para aprender”, pode constituir interceção ilegal de comunicações.

Na União Europeia, o RGPD aplica-se a capturas que contenham dados pessoais. Uma captura guardada num portátil é, para efeitos legais, um conjunto de dados pessoais que tem de ser protegido, com prazo de retenção definido e eliminação segura no fim. As organizações sujeitas à diretiva NIS2, que detalhámos no nosso guia sobre o regime de cibersegurança NIS2 em Portugal, devem tratar as capturas de rede como artefactos sensíveis dentro dos seus processos de resposta a incidentes.

Boas práticas defensivas: use filtros de captura para excluir tráfego sensível que não precisa de analisar, anonimize as capturas antes de as partilhar (existem ferramentas como o TraceWrangler para mascarar endereços), e guarde os ficheiros cifrados. Trate cada ficheiro .pcap com o mesmo cuidado que trataria uma base de dados de clientes, porque, em termos de risco, é exatamente isso.

Atualizações de segurança e CVEs do Wireshark em 2025-2026

O próprio Wireshark, por ser um descodificador de protocolos enormemente complexo, é alvo regular de vulnerabilidades, quase sempre falhas de negação de serviço em dissectors que processam pacotes malformados. Manter a versão atualizada não é opcional, sobretudo se analisa capturas de origem desconhecida, porque um pacote maliciosamente construído pode fazer o analisador crashar. A série 4.6 recebeu várias correções ao longo de 2025 e 2026.

IdentificadorComponente afetadoImpactoCorrigido em
CVE-2025-13499Dissector KafkaNegação de serviço (null pointer)4.6.2 e 4.4.12
CVE-2025-13945Dissector HTTP/3Crash com frames QUIC malformados4.6.2
Issue 21243 (ROHC)Dissector ROHCNegação de serviço potencial4.6.6

A versão 4.6.6, lançada em maio de 2026, resolveu também um conflito de DLL com versões antigas do Windows 10, além da falha no dissector ROHC. A versão 4.6.5, de finais de abril de 2026, corrigiu um conjunto significativo de vulnerabilidades, várias delas resultantes de relatórios assistidos por inteligência artificial, uma tendência que tem acelerado a deteção de falhas em software de análise. A recomendação é direta: corra sempre a versão estável mais recente da série 4.6 e verifique periodicamente os release notes oficiais.

Captura remota e em ambientes de servidor

Muitos problemas reais acontecem em servidores sem ambiente gráfico, onde instalar o Wireshark completo não faz sentido. A abordagem profissional é separar a captura da análise: capturar no servidor com uma ferramenta leve e analisar no posto de trabalho com o Wireshark gráfico. O tcpdump, presente em praticamente todos os sistemas Linux, é o parceiro ideal para esta tarefa.

# No servidor remoto: capturar 5000 pacotes da porta 443 para ficheiro
sudo tcpdump -i eth0 -c 5000 -w /tmp/servidor.pcap 'tcp port 443'

# Transferir o ficheiro para a maquina local
scp utilizador@servidor:/tmp/servidor.pcap ./

# Captura ao vivo via SSH directamente para o Wireshark local
ssh utilizador@servidor "sudo tcpdump -i eth0 -U -w - 'not port 22'" | wireshark -k -i -

O último comando é particularmente elegante: faz streaming da captura do servidor remoto, em tempo real, para o Wireshark que corre no seu portátil, tudo através do túnel SSH cifrado. Repare na exclusão not port 22: sem ela, capturaria o próprio tráfego SSH da sessão, criando um ciclo de ruído infinito. Esta técnica combina-se bem com a segurança de chaves que abordámos no guia de autenticação SSH com chaves Ed25519, garantindo que o canal de captura é, ele próprio, seguro.

Em ambientes de contentores e cloud, a captura ganha complicações adicionais. Num pod Kubernetes, pode usar o kubectl debug ou um contentor sidecar com privilégios de rede para capturar tráfego que de outra forma estaria isolado. A regra mantém-se: capture o mínimo necessário, durante o menor tempo possível, e elimine o ficheiro assim que a análise terminar. Capturas de produção são uma responsabilidade legal e de segurança que não deve durar mais do que o estritamente necessário.

Wireshark face a alternativas de análise de tráfego

O Wireshark não é a única ferramenta de análise de rede, e saber quando usar outra é sinal de maturidade técnica. Cada alternativa ocupa um nicho diferente: profundidade de descodificação, automação ou monitorização contínua.

FerramentaPontos fortesQuando usar
WiresharkDescodificação de mais de 3.000 protocolos, interface visualAnálise profunda e interativa de capturas
tsharkLinha de comandos, automação, mesmo motor do WiresharkServidores e processamento em massa
tcpdumpLeve, presente em todo o lado, captura rápidaCaptura em servidores sem interface gráfica
ZeekGeração de logs ricos a partir de tráfego, deteçãoMonitorização contínua e SIEM
ngrepProcura de padrões de texto em tráfego ao vivoInspeção rápida de conteúdo não cifrado

Na prática, estas ferramentas complementam-se. Uma equipa madura usa o tcpdump ou o Zeek para captura e monitorização contínua, e o Wireshark para a análise aprofundada quando algo precisa de ser dissecado pacote a pacote. O Wireshark continua a ser o padrão-ouro da descodificação: nenhuma alternativa entende tantos protocolos com tanto detalhe, e é por isso que, mesmo numa era de automação, continua a ser a ferramenta que se abre quando é preciso compreender, e não apenas detetar, o que aconteceu na rede.

Cobertura Relacionada

Perguntas Frequentes sobre o Wireshark

O Wireshark é gratuito?

Sim. O Wireshark é totalmente gratuito e de código aberto, distribuído sob a licença GNU GPL. Não há versão paga nem funcionalidades bloqueadas. É mantido por uma comunidade global e financiado pela fundação que o suporta, o que garante que continuará livre.

O Wireshark consegue capturar palavras-passe?

Consegue, mas apenas se o tráfego não estiver cifrado. Protocolos antigos como HTTP, FTP ou Telnet transmitem credenciais em claro, e o Wireshark mostra-as facilmente. Com HTTPS e TLS, as credenciais viajam cifradas e só são visíveis se tiver as chaves de sessão da própria ligação. É precisamente por isso que o HTTPS é hoje obrigatório.

A ferramenta é perfeitamente legal e amplamente usada em ambientes profissionais. O que pode ser ilegal é o uso: capturar tráfego de redes que não possui nem tem autorização para monitorizar constitui, na maioria das jurisdições, interceção ilegal de comunicações. Capture apenas na sua própria rede ou com autorização escrita.

Qual a diferença entre filtro de captura e filtro de exibição?

O filtro de captura usa sintaxe BPF, é aplicado pelo kernel antes da gravação e descarta permanentemente o tráfego que não corresponde, reduzindo o tamanho do ficheiro. O filtro de exibição usa a sintaxe de campos do Wireshark, é aplicado depois sobre pacotes já capturados e não apaga nada, apenas esconde temporariamente. Confundir as duas sintaxes é o erro mais comum dos principiantes.

O Wireshark consegue decifrar TLS 1.3?

Sim, mas precisa das chaves de sessão. O método suportado é a variável de ambiente SSLKEYLOGFILE, que faz o navegador escrever as chaves para um ficheiro que o Wireshark depois lê. Sem essas chaves, é matematicamente impossível decifrar o tráfego TLS 1.3 a partir apenas da captura. Só funciona para tráfego que você próprio gerou e cuja sessão começou depois de a variável estar definida.

Qual a diferença entre o Wireshark e o tshark?

São a mesma ferramenta com interfaces diferentes. O Wireshark é gráfico, ideal para análise interativa e exploração visual. O tshark é a versão em linha de comandos, ideal para servidores sem ambiente gráfico, automação e processamento de capturas muito grandes. Partilham o mesmo motor de captura e a mesma sintaxe de filtros, por isso o que aprende num aplica-se diretamente ao outro.

Que versão do Wireshark devo instalar em 2026?

Instale sempre a versão estável mais recente da série 4.6, que em meados de 2026 é a 4.6.6. Esta série corrige várias vulnerabilidades de negação de serviço em dissectors e é a última a suportar Windows 10, RHEL 8 e Qt 5. Manter-se atualizado é uma questão de segurança, não apenas de funcionalidades, porque o próprio analisador pode ser alvo de pacotes maliciosos.