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 padrão da indústria. Esta ferramenta poderosa permite examinar o tráfego de rede ao nível de pacotes, fornecendo insights valiosos para a 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 como 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, tornando o processo de instalação simples para iniciantes.

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

Abrindo a janela do Terminal Xfce

Nota: Usuários gratuitos não podem se conectar à internet, portanto, o Wireshark já está pré-instalado no ambiente do laboratório. Você pode pular para o item 5 da lista (verificar se o Wireshark está instalado). Torne-se um usuário 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 estamos instalando a versão mais recente disponível do Wireshark. Execute o seguinte comando:
sudo apt update
  1. Agora, vamos instalar o próprio Wireshark. O sinalizador -y responde automaticamente "yes" a quaisquer prompts durante a instalação, tornando o processo mais fluido:
sudo apt install wireshark -y
  1. Durante a instalação, você encontrará um prompt de segurança importante sobre permitir que usuários não superusuários capturem pacotes. Esta é uma escolha de configuração fundamental - selecionar "Yes" significa que você não precisará de privilégios de root para executar o Wireshark, o que é mais seguro para o uso diário. Use as teclas de seta para selecionar "Yes" e pressione Enter.

Prompt 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 que a instalação foi bem-sucedida e mostra qual versão você está executando:
wireshark --version
  1. Para capturar tráfego de rede, precisamos configurar as permissões adequadas. Isso envolve adicionar seu usuário ao grupo wireshark e configurar o Dumpcap (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 ser executado com privilégios elevados, mantendo o Wireshark em execução como um usuário normal - uma prática recomendada 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 e entrar novamente no sistema para que as alterações de grupo entrem em vigor. Agora 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 algum tráfego de rede. Pense nisso como configurar um microfone para gravar todas as conversas acontecendo 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 falar com as redes). Procure por uma interface chamada "eth0" ou "eth1" - estas são normalmente suas conexões Ethernet com fio. Se você estiver usando WiFi, poderá ver "wlan0" em vez disso.

Seleção de interface do 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 ao vivo de pacotes - cada linha representa uma conversa de rede diferente acontecendo neste momento.

Janela de captura de pacotes do Wireshark

  1. Vamos criar alguma 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 example.com, gerando pacotes HTTP (tráfego da web) que o Wireshark pode capturar. Você verá novos pacotes aparecerem no Wireshark imediatamente após executar este comando.

  2. Depois de ver vários pacotes (cerca de 5 a 10 segundos são suficientes), clique no botão vermelho "Stop" na parte superior. 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 dados brutos do pacote (visualizaçã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 solucionar 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, mostrando:

    • Quem enviou (IP de Origem)
    • Quem recebeu (IP de Destino)
    • Qual o tipo de comunicação (Protocolo)
    • Um breve resumo (Info)
  3. Examinando Detalhes do Pacote:
    Ao clicar em qualquer pacote, o painel central revela sua estrutura interna através de camadas de protocolo:

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

Filtro de pacotes HTTP do 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 ver:

    • 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 de páginas da web bem-sucedidas. 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:
    Em respostas bem-sucedidas, verifique a seção "Line-based text data" para ver o conteúdo real da página da web. Isso mostra o código HTML que o servidor enviou ao seu navegador.

Esta análise revela as conversas ocultas que acontecem nas redes. Ao entender esses padrões, você pode solucionar 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 como usar filtros para focar em tipos específicos de tráfego. Pense nos filtros como termos de pesquisa 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 filtro está localizada logo abaixo da barra de ferramentas principal:

    • Para mostrar apenas tráfego TCP (o protocolo de transporte mais comum), digite tcp na barra de filtro e pressione Enter. Isso ocultará todos os pacotes não-TCP da visualização.
    • Para mostrar tráfego de ou para um endereço IP específico, digite ip.addr == x.x.x.x, substituindo x.x.x.x por um endereço da sua captura ou de uma consulta DNS. Para o endereço atual do example.com, execute dig example.com +short no Terminal e use um dos IPs exibidos. O valor 93.184.215.14 é apenas um exemplo neste texto do laboratório; endereços reais mudam com o tempo. O sinal de igual duplo (==) significa "corresponde exatamente".

    Exemplo de filtro TCP do 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 todas as requisições HTTP GET indo especificamente para o example.com:

    • Na barra de filtro, insira: http.request.method == "GET" && http.host contains "example.com"
    • O && 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 do Wireshark

    • Este filtro mostra todas as requisições GET para qualquer domínio contendo "example.com", o que é útil para monitorar o tráfego para sites específicos.
  3. Como você provavelmente usará certos filtros repetidamente, o Wireshark permite salvá-los. Vamos salvar nosso filtro HTTP GET:

    • Clique no sinal de mais ("+") ao lado da barra de filtro. Isso abre a janela de gerenciamento de filtros.
    • Nomeie o filtro como "HTTP GETs" e clique em Save. Escolha um nome descritivo que você lembre.
    • 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 filtro).
  4. Finalmente, 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 local e salve o arquivo como http_requests.txt

    Exportando lista de requisições HTTP

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

Resumo

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

Essas competências principais fornecem uma base sólida para cibersegurança e 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.