Medir Tempos de Resposta do Serviço no Tshark

WiresharkBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a medir os tempos de resposta do serviço SMB usando o Tshark, a ferramenta de linha de comando do Wireshark. Você capturará o tráfego de rede na porta TCP 445, analisará os tempos de resposta da sessão e aplicará filtros para examinar comunicações específicas de hosts.

Os exercícios práticos o guiarão através da geração de tráfego de teste, do cálculo de métricas de desempenho SMB com comandos como -z smb,srt e da análise de resultados usando os recursos estatísticos do Tshark. Você obterá experiência prática com filtros de captura (-f "tcp port 445") e filtros de exibição (-Y "ip.addr==10.0.0.1") em um ambiente Linux.

Capturar Tráfego SMB com -f "tcp port 445"

Nesta etapa, você aprenderá a capturar tráfego de rede SMB (Server Message Block) usando o filtro de captura do Wireshark. SMB é um protocolo de rede usado principalmente para compartilhamento de arquivos, acesso a impressoras e comunicação entre processos entre máquinas Windows. Ele normalmente usa a porta TCP 445 para comunicação, e é por isso que focaremos nesta porta específica em nossa captura.

Vamos começar preparando nosso ambiente:

  1. Primeiro, abra um terminal em sua VM LabEx clicando no ícone do terminal na área de trabalho Xfce ou usando o atalho Ctrl+Alt+T. O terminal é onde executaremos todos os nossos comandos.

  2. Navegue até o diretório de trabalho padrão onde armazenaremos nossos arquivos de captura. Isso ajuda a manter nosso projeto organizado:

cd ~/project
  1. Agora, lançaremos o Wireshark, que é o analisador de protocolo de rede que usaremos para capturar e examinar o tráfego SMB. O símbolo & executa o Wireshark em segundo plano para que você possa continuar usando o mesmo terminal:
wireshark &
  1. Na interface principal do Wireshark, precisamos configurar nossas configurações de captura:

    • Selecione a interface de rede ativa (geralmente eth1). Esta é a placa de rede que monitorará o tráfego.
    • No campo de filtro de captura, insira: tcp port 445. Isso informa ao Wireshark para capturar apenas o tráfego na porta 445, onde o SMB opera.
    • Clique no ícone azul da barbatana de tubarão para iniciar a captura. Você verá a interface começar a ser preenchida com pacotes.
  2. Para gerar algum tráfego SMB para nossa captura, usaremos o comando smbclient em uma nova janela do terminal. Este comando tenta se conectar a um servidor SMB local (mesmo sabendo que falhará, ele ainda gerará o tráfego que queremos capturar):

smbclient -N -L //127.0.0.1
  1. Depois de capturar por cerca de 10 segundos (tempo suficiente para gerar tráfego suficiente), pare a captura clicando no botão quadrado vermelho. Isso congela a exibição de pacotes para que possamos examiná-la.

  2. Observe os pacotes capturados na janela principal. Você deve ver pacotes TCP com porta de destino/origem 445. Estes são os pacotes do protocolo SMB que estamos interessados em analisar.

  3. Finalmente, vamos salvar nossa captura para referência futura:

    • Vá em File > Save As (Arquivo > Salvar como)
    • Nomeie o arquivo smb_capture.pcapng (o formato .pcapng preserva todas as informações de captura)
    • Salve-o em ~/project onde iniciamos nossa sessão

Calcular SRT com -z smb,srt

Nesta etapa, você aprenderá a calcular o Tempo de Resposta da Sessão SMB (SRT - Session Response Time) usando o utilitário de linha de comando tshark do Wireshark. SRT mede o tempo entre quando um cliente envia uma solicitação SMB e quando recebe a resposta do servidor, o que é crucial para identificar gargalos de desempenho em operações de compartilhamento de arquivos SMB.

  1. Primeiro, certifique-se de estar no diretório do projeto onde trabalharemos com nossos arquivos de captura:
cd ~/project
  1. Usaremos o arquivo de captura smb_capture.pcapng criado na etapa anterior. Este arquivo contém o tráfego de rede capturado na porta 445, que é a porta padrão para o protocolo SMB. Se você não tiver este arquivo, pode recriá-lo executando:
wireshark -k -i eth1 -f "tcp port 445" -w smb_capture.pcapng &

Aguarde 10 segundos para capturar algum tráfego SMB e, em seguida, pare a captura com Ctrl+C.

  1. O comando principal calcula os Tempos de Resposta da Sessão SMB. A opção -z smb,srt informa ao tshark para analisar as estatísticas de tempo de resposta SMB:
tshark -r smb_capture.pcapng -z smb,srt
  1. A saída mostrará uma tabela detalhada com estatísticas SRT que o ajudam a entender as características de desempenho da sessão SMB. Ela inclui:

    • Número total de solicitações SMB processadas
    • Tempo de resposta mínimo (resposta mais rápida)
    • Tempo de resposta máximo (resposta mais lenta)
    • Tempo de resposta médio
    • Distribuição dos tempos de resposta em diferentes intervalos de tempo
  2. Ao lidar com arquivos de captura grandes, a saída pode ser extensa. Para melhor legibilidade, você pode direcionar a saída para less, o que permite que você role pelos resultados página por página:

tshark -r smb_capture.pcapng -z smb,srt | less
  1. Para salvar essas estatísticas para análise ou relatório posterior, redirecione a saída para um arquivo de texto:
tshark -r smb_capture.pcapng -z smb,srt > smb_srt_stats.txt
  1. Você pode examinar as estatísticas salvas a qualquer momento usando o comando cat. Isso é útil quando você precisa revisar os resultados sem executar novamente a análise:
cat smb_srt_stats.txt

Filtrar Host com -Y "ip.addr==10.0.0.1"

Nesta etapa, você aprenderá a filtrar o tráfego de rede para um endereço IP de host específico (10.0.0.1) usando a sintaxe de filtro de exibição do Wireshark. Isso é útil quando você deseja se concentrar no tráfego relacionado a um dispositivo específico em sua captura de rede.

  1. Primeiro, certifique-se de estar no diretório do projeto onde seu arquivo de captura está armazenado:
cd ~/project
  1. Abra seu arquivo de tráfego SMB capturado anteriormente no Wireshark. O '&' o executa em segundo plano para que você possa continuar usando o terminal:
wireshark smb_capture.pcapng &
  1. Na barra de filtro de exibição do Wireshark (localizada na parte superior da janela principal), insira o seguinte filtro para ver todos os pacotes envolvendo o endereço IP 10.0.0.1:
ip.addr==10.0.0.1

Em seguida, pressione Enter ou clique em Aplicar para ativar o filtro.

  1. A lista de pacotes agora mostrará apenas os pacotes onde:

    • O IP de origem é 10.0.0.1 (tráfego vindo deste host)
    • O IP de destino é 10.0.0.1 (tráfego indo para este host)
  2. Para ser mais específico, você pode filtrar apenas os pacotes que vão para 10.0.0.1 (tráfego de destino):

ip.dst==10.0.0.1
  1. Da mesma forma, para ver apenas os pacotes que vêm de 10.0.0.1 (tráfego de origem):
ip.src==10.0.0.1
  1. Você pode combinar filtros com operadores lógicos para uma análise mais precisa. Por exemplo, para ver apenas o tráfego SMB (que usa a porta TCP 445) para/de 10.0.0.1:
ip.addr==10.0.0.1 && tcp.port==445
  1. Para salvar a visualização filtrada para análise posterior:
    • Vá em File > Export Specified Packets (Arquivo > Exportar Pacotes Especificados)
    • Escolha "Displayed" (Exibidos) para salvar apenas os pacotes filtrados
    • Salve como filtered_host.pcapng

Visualizar Estatísticas com -q

Nesta etapa, exploraremos como analisar estatísticas de tráfego de rede usando a ferramenta de linha de comando tshark do Wireshark. A opção -q (quiet - silencioso) é particularmente útil porque oculta os detalhes individuais dos pacotes e se concentra apenas em resumos estatísticos, facilitando a análise dos padrões gerais de tráfego.

Antes de começarmos, vamos garantir que estamos no diretório de trabalho correto onde nosso arquivo de captura está armazenado:

cd ~/project

Agora, vamos começar com estatísticas básicas. Este comando nos dá uma visão geral do conteúdo do arquivo de captura sem mostrar cada pacote individual:

tshark -r smb_capture.pcapng -q

Para entender como diferentes protocolos de rede são distribuídos em nossa captura, usamos as estatísticas da hierarquia de protocolos. Isso mostra qual porcentagem do tráfego pertence a cada protocolo:

tshark -r smb_capture.pcapng -qz io,phs

Como estamos trabalhando com tráfego SMB, podemos analisar especificamente os tempos de resposta do serviço SMB. Isso ajuda a identificar com que rapidez o servidor responde às solicitações do cliente:

tshark -r smb_capture.pcapng -qz smb,srt

Em seguida, examinaremos as estatísticas de endpoint para ver quais endereços IP estão gerando ou recebendo mais tráfego:

tshark -r smb_capture.pcapng -qz endpoints,ip

Para entender os padrões de comunicação entre os hosts, usamos as estatísticas de conversação. Isso mostra os volumes de tráfego entre pares de IP específicos:

tshark -r smb_capture.pcapng -qz conv,ip

É frequentemente útil salvar as estatísticas para análise posterior. Aqui, salvamos a hierarquia de protocolos em um arquivo de texto:

tshark -r smb_capture.pcapng -qz io,phs > protocol_stats.txt

Finalmente, podemos visualizar as estatísticas salvas para verificar nossa saída:

cat protocol_stats.txt

Resumo

Neste laboratório, você aprendeu a medir os tempos de resposta do serviço SMB usando Wireshark e tshark. O processo envolveu a captura de tráfego SMB com o filtro "tcp port 445", em seguida, a análise dos Tempos de Resposta da Sessão (Session Response Times) por meio do parâmetro "-z smb,srt" do tshark para avaliação de desempenho SMB.

Você também praticou a filtragem de tráfego por endereço IP usando a opção "-Y" e a geração de resumos estatísticos com "-q". Essas técnicas fornecem habilidades essenciais para análise de tráfego de rede e monitoramento do protocolo SMB usando ferramentas de linha de comando.