Medir los tiempos de respuesta del servicio en Tshark

WiresharkWiresharkBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a medir los tiempos de respuesta del servicio SMB utilizando Tshark, la herramienta de línea de comandos de Wireshark. Capturará el tráfico de red en el puerto TCP 445, analizará los tiempos de respuesta de las sesiones y aplicará filtros para examinar las comunicaciones específicas de los hosts.

Los ejercicios prácticos lo guiarán a través de la generación de tráfico de prueba, el cálculo de métricas de rendimiento SMB con comandos como -z smb,srt y el análisis de los resultados utilizando las características estadísticas de Tshark. Obtendrá experiencia práctica con filtros de captura (-f "tcp port 445") y filtros de visualización (-Y "ip.addr==10.0.0.1") en un entorno Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") wireshark/WiresharkGroup -.-> wireshark/capture_filters("Capture Filters") wireshark/WiresharkGroup -.-> wireshark/export_packets("Exporting Packets") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/packet_capture -.-> lab-548933{{"Medir los tiempos de respuesta del servicio en Tshark"}} wireshark/display_filters -.-> lab-548933{{"Medir los tiempos de respuesta del servicio en Tshark"}} wireshark/capture_filters -.-> lab-548933{{"Medir los tiempos de respuesta del servicio en Tshark"}} wireshark/export_packets -.-> lab-548933{{"Medir los tiempos de respuesta del servicio en Tshark"}} wireshark/packet_analysis -.-> lab-548933{{"Medir los tiempos de respuesta del servicio en Tshark"}} wireshark/commandline_usage -.-> lab-548933{{"Medir los tiempos de respuesta del servicio en Tshark"}} end

Capturar tráfico SMB con -f "tcp port 445"

En este paso, aprenderá cómo capturar el tráfico de red SMB (Server Message Block) utilizando el filtro de captura de Wireshark. SMB es un protocolo de red principalmente utilizado para el intercambio de archivos, el acceso a impresoras y la comunicación entre procesos en máquinas Windows. Por lo general, utiliza el puerto TCP 445 para la comunicación, por lo que nos centraremos en este puerto específico en nuestra captura.

Comencemos preparando nuestro entorno:

  1. Primero, abra una terminal en su máquina virtual LabEx haciendo clic en el icono de la terminal en el escritorio Xfce o utilizando el atajo Ctrl+Alt+T. En la terminal es donde ejecutaremos todos nuestros comandos.

  2. Navegue al directorio de trabajo predeterminado donde almacenaremos nuestros archivos de captura. Esto ayuda a mantener nuestro proyecto organizado:

cd ~/project
  1. Ahora lanzaremos Wireshark, que es el analizador de protocolos de red que utilizaremos para capturar y examinar el tráfico SMB. El símbolo & ejecuta Wireshark en segundo plano para que pueda seguir utilizando la misma terminal:
wireshark &
  1. En la interfaz principal de Wireshark, necesitamos configurar nuestras opciones de captura:

    • Seleccione la interfaz de red activa (por lo general eth1). Esta es la tarjeta de red que monitoreará el tráfico.
    • En el campo de filtro de captura, ingrese: tcp port 445. Esto le dice a Wireshark que solo capture el tráfico en el puerto 445 donde opera SMB.
    • Haga clic en el icono de aleta de tiburón azul para comenzar la captura. Verá que la interfaz comienza a llenarse con paquetes.
  2. Para generar algo de tráfico SMB para nuestra captura, utilizaremos el comando smbclient en una nueva ventana de terminal. Este comando intenta conectarse a un servidor SMB local (aunque sabemos que fallará, aún así generará el tráfico que queremos capturar):

smbclient -N -L //127.0.0.1
  1. Después de capturar durante aproximadamente 10 segundos (suficiente tiempo para generar tráfico suficiente), detenga la captura haciendo clic en el botón del cuadrado rojo. Esto congela la visualización de los paquetes para que podamos examinarlos.

  2. Observe los paquetes capturados en la ventana principal. Debería ver paquetes TCP con puerto de destino/origen 445. Estos son los paquetes del protocolo SMB que queremos analizar.

  3. Finalmente, guardemos nuestra captura para futuras referencias:

    • Vaya a Archivo > Guardar como
    • Nombre el archivo smb_capture.pcapng (el formato .pcapng conserva toda la información de la captura)
    • Guárdelo en ~/project donde comenzamos nuestra sesión

Calcular SRT con -z smb,srt

En este paso, aprenderá cómo calcular el Tiempo de Respuesta de Sesión SMB (SRT, por sus siglas en inglés) utilizando la utilidad de línea de comandos de Wireshark, tshark. El SRT mide el tiempo transcurrido entre el momento en que un cliente envía una solicitud SMB y el momento en que recibe la respuesta del servidor, lo cual es fundamental para identificar cuellos de botella de rendimiento en las operaciones de compartición de archivos SMB.

  1. Primero, asegúrese de estar en el directorio del proyecto donde trabajaremos con nuestros archivos de captura:
cd ~/project
  1. Utilizaremos el archivo de captura smb_capture.pcapng creado en el paso anterior. Este archivo contiene el tráfico de red capturado en el puerto 445, que es el puerto estándar para el protocolo SMB. Si no tiene este archivo, puede recrearlo ejecutando:
wireshark -k -i eth1 -f "tcp port 445" -w smb_capture.pcapng &

Espere 10 segundos para capturar algo de tráfico SMB, luego detenga la captura con Ctrl+C.

  1. El comando principal calcula los Tiempos de Respuesta de Sesión SMB. La opción -z smb,srt le indica a tshark que analice las estadísticas del tiempo de respuesta SMB:
tshark -r smb_capture.pcapng -z smb,srt
  1. La salida mostrará una tabla detallada con las estadísticas del SRT que le ayudará a comprender las características de rendimiento de la sesión SMB. Incluye:

    • Número total de solicitudes SMB procesadas
    • Tiempo de respuesta mínimo (respuesta más rápida)
    • Tiempo de respuesta máximo (respuesta más lenta)
    • Tiempo de respuesta promedio
    • Distribución de los tiempos de respuesta en diferentes rangos de tiempo
  2. Cuando se trabaja con archivos de captura grandes, la salida puede ser extensa. Para una mejor legibilidad, puede canalizar la salida a less, lo que le permite desplazarse por los resultados página por página:

tshark -r smb_capture.pcapng -z smb,srt | less
  1. Para guardar estas estadísticas para un análisis posterior o un informe, redirija la salida a un archivo de texto:
tshark -r smb_capture.pcapng -z smb,srt > smb_srt_stats.txt
  1. Puede examinar las estadísticas guardadas en cualquier momento utilizando el comando cat. Esto es útil cuando necesita revisar los resultados sin volver a ejecutar el análisis:
cat smb_srt_stats.txt

Filtrar por host con -Y "ip.addr==10.0.0.1"

En este paso, aprenderá cómo filtrar el tráfico de red de una dirección IP de host específica (10.0.0.1) utilizando la sintaxis del filtro de visualización de Wireshark. Esto es útil cuando desea centrarse en el tráfico relacionado con un dispositivo en particular en su captura de red.

  1. Primero, asegúrese de estar en el directorio del proyecto donde se almacena su archivo de captura:
cd ~/project
  1. Abra el archivo de tráfico SMB capturado previamente en Wireshark. El '&' lo ejecuta en segundo plano para que pueda seguir utilizando la terminal:
wireshark smb_capture.pcapng &
  1. En la barra de filtro de visualización de Wireshark (ubicada en la parte superior de la ventana principal), ingrese el siguiente filtro para ver todos los paquetes que involucren la dirección IP 10.0.0.1:
ip.addr==10.0.0.1

Luego, presione Enter o haga clic en Aplicar para activar el filtro.

  1. La lista de paquetes ahora solo mostrará paquetes en los que:

    • La dirección IP de origen sea 10.0.0.1 (tráfico que proviene de este host)
    • La dirección IP de destino sea 10.0.0.1 (tráfico que va hacia este host)
  2. Para ser más específico, puede filtrar solo los paquetes que van hacia 10.0.0.1 (tráfico de destino):

ip.dst==10.0.0.1
  1. De manera similar, para ver solo los paquetes que provienen de 10.0.0.1 (tráfico de origen):
ip.src==10.0.0.1
  1. Puede combinar filtros con operadores lógicos para un análisis más preciso. Por ejemplo, para ver solo el tráfico SMB (que utiliza el puerto TCP 445) hacia/desde 10.0.0.1:
ip.addr==10.0.0.1 && tcp.port==445
  1. Para guardar la vista filtrada para un análisis posterior:
    • Vaya a Archivo > Exportar paquetes especificados
    • Elija "Mostrados" para guardar solo los paquetes filtrados
    • Guarde como filtered_host.pcapng

Ver estadísticas con -q

En este paso, exploraremos cómo analizar las estadísticas del tráfico de red utilizando la herramienta de línea de comandos de Wireshark, tshark. La opción -q (quiet, silencioso) es especialmente útil porque oculta los detalles de cada paquete y se centra únicamente en los resúmenes estadísticos, lo que facilita el análisis de los patrones generales de tráfico.

Antes de comenzar, asegúremos de estar en el directorio de trabajo correcto donde se almacena nuestro archivo de captura:

cd ~/project

Ahora, empecemos con las estadísticas básicas. Este comando nos da una visión general del contenido del archivo de captura sin mostrar cada paquete individual:

tshark -r smb_capture.pcapng -q

Para entender cómo se distribuyen los diferentes protocolos de red en nuestra captura, utilizamos las estadísticas de jerarquía de protocolos. Esto muestra el porcentaje de tráfico que pertenece a cada protocolo:

tshark -r smb_capture.pcapng -qz io,phs

Dado que estamos trabajando con tráfico SMB, podemos analizar específicamente los tiempos de respuesta del servicio SMB. Esto ayuda a identificar qué tan rápido el servidor responde a las solicitudes de los clientes:

tshark -r smb_capture.pcapng -qz smb,srt

A continuación, examinaremos las estadísticas de puntos finales para ver qué direcciones IP están generando o recibiendo la mayor cantidad de tráfico:

tshark -r smb_capture.pcapng -qz endpoints,ip

Para entender los patrones de comunicación entre hosts, utilizamos las estadísticas de conversación. Esto muestra los volúmenes de tráfico entre pares específicos de IP:

tshark -r smb_capture.pcapng -qz conv,ip

A menudo es útil guardar las estadísticas para un análisis posterior. Aquí guardamos la jerarquía de protocolos en un archivo de texto:

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

Finalmente, podemos ver las estadísticas guardadas para verificar nuestra salida:

cat protocol_stats.txt

Resumen

En este laboratorio, has aprendido a medir los tiempos de respuesta del servicio SMB utilizando Wireshark y tshark. El proceso implicó capturar el tráfico SMB con el filtro "tcp port 445", y luego analizar los Tiempos de Respuesta de Sesión a través del parámetro "-z smb,srt" de tshark para evaluar el rendimiento del SMB.

También practicaste filtrar el tráfico por dirección IP utilizando la opción "-Y" y generar resúmenes estadísticos con "-q". Estas técnicas proporcionan habilidades esenciales para el análisis del tráfico de red y la monitorización del protocolo SMB utilizando herramientas de línea de comandos.