Capturar Tráfego ao Vivo no Tshark

WiresharkBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a capturar tráfego de rede ao vivo usando a ferramenta de linha de comando tshark do Wireshark. Você praticará a identificação de interfaces de rede com -D, a seleção de uma interface como eth1 usando -i e a captura de pacotes com as configurações padrão.

O laboratório guia você através do salvamento de capturas em um arquivo pcap usando -w para análise posterior. Essas habilidades fundamentais são essenciais para a solução de problemas de rede e monitoramento de tráfego em cenários do mundo real.

Listar Interfaces com -D

Nesta etapa, você aprenderá como listar as interfaces de rede disponíveis usando a ferramenta de linha de comando tshark do Wireshark. Interfaces de rede são os pontos físicos ou virtuais onde seu computador se conecta a uma rede. Antes de capturar tráfego de rede, é crucial identificar quais interfaces estão ativas em seu sistema, pois diferentes interfaces lidam com diferentes tipos de tráfego de rede.

  1. Primeiro, abra o terminal no seu ambiente de VM do LabEx. O terminal é sua porta de entrada para interagir com o sistema Linux através de comandos. O diretório de trabalho padrão é ~/project, o que significa que qualquer arquivo que você criar será salvo aqui, a menos que você especifique o contrário.
Capture-capable network interfaces
  1. Para listar todas as interfaces de rede disponíveis, execute o seguinte comando:
tshark -D
  1. O comando exibirá uma saída mostrando todas as interfaces de rede capazes de captura. Uma saída típica se parece com isto:
1. eth1
2. any
3. lo (Loopback)
4. nflog
5. nfqueue
6. docker0
  1. A flag -D é uma opção de comando específica que instrui o tshark a exibir as interfaces disponíveis. Cada interface serve a um propósito distinto:

    • eth1: Esta é geralmente sua interface de rede com fio primária, lidando com a maioria das comunicações de rede externas.
    • lo: A interface loopback processa o tráfego de rede interno dentro de sua própria máquina.
    • any: Uma interface virtual especial que captura tráfego de todas as interfaces disponíveis simultaneamente.
  2. Reserve um momento para examinar a lista de interfaces cuidadosamente. Você precisará referenciar esses nomes de interface mais tarde, quando começarmos a capturar pacotes, pois você deve especificar exatamente qual tráfego de interface de rede você deseja monitorar. A numeração ajuda na seleção de interfaces em comandos subsequentes.

Selecionar Interface com -i eth1

Nesta etapa, você aprenderá como selecionar uma interface de rede específica para captura de pacotes usando a ferramenta tshark do Wireshark. Interfaces de rede são os pontos físicos ou virtuais onde seu computador se conecta a uma rede. A interface eth1 geralmente é a primeira porta Ethernet em sistemas Linux e lida com a maior parte do tráfego de rede externo.

  1. Primeiro, certifique-se de estar no diretório de trabalho correto onde armazenaremos nossos arquivos de captura:
cd ~/project
  1. Para começar a capturar pacotes especificamente na interface eth1, execute este comando:
sudo tshark -i eth1
  1. Vamos entender o que cada parte deste comando faz:

    • sudo: Concede a você privilégios de administrador necessários para acessar interfaces de rede.
    • tshark: A versão de linha de comando do Wireshark.
    • -i eth1: Diz ao tshark para ouvir na interface eth1 (altere isso se seu sistema usar nomes de interface diferentes).
  2. Ao executar, você verá o tráfego de rede ao vivo exibido em seu terminal, assim:

Capturing on 'eth1'
1 0.000000000 192.168.1.100 → 192.168.1.1 TCP 74 55942 → 80 [SYN] Seq=0 Win=64240 Len=0
2 0.000123456 192.168.1.1 → 192.168.1.100 TCP 74 80 → 55942 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0

Cada linha representa um pacote de rede mostrando IPs de origem/destino, tipo de protocolo e outros detalhes técnicos.

  1. Para parar a captura de pacotes, pressione Ctrl+C. O terminal exibirá então estatísticas resumidas sobre o tráfego capturado.

  2. Notas importantes para iniciantes:

    • eth1 é o nome padrão para a primeira interface Ethernet na maioria dos sistemas Linux.
    • Sempre use o nome exato da interface que você encontrou ao listar as interfaces.
    • sudo é necessário porque a captura de tráfego de rede precisa de permissões especiais.
    • A saída mostra as comunicações de rede reais acontecendo em seu sistema.

Iniciar Captura com Configurações Padrão

Nesta etapa, você aprenderá como iniciar uma captura básica de pacotes usando o tshark do Wireshark com as configurações padrão. Isso se baseia nas etapas anteriores, onde você identificou interfaces e selecionou eth1. Começaremos capturando todo o tráfego de rede que flui através da interface eth1, que normalmente é a primeira interface Ethernet em sistemas Linux.

  1. Primeiro, certifique-se de estar no diretório de trabalho correto onde armazenaremos nossos arquivos de captura:
cd ~/project
  1. Para começar a capturar pacotes com as configurações padrão na interface eth1, execute:
sudo tshark -i eth1

O comando sudo é necessário porque a captura de tráfego de rede requer privilégios de root. A flag -i eth1 diz ao tshark para ouvir especificamente na interface de rede eth1.

  1. Aspectos-chave deste comando:

    • Captura todos os tipos de pacotes (TCP, UDP, ICMP, etc.) que passam por eth1.
    • Mostra resumos de pacotes em tempo real à medida que são capturados.
    • Usa filtros de captura padrão (captura todo o tráfego sem filtragem).
    • Exibe informações básicas de pacotes, incluindo:
      • Número do pacote (contagem sequencial começando de 1).
      • Timestamp (mostrando quando cada pacote foi capturado).
      • IPs de origem e destino (mostrando de onde o tráfego está vindo e para onde está indo).
      • Protocolo (identificando o tipo de protocolo de rede).
      • Informações básicas sobre o conteúdo do pacote.
  2. Você deve ver uma saída semelhante a:

1 0.000000000 192.168.1.100 → 8.8.8.8 DNS 74 Standard query
2 0.000123456 8.8.8.8 → 192.168.1.100 DNS 90 Standard query response

Cada linha representa um pacote de rede. A seta (→) mostra a direção do fluxo de tráfego entre os endereços IP de origem e destino.

  1. Para pausar temporariamente a saída (sem interromper a captura), pressione Ctrl+S. Pressione Ctrl+Q para retomar. Isso é útil quando você deseja examinar pacotes específicos sem que novos rolem muito rapidamente.

  2. Lembre-se destes pontos importantes sobre esta captura básica:

    • A captura padrão mostra apenas os cabeçalhos dos pacotes (não o payload completo) para manter a exibição gerenciável.
    • A captura continua até que você a interrompa com Ctrl+C.
    • Nenhum pacote está sendo salvo no disco ainda (abordaremos isso na próxima etapa).
    • A saída do terminal é apenas uma visualização ao vivo - não estamos armazenando essas informações permanentemente ainda.

Parar e Salvar em Arquivo com -w capture.pcap

Nesta etapa, você aprenderá como parar corretamente uma sessão de captura de pacotes e salvar os pacotes capturados em um arquivo para análise posterior. Isso completa nosso fluxo de trabalho básico do Wireshark/tshark. Salvar pacotes em um arquivo é essencial quando você precisa analisar o tráfego de rede posteriormente ou compartilhar os dados com colegas.

  1. Primeiro, certifique-se de estar no diretório de trabalho correto onde deseja salvar seu arquivo de captura. O diretório ~/project é comumente usado para exercícios de laboratório:
cd ~/project
  1. Para iniciar uma nova sessão de captura que salvará automaticamente os pacotes em um arquivo, execute este comando. A flag -w informa ao tshark onde armazenar os dados capturados:
tshark -i eth1 -w capture.pcap
  1. Vamos detalhar os principais aspectos deste comando:

    • -w capture.pcap: Especifica o nome do arquivo de saída e salva os pacotes no formato PCAP padrão.
    • O arquivo será criado em seu diretório de trabalho atual (~/project).
    • Ao contrário do monitoramento ao vivo, este comando é executado silenciosamente, sem saída na tela, enquanto salva no arquivo.

    Nota Importante Sobre Permissões:

    • Não use sudo com este comando (por exemplo, sudo tshark -i eth1 -w capture.pcap)
    • O diretório ~/project tem permissões específicas que restringem o acesso, incluindo acesso root.
    • Executar com sudo resultará em um erro "Permissão negada".
    • Use o comando sem sudo para garantir a criação adequada do arquivo com as permissões corretas.
  2. Deixe a captura rodar por cerca de 30 segundos para coletar tráfego de rede significativo. Essa duração permite que você capture vários tipos de pacotes sem criar um arquivo excessivamente grande.

  3. Para parar a captura e finalizar o arquivo, pressione Ctrl+C. O terminal exibirá informações resumidas sobre sua sessão de captura:

^CCapturing on 'eth1'
45 packets captured
  1. Verifique se seu arquivo de captura foi criado com sucesso listando o conteúdo do diretório. As flags -lh mostram o tamanho do arquivo em formato legível por humanos:
ls -lh capture.pcap
  1. Você deve ver uma saída semelhante a esta, mostrando que o arquivo foi criado com as permissões corretas e contém dados capturados:
-rw-r--r-- 1 labex labex 12K Aug 10 15:30 capture.pcap
  1. Notas importantes sobre como trabalhar com arquivos PCAP:
    • Os arquivos PCAP podem ser analisados ​​posteriormente com a GUI do Wireshark ou comandos tshark.
    • O tamanho do arquivo aumenta com a duração da captura - esteja atento ao espaço em disco.
    • Use nomes de arquivos exclusivos para sessões de captura separadas para evitar a substituição.
    • A extensão .pcap é padrão para arquivos de captura de pacotes.

Resumo

Neste laboratório, você aprendeu como capturar tráfego de rede ao vivo usando a ferramenta de linha de comando tshark do Wireshark. Você praticou a listagem de interfaces disponíveis com a flag -D e a captura de pacotes em interfaces específicas usando o parâmetro -i, enquanto observava detalhes importantes da rede, como endereços IP e protocolos.

O exercício proporcionou experiência prática com comandos tshark fundamentais, incluindo o uso adequado das permissões sudo e controles básicos de captura. Essas habilidades essenciais formam a base para tarefas mais avançadas de análise e solução de problemas de rede.