Análise de Rede com Wireshark

WiresharkBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá técnicas de análise de rede utilizando o Wireshark, o analisador de protocolos de rede que é padrão na indústria. Esta ferramenta poderosa permite examinar o tráfego de rede no nível de pacotes, fornecendo informações valiosas para resolução de problemas e análise de segurança.

Você adquirirá habilidades práticas na captura, filtragem e interpretação de pacotes de rede. Por meio de exercícios práticos, você entenderá como diferentes protocolos se comunicam e aprenderá a identificar possíveis problemas na rede.

Instalando o Wireshark

Nesta etapa, instalaremos o Wireshark em nosso sistema Ubuntu. O Wireshark é um analisador de protocolos de rede que permite capturar e navegar interativamente pelo tráfego de rede. Ele está disponível nos repositórios padrão do Ubuntu, o que torna o processo de instalação direto e simples para iniciantes.

  1. Primeiro, vamos abrir o terminal. Em sua área de trabalho, localize e abra o Xfce Terminal. O terminal é onde executaremos todos os comandos para instalar e configurar o Wireshark.
Abrindo a janela do Xfce Terminal

Nota: Usuários da versão gratuita não possuem conexão com a internet, por isso o Wireshark já vem pré-instalado no ambiente do laboratório. Você pode pular para o item 5 da lista (verificar se o Wireshark está instalado). Atualize para uma conta pro para praticar a instalação do Wireshark por conta própria.

Apenas para Usuários Pro
  1. Antes de instalar qualquer software, é uma boa prática atualizar as listas de pacotes. Isso garante que instalaremos a versão mais recente disponível do Wireshark. Execute o seguinte comando:
sudo apt update
  1. Agora instalaremos o próprio Wireshark. A flag -y responde automaticamente "sim" a qualquer solicitação durante a instalação, tornando o processo mais fluido:
sudo apt install wireshark -y
  1. Durante a instalação, você verá um aviso de segurança importante sobre permitir que usuários comuns (não superusuários) capturem pacotes. Esta é uma escolha de configuração crucial — selecionar "Yes" significa que você não precisará de privilégios de root para rodar o Wireshark, o que é mais seguro para o uso diário. Use as teclas de seta para selecionar "Yes" e pressione Enter.
Aviso de instalação do Wireshark
  1. Após a conclusão da instalação, vamos verificar se o Wireshark foi instalado corretamente. A verificação da versão confirma o sucesso da instalação e mostra qual versão você está utilizando:
wireshark --version
  1. Para capturar o tráfego de rede, precisamos configurar as permissões adequadas. Isso envolve adicionar seu usuário ao grupo wireshark e configurar o Dumpcap (a ferramenta de captura de pacotes do Wireshark) com as permissões corretas:

Primeiro, verifique se o grupo wireshark existe (ele deve ter sido criado durante a instalação):

getent group wireshark

Se por algum motivo o grupo não existir, crie-o com:

sudo groupadd wireshark

Estes comandos configuram o Dumpcap para rodar com privilégios elevados enquanto mantém o Wireshark rodando como um usuário normal — uma melhor prática de segurança:

sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 4755 /usr/bin/dumpcap
sudo gpasswd -a $USER wireshark

Após executar esses comandos, você precisará sair da sessão (log out) e entrar novamente para que as alterações de grupo entrem em vigor. Você instalou e configurou o Wireshark com sucesso e está pronto para começar a analisar o tráfego de rede!

Capturando Tráfego de Rede

Agora que temos o Wireshark instalado, vamos capturar um pouco de tráfego de rede. Pense nisso como configurar um microfone para gravar todas as conversas que acontecem na sua rede. Toda vez que seu computador envia ou recebe dados online, eles são divididos em pequenos pedaços chamados pacotes. O Wireshark nos permite ver e analisar esses pacotes.

  1. Abra o Wireshark digitando wireshark no terminal e pressionando Enter. Isso iniciará a interface gráfica onde faremos nossa captura de pacotes.

  2. Quando o Wireshark abrir, você verá uma lista de interfaces de rede (as conexões que seu computador usa para se comunicar com as redes). Procure por uma interface chamada "eth0" ou "eth1" — estas são tipicamente suas conexões Ethernet cabeadas. Se estivesse usando WiFi, você poderia ver "wlan0".

Seleção de interface no Wireshark
  1. Clique duas vezes na interface ativa (aquela que mostra a contagem de pacotes aumentando) para iniciar a captura. A janela principal exibirá agora um fluxo de pacotes em tempo real — cada linha representa uma conversa de rede diferente acontecendo neste exato momento.
Janela de captura de pacotes do Wireshark
  1. Vamos gerar uma atividade de rede simples para capturar. Abra uma nova janela de terminal e digite:

    curl http://example.com

    Este comando busca a página inicial do site example.com, gerando pacotes HTTP (tráfego web) que o Wireshark pode capturar. Você verá novos pacotes aparecerem no Wireshark imediatamente após executar isso.

  2. Após observar vários pacotes (cerca de 5 a 10 segundos são suficientes), clique no botão vermelho "Stop" no topo. Isso congela a captura para que possamos examinar os pacotes sem que novos cheguem constantemente.

  3. Parabéns! Você capturou seu primeiro tráfego de rede. Cada linha representa um pacote com detalhes como endereços de origem/destino, tipo de protocolo e tempo. Os três painéis principais mostram: a lista de pacotes (resumo), detalhes do pacote (análise técnica) e os dados brutos do pacote (visão hexadecimal).

  4. Para salvar seu trabalho, vá em File > Save e nomeie o arquivo como myfirstcapture.pcapng em /home/labex. O formato .pcapng preserva todos os detalhes dos pacotes para análises futuras.

Salvando arquivo de captura de rede

Este processo básico de captura é a base da análise de rede. Nas próximas etapas, aprenderemos como filtrar e interpretar esses pacotes para entender o comportamento da rede e resolver problemas.

Analisando Dados de Pacotes

Agora que capturamos algum tráfego de rede, vamos examiná-lo passo a passo. Pense nisso como ler uma conversa digital — aprenderemos a interpretar a "linguagem" que os computadores usam para se comunicar.

  1. Abrindo o Arquivo de Captura:
    Inicie o Wireshark e abra seu arquivo de captura salvo (myfirstcapture.pcapng) através de File > Open ou clicando duas vezes no arquivo. Este arquivo contém todo o tráfego de rede que gravamos anteriormente, semelhante a uma gravação de chamadas telefônicas.

  2. Entendendo a Lista de Pacotes:
    O painel superior mostra todos os pacotes capturados em ordem cronológica. Cada linha representa uma mensagem de rede, exibindo:

    • Quem enviou (Source IP)
    • Quem recebeu (Destination IP)
    • Que tipo de comunicação era (Protocol)
    • Um breve resumo (Info)
  3. Examinando os Detalhes do Pacote:
    Ao clicar em qualquer pacote, o painel central revela sua estrutura interna através das camadas de protocolo:

    • Frame: Detalhes físicos da rede
    • Ethernet: Endereçamento de hardware
    • IP: Informações de roteamento de internet
    • TCP/UDP: Detalhes de transporte
    • Dados da aplicação (como HTTP)
  4. Filtrando Tráfego HTTP:
    Na barra de filtros (topo), digite http e pressione Enter. Isso isola o tráfego web, assim como pesquisar apenas por mensagens de texto em um registro telefônico. O HTTP é o protocolo que os navegadores usam para se comunicar com os servidores.

Filtro de pacotes HTTP no Wireshark
  1. Identificando Requisições Web:
    Procure por pacotes com "GET" na coluna Info. Eles representam seu navegador solicitando páginas da web. Clique em um para ver:
    • A URL exata solicitada
    • Qual site foi contatado
    • Detalhes técnicos sobre a requisição
Detalhes do pacote HTTP GET
  1. Analisando Cabeçalhos HTTP:
    Expanda a seção "Hypertext Transfer Protocol" para visualizar:

    • Método de requisição (GET/POST)
    • Recurso solicitado (/index.html)
    • Informações do navegador
    • Cookies e outros metadados
  2. Encontrando Respostas do Servidor:
    Procure por pacotes "HTTP/1.1 200 OK". Eles mostram entregas bem-sucedidas de páginas web. Observe:

    • Códigos de resposta (200=sucesso, 404=não encontrado)
    • Tipo de servidor (Apache/Nginx)
    • Tipo de conteúdo (HTML, imagens, etc.)
Pacote de resposta bem-sucedida do servidor HTTP
  1. Visualizando Conteúdo Web:
    Nas respostas bem-sucedidas, verifique a seção "Line-based text data" para ver o conteúdo real da página. Isso mostra o código HTML que o servidor enviou para o seu navegador.

Esta análise revela as conversas ocultas que ocorrem nas redes. Ao entender esses padrões, você pode diagnosticar problemas, identificar atividades suspeitas e compreender como as aplicações se comunicam.

Usando Filtros

O verdadeiro poder do Wireshark vem de sua capacidade de filtrar e analisar grandes quantidades de dados de rede rapidamente. Nesta etapa, aprenderemos a usar filtros para focar em tipos específicos de tráfego. Pense nos filtros como termos de busca que ajudam você a encontrar exatamente o que procura em um mar de pacotes de rede.

  1. Com seu arquivo de captura aberto no Wireshark, vamos começar usando alguns filtros de exibição simples. A barra de filtros está localizada logo abaixo da barra de ferramentas principal:

    • Para mostrar apenas o tráfego TCP (o protocolo de transporte mais comum), digite tcp na barra de filtros e pressione Enter. Isso ocultará todos os pacotes que não sejam TCP.
    • Para mostrar o tráfego de ou para um endereço IP específico, digite ip.addr == 93.184.215.14 (este é o endereço IP do example.com, mas você pode substituí-lo por qualquer IP que veja em sua captura). O sinal de igual duplo (==) significa "corresponde exatamente".
    Exemplo de filtro TCP no Wireshark
    • Para mostrar todas as requisições HTTP GET (o tipo mais comum de requisição web), digite http.request.method == "GET". Isso ajuda a ver quais páginas da web estão sendo solicitadas.
  2. Agora vamos criar um filtro mais complexo combinando condições. Procuraremos por todas as requisições HTTP GET destinadas especificamente ao example.com:

    • Na barra de filtros, insira: http.request.method == "GET" && http.host contains "example.com"
    • O símbolo && significa "E", portanto, ambas as condições devem ser verdadeiras.
    • O operador contains nos permite corresponder a qualquer domínio que contenha "example.com".
    Filtro HTTP GET no Wireshark
    • Este filtro mostra todas as requisições GET para qualquer domínio que contenha "example.com", o que é útil para monitorar o tráfego de sites específicos.
  3. Como você provavelmente usará certos filtros repetidamente, o Wireshark permite salvá-los. Vamos salvar nosso filtro de HTTP GET:

    • Clique no sinal de mais ("+") ao lado da barra de filtros. Isso abrirá a janela de gerenciamento de filtros.
    • Nomeie o filtro como "HTTP GETs" e clique em Save. Escolha um nome descritivo que você lembrará facilmente.
    • Agora você pode aplicar este filtro rapidamente a qualquer momento, selecionando-o na lista de Filtros Salvos (o ícone de marcador ao lado da barra de filtros).
  4. Por fim, vamos exportar algumas de nossas descobertas para documentação ou análise posterior:

    • Vá em Statistics > HTTP > Requests para ver um resumo de todas as requisições HTTP.
    • Clique em "Save as" para exportar a lista para um arquivo.
    • Escolha /home/labex como o local e salve o arquivo como http_requests.txt.
    Exportando lista de requisições HTTP

Usar filtros dessa maneira permite que você peneire rapidamente grandes volumes de dados de rede e foque no que é importante. É como ter uma lupa superpotente que pode mostrar instantaneamente tipos específicos de tráfego. Dominar os filtros economizará horas de trabalho ao diagnosticar problemas de rede ou analisar eventos de segurança.

Resumo

Neste laboratório, você aprendeu os fundamentos da análise de rede utilizando o Wireshark. Você dominou habilidades essenciais, incluindo a instalação do Wireshark, a captura de tráfego de rede, a análise de dados de pacotes e a aplicação de filtros para isolar tipos específicos de tráfego.

Essas competências essenciais fornecem uma base sólida para a cibersegurança e a administração de redes. O Wireshark serve como uma ferramenta poderosa para solucionar problemas de rede, monitorar padrões de tráfego e identificar possíveis ameaças à segurança. Continue praticando para desenvolver ainda mais sua experiência em análise de rede.