Aplicar Filtros de Captura no Tshark

WiresharkBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como usar os filtros de captura do Tshark para capturar seletivamente pacotes de rede. Você explorará a sintaxe dos filtros do Wireshark e praticará a captura de tráfego TCP em interfaces específicas usando comandos como tshark -f "tcp".

Através de exercícios práticos, você filtrará pacotes TCP em eth1, analisará detalhes dos pacotes e salvará os resultados em tcp.pcap. Este laboratório oferece experiência prática na aplicação de filtros de captura para isolar e examinar eficientemente o tráfego de rede direcionado.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 82%. Recebeu uma taxa de avaliações positivas de 92% dos estudantes.

Aprender a Sintaxe com Referência Manual

Nesta etapa, você aprenderá a sintaxe básica dos filtros de captura do Wireshark, consultando a página do manual. Compreender esses fundamentos é crucial antes de realizar capturas de pacotes reais, pois os filtros permitem que você capture seletivamente apenas o tráfego de rede de seu interesse.

  1. Primeiro, abra o terminal em sua VM LabEx, caso ainda não esteja aberto. O diretório de trabalho padrão é ~/project. É aqui que executaremos todos os nossos comandos.

  2. Para acessar a documentação completa dos filtros do Wireshark, execute o seguinte comando em seu terminal:

man wireshark-filter

Esta página do manual contém toda a documentação oficial sobre a sintaxe e as capacidades dos filtros de captura. Pense nela como sua "cola" para construir filtros eficazes.

  1. Ao percorrer o manual (pressione Enter para navegar), concentre-se nestas seções-chave que formam a base dos filtros de captura:

    • Estrutura básica da sintaxe do filtro: Como formatar corretamente suas expressões de filtro
    • Filtros de protocolo comuns: Filtros predefinidos para protocolos como TCP, UDP, HTTP
    • Operadores de comparação: Como comparar valores em seus filtros
    • Operadores lógicos: Combine condições usando and, or, not
  2. Agora, vamos aplicar o que você aprendeu com um exemplo prático. Execute este comando para testar um filtro TCP simples:

tshark -f "tcp" -c 5

Este comando faz três coisas:

  • -f "tcp" aplica um filtro para capturar apenas pacotes TCP
  • -c 5 limita a captura a 5 pacotes
  • Os resultados são exibidos diretamente em seu terminal
  1. Se houver tráfego de rede, você verá uma saída semelhante a esta, mostrando detalhes de cada pacote TCP capturado:
1 0.000000 192.168.1.1 → 192.168.1.2 TCP 74 443 → 49234 [SYN] Seq=0 Win=64240 Len=0

Cada linha representa um pacote, mostrando seu número, carimbo de data/hora, endereços IP de origem e destino, portas e flags TCP.

  1. Quando terminar de examinar a saída, pressione q para sair da página do manual (se ainda estiver aberta) e de qualquer captura do tshark em execução. Isso o retorna ao prompt de comando, pronto para a próxima etapa.

Filtrar Tráfego TCP com -f "tcp"

Nesta etapa, você praticará a captura de tráfego de rede TCP (Transmission Control Protocol) usando a sintaxe de filtro do Wireshark. O TCP é um dos protocolos centrais do conjunto de protocolos da Internet, fornecendo entrega de dados confiável, ordenada e com verificação de erros entre aplicações. Este exercício baseia-se nas habilidades básicas de captura de pacotes que você aprendeu anteriormente.

  1. Primeiro, certifique-se de estar no diretório de trabalho padrão onde armazenaremos nossos arquivos de captura:
cd ~/project
  1. Para capturar tráfego TCP ao vivo da sua interface de rede, execute este comando:
sudo tshark -i eth1 -f "tcp" -c 10

Nota: A VM gratuita pode não ter a interface eth1. Você pode usar outras interfaces como eth0, eth2, etc.

Vamos detalhar o que cada parte deste comando faz:

  • sudo concede as permissões de administrador necessárias para a captura de pacotes
  • -i eth1 especifica que estamos capturando da interface Ethernet (eth1)
  • -f "tcp" aplica um filtro de captura para coletar apenas pacotes TCP
  • -c 10 limita a captura a 10 pacotes para esta demonstração
  1. A saída exibirá pacotes TCP com informações essenciais neste formato:
1 0.000000 192.168.1.1 → 192.168.1.2 TCP 74 443 → 49234 [SYN] Seq=0 Win=64240 Len=0
2 0.000123 192.168.1.2 → 192.168.1.1 TCP 74 49234 → 443 [SYN, ACK] Seq=0 Ack=1 Win=28960 Len=0

Cada linha representa um pacote TCP mostrando:

  • Número do pacote e carimbo de data/hora (timestamp)
  • Endereços IP de origem e destino
  • Portas de origem e destino
  • Flags TCP (como SYN, ACK)
  • Números de sequência e tamanhos de janela
  1. Para examinar a estrutura completa do pacote TCP, incluindo todos os campos do cabeçalho, use o modo detalhado (verbose):
sudo tshark -i eth1 -f "tcp" -c 5 -V

A flag -V fornece uma saída detalhada mostrando o cabeçalho TCP completo com todos os seus campos, como números de sequência, números de confirmação (acknowledgment numbers), flags, tamanho da janela, checksum e opções.

  1. Se você precisar interromper uma captura em execução a qualquer momento, basta pressionar Ctrl+C para parar o processo. Isso é útil quando você deseja encerrar uma captura de longa duração ou se já viu pacotes suficientes para sua análise.

Capturar Tráfego Filtrado em eth1

Nesta etapa, você aprenderá a capturar tráfego de rede na interface eth1 com filtros específicos, baseando-se na filtragem TCP das etapas anteriores. A interface eth1 normalmente representa sua conexão de rede com fio principal, e a usaremos para demonstrar cenários práticos de captura de pacotes.

  1. Primeiro, verifique suas interfaces de rede executando:
ip addr show eth1

Este comando exibe informações detalhadas sobre sua interface eth1. Você deve ver a saída mostrando que a interface eth1 está ativa (estado UP) e possui um endereço IP atribuído. Essa verificação é importante porque você não pode capturar tráfego em uma interface que não existe ou não está ativa.

  1. Para capturar tráfego HTTP especificamente na eth1, use:
sudo tshark -i eth1 -f "tcp port 80" -c 15

Vamos detalhar o que este comando faz:

  • -i eth1 especifica em qual interface de rede ouvir
  • -f "tcp port 80" cria um filtro de captura para tráfego HTTP (a porta 80 é a porta HTTP padrão)
  • -c 15 limita a captura a 15 pacotes, o que é suficiente para demonstração sem sobrecarregá-lo com dados
  1. Para capturar tráfego entre IPs específicos, tente:
sudo tshark -i eth1 -f "host 8.8.8.8" -c 10

Aqui estamos filtrando o tráfego de/para o servidor DNS do Google (8.8.8.8). O filtro "host" corresponde ao tráfego de entrada e saída para este endereço IP específico. Isso é útil quando você deseja monitorar a comunicação com um servidor específico.

  1. Para filtragem mais complexa, combine condições:
sudo tshark -i eth1 -f "tcp port 443 and host 8.8.8.8" -c 5

Este comando demonstra como combinar filtros. Ele captura tráfego HTTPS (porta 443) especificamente de/para 8.8.8.8. O operador "and" permite que você crie filtros precisos que correspondam a várias condições simultaneamente.

  1. Observe a saída mostrando pacotes filtrados com detalhes como:
1 0.000000 192.168.1.100 → 8.8.8.8 TCP 74 49234 → 443 [SYN] Seq=0 Win=64240 Len=0

Esta saída de exemplo mostra um pacote TCP SYN (o primeiro pacote em uma conexão TCP) da sua máquina local (192.168.1.100) para o servidor do Google. Os números representam o tempo, as portas e as informações de sequência TCP que ajudam a analisar o comportamento da rede.

Salvar Resultados com -w tcp.pcap

Nesta etapa, você aprenderá como salvar o tráfego de rede capturado em um arquivo para análise posterior. Isso é particularmente útil quando você precisa examinar pacotes de rede em um momento diferente ou compartilhá-los com colegas. Usaremos a ferramenta de linha de comando Tshark do Wireshark com a opção -w para salvar nossa captura.

  1. Primeiro, vamos garantir que estamos no diretório de trabalho correto. O diretório ~/project é onde armazenaremos nossos arquivos de captura para manter as coisas organizadas:
cd ~/project
  1. Agora, capturaremos o tráfego TCP real. O seguinte comando faz várias coisas importantes de uma só vez. É como configurar uma câmera de rede que só grava pacotes TCP e os salva em um arquivo:
sudo tshark -i eth1 -f "tcp" -w tcp.pcap -c 20

Vamos detalhar o que cada parte deste comando significa:

  • -i eth1 diz ao Tshark para ouvir na interface de rede eth1
  • -f "tcp" aplica um filtro de captura para gravar apenas pacotes TCP
  • -w tcp.pcap salva os pacotes capturados em um arquivo chamado tcp.pcap
  • -c 20 limita a captura a 20 pacotes para que não coletemos muitos dados
  1. Após executar a captura, devemos verificar se nosso arquivo foi criado corretamente. O comando ls com as opções -lh mostra o tamanho do arquivo em um formato legível por humanos:
ls -lh tcp.pcap

Você deve ver a saída mostrando que o arquivo existe e seu tamanho (normalmente alguns KB para 20 pacotes).

  1. Agora, vamos examinar nossos pacotes capturados. Este comando lê os primeiros 5 pacotes do nosso arquivo salvo:
tshark -r tcp.pcap -c 5

A opção -r diz ao Tshark para ler de um arquivo em vez de capturar tráfego ao vivo, enquanto -c 5 limita a saída a 5 pacotes.

  1. Para uma visão mais técnica do que capturamos, podemos usar o modo verbose. Isso mostra todos os detalhes do protocolo e o conteúdo dos pacotes, mas o limitaremos às primeiras 20 linhas para manter a saída gerenciável:
tshark -r tcp.pcap -V | head -20

O -V habilita a saída verbose, e head -20 mostra apenas o início dessa saída para que não sejamos sobrecarregados com informações.

Resumo

Neste laboratório, você aprendeu a aplicar filtros de captura no tshark por meio de exercícios práticos. Você explorou os fundamentos da sintaxe de filtros, incluindo filtros de protocolo e expressões lógicas, e então praticou a captura de tráfego TCP com comandos básicos.

O laboratório guiou você ainda mais por técnicas avançadas, como monitoramento de interface ao vivo, personalização de saída com o modo verbose e salvamento de capturas filtradas em arquivos. Essas habilidades permitem uma análise eficiente do tráfego de rede, combinando seleção de interface, filtragem e gerenciamento de saída em fluxos de trabalho otimizados.