Análise de Pacotes com Wireshark e Tshark

WiresharkBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá os fundamentos da análise de pacotes de rede usando o Wireshark e seu equivalente de linha de comando, o Tshark. Você começará explorando as interfaces de rede e, em seguida, passará para a captura de tráfego de rede ao vivo. Você também aprenderá a ler, filtrar e analisar arquivos de captura de pacotes pré-existentes usando tanto a ferramenta de linha de comando Tshark quanto a interface gráfica do usuário Wireshark. Este laboratório fornece uma compreensão fundamental da análise de pacotes, uma habilidade crítica para solução de problemas de rede e segurança cibernética.

Verificar Instalação e Listar Interfaces de Rede

Neste ambiente de laboratório, o Tshark e o Wireshark já estão pré-instalados para você. Seu primeiro passo é verificar a instalação e identificar as interfaces de rede disponíveis para captura de pacotes. Uma interface de rede é um dispositivo de hardware ou virtual que permite que seu computador se conecte a uma rede.

  1. Primeiro, verifique se o Tshark está instalado corretamente verificando sua versão. Este comando confirma que a ferramenta está disponível no caminho do seu sistema.

    tshark --version

    Você deverá ver uma saída exibindo os números de versão do Tshark e do Wireshark.

    TShark (Wireshark) 4.2.x (Git v4.2.x packaged as 4.2.x-1)
    ...
  2. Em seguida, você precisa saber quais interfaces de rede pode usar para capturar pacotes. Use o flag -D para listar todas as interfaces disponíveis.

    tshark -D

    A saída listará as interfaces por número e nome.

    1. eth0
    2. any (Pseudo-dispositivo que captura em todas as interfaces)
    3. lo (Loopback)
    4. ...
    • eth0 é tipicamente a interface Ethernet principal, comum em máquinas virtuais e servidores. Usaremos esta para capturas ao vivo.
    • lo é a interface de loopback, usada para comunicação de rede dentro da mesma máquina.
    • any é um pseudo-dispositivo especial que permite capturar tráfego de todas as interfaces simultaneamente.

Agora que você confirmou a instalação e identificou a interface eth0, você está pronto para começar a capturar pacotes.

Realizar uma Captura Básica de Pacotes

Com a interface de rede identificada, você pode agora realizar uma captura de pacotes ao vivo. Para este exercício, você capturará um pequeno número de pacotes da interface eth0 para ver o Tshark em ação. Esta é uma habilidade fundamental para observar a atividade de rede em tempo real.

  1. Para iniciar uma captura, você precisa especificar a interface com o flag -i e o número de pacotes a serem capturados com o flag -c (count). Execute o seguinte comando para capturar 10 pacotes da interface eth0.

    tshark -i eth0 -c 10
  2. O Tshark começará a capturar pacotes e exibirá um resumo de uma linha para cada pacote em tempo real. A saída será semelhante ao exemplo abaixo, mostrando informações como o número do pacote, carimbo de data/hora, endereços IP de origem e destino, protocolo e um breve resumo.

     1 0.000000000 172.17.0.2 -> 172.17.0.1 DNS 79 Standard query 0x1a34 AAAA metadata.google.internal
     2 0.000293393 172.17.0.1 -> 172.17.0.2 DNS 111 Standard query response 0x1a34 No such name
     3 0.000408893 172.17.0.2 -> 172.17.0.1 DNS 79 Standard query 0x2b1f A metadata.google.internal
     4 0.000564893 172.17.0.1 -> 172.17.0.2 DNS 111 Standard query response 0x2b1f No such name
     ...

Após capturar 10 pacotes, o Tshark parará automaticamente. Você agora capturou e visualizou com sucesso o tráfego de rede ao vivo a partir da linha de comando.

Analisar um Arquivo de Captura com Tshark

Além de capturar tráfego ao vivo, uma tarefa comum é analisar arquivos de captura de pacotes previamente salvos. Esses arquivos, tipicamente com a extensão .pcap, permitem a análise offline. Um arquivo de exemplo chamado capture.pcap está disponível em seu diretório de projeto.

  1. Primeiro, use o comando ls para confirmar que o arquivo capture.pcap existe no seu diretório atual (/home/labex/project).

    ls -l capture.pcap
  2. Para ler pacotes deste arquivo, use o flag -r (read). Vamos visualizar os primeiros 10 pacotes do arquivo.

    tshark -r capture.pcap -c 10
  3. Inspecionar manualmente todos os pacotes é ineficiente. O Tshark permite que você use filtros de exibição (display filters) para mostrar apenas os pacotes que correspondem a critérios específicos. Use o flag -Y para aplicar um filtro de exibição. Vamos filtrar apenas o tráfego TCP.

    tshark -r capture.pcap -Y "tcp" -c 5

    Este comando lê de capture.pcap, aplica o filtro de exibição tcp e mostra apenas os primeiros 5 pacotes correspondentes.

  4. Agora, tente filtrar por um protocolo diferente, como UDP.

    tshark -r capture.pcap -Y "udp" -c 5

    Você verá agora apenas pacotes UDP do arquivo de captura. Os filtros de exibição são um recurso poderoso para focar sua análise em protocolos, endereços ou portas específicas.

Filtrar e Salvar uma Captura ao Vivo

Nesta etapa, você combinará captura, filtragem e salvamento. Em vez de salvar todo o tráfego, você pode aplicar um filtro de captura (capture filter) para salvar apenas os pacotes que lhe interessam. Isso é eficiente para criar conjuntos de dados direcionados. Capturaremos apenas tráfego DNS e o salvaremos em um novo arquivo.

  1. Para salvar uma captura, use o flag -w (write). Para aplicar um filtro de captura, use o flag -f. O DNS geralmente usa a porta UDP 53, então usaremos "port 53" como nosso filtro de captura.

    Execute o seguinte comando para capturar 10 pacotes DNS e salvá-los em um arquivo chamado dns_traffic.pcap.

    tshark -i eth0 -c 10 -f "port 53" -w dns_traffic.pcap

    Diferente de uma captura normal, este comando não exibirá pacotes na tela. Em vez disso, ele mostrará uma contagem contínua de pacotes capturados até atingir 10.

  2. Assim que a captura for concluída, verifique se o novo arquivo foi criado.

    ls -l dns_traffic.pcap
  3. Agora, você pode inspecionar seu novo arquivo de captura filtrado para confirmar que ele contém apenas o tráfego que você desejava.

    tshark -r dns_traffic.pcap

    A saída deve mostrar apenas pacotes DNS (ou outro tráfego na porta 53), confirmando que seu filtro de captura funcionou corretamente.

Analisar Pacotes com a Interface Gráfica do Wireshark

Embora o Tshark seja excelente para trabalho em linha de comando, a interface gráfica do usuário (GUI) do Wireshark oferece um ambiente visual poderoso para análise profunda de pacotes. Nesta etapa, você usará a GUI do Wireshark para inspecionar o arquivo capture.pcap.

  1. Inicie o Wireshark e abra o arquivo capture.pcap com o seguinte comando. O & no final executa a aplicação em segundo plano, liberando seu terminal.

    wireshark capture.pcap &
  2. A janela do Wireshark será aberta. Reserve um momento para se familiarizar com o layout principal:

    • Painel de Lista de Pacotes (Superior): Uma lista de todos os pacotes na captura.
    • Painel de Detalhes do Pacote (Meio): Uma visualização detalhada e expansível das camadas de protocolo para o pacote selecionado.
    • Painel de Bytes do Pacote (Inferior): Os dados brutos do pacote selecionado, mostrados em hexadecimal e ASCII.
  3. A GUI facilita a filtragem. Localize a barra de filtro de exibição na parte superior da janela (pode ter o texto de espaço reservado "Apply a display filter..."). Digite http nesta barra e pressione Enter.

    http
  4. O Painel de Lista de Pacotes será atualizado para mostrar apenas pacotes HTTP do arquivo de captura. Você pode clicar em qualquer pacote para explorar seus detalhes no painel do meio.

  5. Feche a janela do Wireshark quando terminar de explorar.

Resumo

Neste laboratório, você ganhou experiência prática com o conjunto de ferramentas Wireshark. Você aprendeu a verificar uma instalação do Tshark e a identificar as interfaces de rede disponíveis. Você praticou a captura de tráfego de rede ao vivo usando tshark, a leitura de arquivos .pcap existentes e a aplicação de filtros de captura e de exibição para isolar protocolos específicos. Você também aprendeu a salvar uma captura filtrada em um novo arquivo. Por fim, você foi apresentado à interface gráfica do usuário do Wireshark para uma abordagem mais visual da análise de pacotes. Essas habilidades são essenciais para qualquer pessoa envolvida em administração de rede, solução de problemas ou segurança.