Filtragem de Tráfego no Wireshark

WiresharkBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a filtrar o tráfego de rede usando o Wireshark, uma ferramenta essencial para análise de redes. Você praticará a análise de um arquivo de pacotes pré-capturado, aplicará filtros de exibição para isolar tráfegos específicos e exportará os resultados filtrados para um exame mais detalhado. Essas habilidades ajudarão você a identificar padrões de rede, solucionar problemas de conectividade e compreender as comunicações de rede.

Este é um Laboratório Guiado, que fornece instruções passo a passo para ajudar você a aprender e praticar. Siga as instruções cuidadosamente para concluir cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 93%. Ele recebeu uma taxa de avaliação positiva de 100% dos alunos.

Primeiros Passos com o Tshark

Antes de mergulhar na interface gráfica, você começará com o tshark, a versão de linha de comando do Wireshark. É uma ferramenta poderosa para análises rápidas e automação via scripts. Nesta etapa, você verificará a instalação e realizará uma inspeção básica em um arquivo de captura de pacotes fornecido.

  1. Primeiro, verifique se o tshark está instalado corretamente conferindo sua versão.

    tshark --version

    Você deverá ver uma saída indicando a versão do Wireshark e do tshark, semelhante a esta:

    TShark (Wireshark) x.x.x (Git vx.x.x packaged as x.x.x-1)
    ...
  2. Um arquivo de captura de exemplo chamado capture.pcap foi colocado no diretório do seu projeto. Use o comando ls para confirmar sua presença.

    ls -lh capture.pcap

    A saída mostrará os detalhes do arquivo, incluindo seu tamanho e nome.

    -rw-rw-r-- 1 labex labex 9.1M Oct 24  2015 capture.pcap
  3. Para obter um resumo de alto nível do arquivo de captura, use o utilitário capinfos, que acompanha o Wireshark.

    capinfos capture.pcap

    Este comando fornece metadados sobre o arquivo, como o número de pacotes, a duração da captura e o tamanho médio dos pacotes.

    File name:           capture.pcap
    File type:           Wireshark/tcpdump/... - pcap
    File encapsulation:  Ethernet
    File timestamp precision:  microseconds (6)
    Packet size limit:   file hdr: 65535 bytes
    Number of packets:   14 k
    File size:           9444 kB
    Data size:           9216 kB
    Capture duration:    298.505344 seconds
    First packet time:   2011-01-26 02:52:22.484409
    Last packet time:    2011-01-26 02:57:20.989753
    Data byte rate:      30 kBps
    Data bit rate:       247 kbps
    Average packet size: 646.28 bytes
    Average packet rate: 47 packets/s
    SHA256:              77d06d3f33f1a95fb9f2610f20ead8ce978449077d6ba22d4945b85bd48f75d1
    RIPEMD160:           68e950b2e438c7be011a46646ddfc8105b65b339
    SHA1:                06e502dca8dbfe8e6a9cabc61f722d94756f6db9
    Strict time order:   True
    Number of interfaces in file: 1
    Interface #0 info:
                         Encapsulation = Ethernet (1 - ether)
                         Capture length = 65535
                         Time precision = microseconds (6)
                         Time ticks per second = 1000000
                         Number of stat entries = 0
                         Number of packets = 14261
  4. Por fim, use o tshark para ler os cinco primeiros pacotes do arquivo. A flag -r especifica o arquivo de entrada e -c limita a contagem de pacotes.

    tshark -r capture.pcap -c 5

    Isso exibirá um resumo de uma linha para cada um dos cinco primeiros pacotes, oferecendo uma visão rápida do tráfego.

        1   0.000000 192.168.3.131 → 72.14.213.138 HTTP 997 GET /complete/search?client=chrome&hl=en-US&q=cr HTTP/1.1
        2   0.029841 72.14.213.138 → 192.168.3.131 HTTP 440 HTTP/1.1 200 OK  (text/javascript)
        3   0.223883 192.168.3.131 → 72.14.213.102 TCP 66 55950 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1
        4   0.229423 192.168.3.131 → 72.14.213.138 TCP 54 57011 → 80 [ACK] Seq=944 Ack=387 Win=16192 Len=0
        5   0.242649 72.14.213.102 → 192.168.3.131 TCP 66 80 → 55950 [SYN, ACK] Seq=0 Ack=1 Win=5720 Len=0 MSS=1430 SACK_PERM=1 WS=64

Filtragem Básica com Tshark

As capturas de pacotes podem conter milhares de registros, dificultando a localização de informações específicas. Os filtros de exibição são usados para restringir a visualização apenas aos pacotes que atendem a certos critérios. Nesta etapa, você aprenderá a aplicar filtros básicos usando o tshark.

  1. Os filtros de exibição são aplicados usando a flag -Y (Y maiúsculo). Para visualizar apenas pacotes TCP, use o filtro tcp. Vamos visualizar os cinco primeiros pacotes TCP no arquivo.

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

    A saída agora mostrará apenas os pacotes cujo protocolo seja TCP.

  2. Você também pode filtrar com base em endereços IP. Para ver todos os pacotes originados do endereço IP de origem 192.168.3.131, use o filtro ip.src.

    tshark -r capture.pcap -Y "ip.src == 192.168.3.131" -c 5

    Observe o uso de == para uma correspondência exata.

  3. Os filtros podem ser combinados usando operadores lógicos como && (AND). Para encontrar pacotes TCP do IP de origem 192.168.3.131, combine os dois filtros anteriores.

    tshark -r capture.pcap -Y "tcp && ip.src == 192.168.3.131"
  4. Você pode salvar a saída filtrada em um novo arquivo de captura para análise posterior. A flag -w especifica o arquivo de saída. Vamos salvar os pacotes TCP filtrados em um arquivo chamado filtered_tcp.pcap.

    tshark -r capture.pcap -Y "tcp && ip.src == 192.168.3.131" -w filtered_tcp.pcap
  5. Verifique se o novo arquivo foi criado.

    ls -lh filtered_tcp.pcap

    Você verá o seu novo arquivo de captura, agora menor, listado no diretório.

Explorando o Tráfego com a Interface Gráfica do Wireshark

Embora o tshark seja excelente para automação, a interface gráfica (GUI) do Wireshark oferece um ambiente rico e interativo para análise profunda de pacotes. Nesta etapa, você iniciará a interface do Wireshark e explorará seus principais componentes.

  1. Inicie o aplicativo Wireshark a partir do seu terminal. Importante: Certifique-se de estar usando a Interface de Desktop (Desktop Interface), não apenas um terminal isolado, pois o Wireshark é uma aplicação gráfica que requer um ambiente visual para funcionar corretamente. O símbolo e comercial & ao final executa o aplicativo em segundo plano, liberando seu terminal para outros comandos.

    wireshark &

    Nota: Se você tentar executar este comando em um terminal sem ambiente de desktop, o Wireshark não iniciará. Sempre utilize a Interface de Desktop para aplicações gráficas.

    Interface de Desktop do Wireshark
  2. A janela principal do Wireshark aparecerá. Como estamos analisando um arquivo existente, você não precisa selecionar uma interface de rede. Em vez disso, abra o arquivo capture.pcap.

    • Vá até a barra de menu e clique em File -> Open....
    • No diálogo de arquivos, navegue até /home/labex/project e selecione capture.pcap.
    • Clique no botão Open.
  3. A janela principal agora será preenchida com os pacotes do arquivo. Reserve um momento para se familiarizar com os três painéis principais:

    Janela Principal do Wireshark
    • Painel de Lista de Pacotes (Superior): Uma lista de todos os pacotes na captura, com colunas para o número do pacote, tempo, origem, destino, protocolo e outras informações resumidas.
    • Painel de Detalhes do Pacote (Meio): Uma visão detalhada e expansível das camadas de protocolo do pacote selecionado. Você pode expandir cada camada (ex: Ethernet, IP, TCP) para ver seus campos.
    • Painel de Bytes do Pacote (Inferior): Os dados brutos do pacote selecionado, exibidos nos formatos hexadecimal e ASCII.
  4. Clique em diferentes pacotes no Painel de Lista de Pacotes e observe como as informações nos painéis de Detalhes e Bytes são atualizadas. Essa exploração interativa é um dos recursos mais poderosos do Wireshark.

Aplicando Filtros de Exibição na Interface Gráfica

A sintaxe dos filtros de exibição que você aprendeu com o tshark funciona de forma idêntica na interface gráfica do Wireshark. A interface fornece feedback visual imediato, facilitando a construção e o teste de filtros complexos.

  1. Localize a barra de filtros de exibição no topo da janela do Wireshark. É um campo de texto longo, geralmente com o texto "Apply a display filter..." como marcador de posição.

  2. Vamos filtrar o tráfego HTTP. Digite http na barra de filtros e pressione Enter ou clique no botão Apply (uma seta à direita da barra).

    http
    Filtro HTTP no Wireshark

    O painel de Lista de Pacotes será atualizado instantaneamente para mostrar apenas pacotes HTTP. Observe que a barra de filtros fica verde, indicando uma sintaxe válida. Se você digitar um filtro inválido, ela ficará vermelha.

  3. Agora, vamos encontrar todo o tráfego DNS. Limpe o filtro anterior, digite dns na barra de filtros e pressione Enter.

    dns

    Você verá agora todas as consultas e respostas do Sistema de Nomes de Domínio (DNS) na captura.

  4. Você pode combinar filtros exatamente como fez no tshark. Para encontrar tráfego HTTP envolvendo o endereço IP 192.168.3.131 (seja como origem ou destino), use o filtro ip.addr combinado com o filtro http.

    http && ip.addr == 192.168.3.131
    Filtro HTTP Combinado no Wireshark

    Essa combinação poderosa permite focar em conversas específicas. Experimente outros filtros, como tcp.port == 80 (para tráfego na porta HTTP padrão) ou udp (para tráfego UDP). Para limpar um filtro e ver todos os pacotes novamente, clique no botão X na barra de filtros.

Exportando Dados Filtrados

Após filtrar o tráfego para isolar um evento de interesse, muitas vezes é necessário exportar os resultados para relatórios, compartilhamento ou análise posterior em outras ferramentas. O Wireshark e o tshark oferecem várias maneiras de exportar dados.

  1. Primeiro, na interface do Wireshark, aplique o filtro http como fez na etapa anterior.

  2. Para salvar apenas os pacotes exibidos (filtrados) em um novo arquivo de captura:

    • Vá em File -> Export Specified Packets....
    • Na caixa de diálogo, certifique-se de que a opção Displayed esteja selecionada em "All Packets".
    • Nomeie o arquivo como http_capture.pcap e salve-o no diretório /home/labex/project.
    Exportar Pacotes Especificados no Wireshark
  3. Você também pode exportar o resumo dos pacotes como um arquivo de texto ou CSV. Para exportar como CSV:

    • Vá em File -> Export Packet Dissections -> As CSV....
    • Certifique-se de que Displayed esteja selecionado para "All Packets".
    • Nomeie o arquivo como http_packets.csv e salve-o no diretório do seu projeto.
  4. Você pode realizar as mesmas operações de exportação usando o tshark na linha de comando. Isso é útil para automação. O comando a seguir lê o arquivo original capture.pcap, filtra por http e exporta campos específicos para um arquivo CSV.

    tshark -r capture.pcap -Y "http" -T fields -e frame.number -e ip.src -e ip.dst -e http.request.method -e http.host -E header=y -E separator=, > http_export_cli.csv
    • -T fields: Especifica o formato de saída.
    • -e ...: Especifica os campos (colunas) a serem exportados.
    • -E header=y: Adiciona uma linha de cabeçalho.
    • -E separator=,: Usa a vírgula como separador.
  5. Verifique se os seus arquivos exportados foram criados.

    ls -lh http_*

    Você deverá ver os arquivos http_capture.pcap, http_packets.csv e http_export_cli.csv no seu diretório.

Resumo

Neste laboratório, você aprendeu os fundamentos da filtragem de tráfego de rede com o Wireshark e sua contraparte de linha de comando, o tshark. Você começou inspecionando um arquivo de captura com o tshark e o capinfos. Em seguida, praticou a aplicação de filtros de exibição para isolar protocolos e endereços IP específicos, primeiro com o tshark e depois na interface gráfica interativa do Wireshark. Por fim, aprendeu como exportar seus resultados filtrados para novos arquivos de captura e arquivos CSV legíveis para fins de relatório e análise. Essas habilidades essenciais são a base para qualquer tarefa de análise de rede ou solução de problemas.