Pesquisa de site

10 dicas sobre como usar o Wireshark para analisar pacotes de rede


Em qualquer rede comutada por pacotes, os pacotes representam unidades de dados que são transmitidas entre computadores. É responsabilidade dos engenheiros de rede e dos administradores de sistema monitorar e inspecionar os pacotes para fins de segurança e solução de problemas.

Para fazer isso, eles contam com programas de software chamados analisadores de pacotes de rede, sendo o Wireshark talvez o mais popular e utilizado devido à sua versatilidade e facilidade de uso. Além disso, o Wireshark permite não apenas monitorar o tráfego em tempo real, mas também salvá-lo em um arquivo para inspeção posterior.

Leitura relacionada: Melhores ferramentas de monitoramento de largura de banda do Linux para analisar o uso da rede

Neste artigo, compartilharemos 10 dicas sobre como usar o Wireshark para analisar pacotes em sua rede e esperamos que quando você chegar à seção Resumo você se sinta inclinado a adicioná-lo aos seus favoritos.

Instalando o Wireshark no Linux

Para instalar o Wireshark, selecione o instalador correto para seu sistema operacional/arquitetura em https://www.wireshark.org/download.html.

Particularmente, se você estiver usando Linux, o Wireshark deve estar disponível diretamente nos repositórios da sua distribuição para uma instalação mais fácil e conveniente. Embora as versões possam diferir, as opções e menus devem ser semelhantes – se não idênticos em cada um.

------------ On Debian/Ubuntu based Distros ------------ 
sudo apt-get install wireshark

------------ On CentOS/RHEL based Distros ------------
sudo yum install wireshark

------------ On Fedora 22+ Releases ------------
sudo dnf install wireshark

Há um bug conhecido no Debian e derivados que pode impedir a listagem das interfaces de rede, a menos que você use o sudo para iniciar o Wireshark. Para corrigir isso, siga a resposta aceita nesta postagem.

Quando o Wireshark estiver em execução, você poderá selecionar a interface de rede que deseja monitorar em Capture:

Neste artigo usaremos eth0, mas você pode escolher outro se desejar. Não clique na interface ainda – faremos isso mais tarde, depois de revisarmos algumas opções de captura.

Configurando opções de captura

As opções de captura mais úteis que consideraremos são:

  1. Interface de rede – Como explicamos anteriormente, analisaremos apenas os pacotes que chegam pela eth0, sejam eles de entrada ou de saída.
  2. Filtro de captura – Esta opção nos permite indicar que tipo de tráfego queremos monitorar por porta, protocolo ou tipo.

Antes de prosseguirmos com as dicas, é importante ressaltar que algumas organizações proíbem o uso do Wireshark em suas redes. Dito isto, se você não estiver utilizando o Wireshark para fins pessoais, certifique-se de que sua organização permita seu uso.

Por enquanto, basta selecionar eth0 na lista suspensa e clicar em Iniciar no botão. Você começará a ver todo o tráfego passando por essa interface. Não é muito útil para fins de monitoramento devido à grande quantidade de pacotes inspecionados, mas é um começo.

Na imagem acima também podemos ver os ícones para listar as interfaces disponíveis, para parar a captura atual e para reiniciá-la (vermelho caixa à esquerda) e para configurar e editar um filtro (caixa vermelha à direita). Quando você passa o mouse sobre um desses ícones, uma dica de ferramenta será exibida para indicar o que ele faz.

Começaremos ilustrando as opções de captura, enquanto as dicas #7 até #10 discutirão como realmente fazer algo útil com uma captura.

DICA nº 1 – Inspecione o tráfego HTTP

Digite http na caixa de filtro e clique em Aplicar. Inicie seu navegador e acesse qualquer site que desejar:

Para iniciar cada dica subsequente, interrompa a captura ao vivo e edite o filtro de captura.

DICA #2 – Inspecione o tráfego HTTP de um determinado endereço IP

Nesta dica específica, acrescentaremos ip==192.168.0.10&& à sub-rotina filter para monitorar o tráfego HTTP entre o computador local e 192.168.0.10:

DICA #3 – Inspecione o tráfego HTTP para um determinado endereço IP

Intimamente relacionado com #2, neste caso usaremos ip.dst como parte do filtro de captura da seguinte forma:

ip.dst==192.168.0.10&&http

Para combinar as dicas #2 e #3, você pode usar ip.addr na regra de filtro em vez de ip.src ou ip.dst.

DICA #4 – Monitore o tráfego de rede Apache e MySQL

Às vezes, você estará interessado em inspecionar o tráfego que corresponda a uma (ou ambas) condições. Por exemplo, para monitorar o tráfego nas portas TCP 80 (servidor web) e 3306 (servidor de banco de dados MySQL/MariaDB), você pode usar uma condição OR no filtro de captura:

tcp.port==80||tcp.port==3306

Nas dicas #2 e #3, || e a palavra ou produzem os mesmos resultados. O mesmo acontece com && e a palavra e.

DICA #5 – Rejeite pacotes para determinado endereço IP

Para excluir pacotes que não correspondem à regra de filtro, use ! e coloque a regra entre parênteses. Por exemplo, para excluir pacotes originados ou direcionados para um determinado endereço IP, você pode usar:

!(ip.addr == 192.168.0.10)

DICA #6 – Monitore o tráfego da rede local (192.168.0.0/24)

A regra de filtro a seguir exibirá apenas o tráfego local e excluirá pacotes que vão e vêm da Internet:

ip.src==192.168.0.0/24 and ip.dst==192.168.0.0/24

DICA #7 – Monitore o conteúdo de uma conversa TCP

Para inspecionar o conteúdo de uma conversa TCP (troca de dados), clique com o botão direito em um determinado pacote e escolha Seguir fluxo TCP. Uma janela aparecerá com o conteúdo da conversa.

Isso incluirá cabeçalhos HTTP se estivermos inspecionando o tráfego da web e também quaisquer credenciais de texto simples transmitidas durante o processo, se houver.

DICA #8 – Edite regras de coloração

Até agora tenho certeza que você já percebeu que cada linha da janela de captura é colorida. Por padrão, o tráfego HTTP aparece no fundo verde com texto preto, enquanto os erros de soma de verificação são mostrados em texto vermelho com fundo preto.

Se desejar alterar essas configurações, clique no ícone Editar regras de coloração, escolha um determinado filtro e clique em Editar.

DICA #9 – Salve a captura em um arquivo

Salvar o conteúdo da captura nos permitirá inspecioná-lo com mais detalhes. Para fazer isso, vá em Arquivo → Exportar e escolha um formato de exportação na lista:

DICA #10 – Pratique com amostras de captura

Se você acha que sua rede é “chata”, o Wireshark fornece uma série de exemplos de arquivos de captura que você pode usar para praticar e aprender. Você pode baixar essas SampleCaptures e importá-las através do menu Arquivo → Importar.

Resumo

Wireshark é um software gratuito e de código aberto, como você pode ver na seção FAQs do site oficial. Você pode configurar um filtro de captura antes ou depois de iniciar uma inspeção.

Caso você não tenha percebido, o filtro possui um recurso de preenchimento automático que permite pesquisar facilmente as opções mais utilizadas que você pode personalizar posteriormente. Com isso, o céu é o limite!

Como sempre, não hesite em nos enviar uma mensagem usando o formulário de comentários abaixo se tiver alguma dúvida ou observação sobre este artigo.