Seguir Flujos TCP en Tshark

WiresharkBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá cómo analizar flujos TCP utilizando la herramienta de línea de comandos tshark de Wireshark. Practicará comandos esenciales para leer capturas de paquetes, identificar conversaciones TCP y extraer datos específicos de un flujo para una inspección detallada.

Los ejercicios lo guiarán a través de la verificación de archivos de captura, el examen de detalles del protocolo y el guardado del contenido del flujo. Al completar este laboratorio, adquirirá habilidades prácticas en el análisis del tráfico de red utilizando las potentes características de filtrado y estadísticas de tshark.

Leer captura TCP con -r tcp.pcap

En este paso, aprenderá cómo leer un archivo de captura de paquetes TCP utilizando la herramienta de línea de comandos tshark de Wireshark. Este es el primer paso para analizar el tráfico de red a partir de un archivo de captura guardado. Comprender cómo leer capturas de paquetes es fundamental para la resolución de problemas y el análisis de redes.

La opción -r en tshark le permite leer paquetes de un archivo de captura guardado previamente. Piense en ello como abrir un documento: la bandera -r le dice a tshark qué "documento" (archivo de captura) abrir. Utilizaremos un archivo de muestra llamado tcp.pcap ubicado en su directorio ~/project.

  1. Primero, verifiquemos que el archivo de captura exista en la ubicación esperada. Esta es una buena práctica antes de intentar analizar cualquier archivo:
ls ~/project/tcp.pcap
  1. Ahora, usaremos tshark para leer el archivo de captura. El comando básico sin ningún filtro le mostrará una vista general de todo el tráfico de red en el archivo:
tshark -r ~/project/tcp.pcap

Esto muestra una vista resumida con columnas importantes:

  • Número de paquete (que muestra el orden de los paquetes capturados)
  • Marca de tiempo (cuándo se capturó cada paquete)
  • Direcciones IP de origen y destino
  • Protocolo utilizado (TCP, UDP, etc.)
  • Información breve sobre el contenido del paquete
  1. Para profundizar en el contenido de los paquetes, podemos agregar la bandera -V (modo detallado). Esto muestra la desglose completo del protocolo de cada paquete, capa por capa:
tshark -r ~/project/tcp.pcap -V

La salida detallada revela detalles sobre:

  • Capa Ethernet (direcciones MAC)
  • Capa IP (IP de origen/destino, TTL, etc.)
  • Capa TCP (puertos, números de secuencia, banderas)
  • Datos de la capa de aplicación (si están presentes)

Esta vista detallada le ayuda a entender exactamente lo que está sucediendo en cada capa de red durante la comunicación.

Identificar el índice de flujo con -z conv,tcp

En este paso, aprenderá cómo identificar flujos de conversación TCP en una captura de paquetes utilizando tshark de Wireshark con la opción -z conv,tcp. Esto ayuda a analizar los patrones de comunicación entre hosts.

Antes de comenzar, es importante entender que los flujos TCP representan conversaciones completas entre dos puntos finales. Cada flujo tiene un número de índice único que nos ayuda a aislar y analizar comunicaciones específicas en una captura de red que puede contener muchas conexiones simultáneas.

La opción -z conv,tcp muestra una tabla de todas las conversaciones TCP en la captura, mostrando índices de flujo, direcciones de origen/destino, puertos y recuentos de paquetes. Esto nos da una visión general de toda la actividad TCP en nuestro archivo de captura.

  1. Primero, listemos todas las conversaciones TCP en nuestro archivo de captura:
tshark -r ~/project/tcp.pcap -z conv,tcp

Cuando ejecute este comando, tshark procesará el archivo de captura de paquetes y generará un resumen de todas las conversaciones TCP. El comando lee (-r) el archivo pcap especificado y aplica la opción de estadísticas de conversación (-z conv,tcp).

  1. La salida mostrará una tabla con columnas:

    • Índice de flujo (identificador único para cada flujo TCP)
    • Dirección de origen:puerto (que muestra qué dispositivo inició la conexión)
    • Dirección de destino:puerto (que muestra el dispositivo receptor)
    • Paquetes en cada dirección (que ayuda a identificar el flujo de tráfico)
    • Total de paquetes (que da el tamaño de la conversación)
  2. Para filtrar y ver solo las estadísticas de conversación (sin detalles de los paquetes), agregue -q (modo silencioso):

tshark -r ~/project/tcp.pcap -z conv,tcp -q

La opción -q le dice a tshark que solo muestre las estadísticas que solicitamos, lo que hace que la salida sea más limpia y fácil de leer cuando solo estamos interesados en el resumen de la conversación.

  1. Anote los índices de flujo (primera columna) ya que los necesitará para el siguiente paso en el que seguiremos flujos específicos. Estos índices son cruciales porque nos permiten centrarnos en conversaciones individuales dentro de lo que podría ser una captura de red muy activa.

Seguir el flujo con -z follow,tcp,stream,0

En este paso, aprenderá cómo seguir y analizar un flujo TCP específico de la captura de paquetes utilizando tshark de Wireshark con la opción -z follow,tcp. Esto le permite reconstruir el flujo real de datos de una conversación entre dos puntos finales, lo que facilita la comprensión de la comunicación a nivel de aplicación.

La opción -z follow,tcp,stream,0 le permite examinar el flujo 0 (reemplace 0 con el índice de flujo deseado del paso anterior) como un flujo de datos continuo en lugar de paquetes individuales. Esto es especialmente útil cuando se analizan protocolos como HTTP, donde la carga de una sola página web puede involucrar múltiples paquetes.

  1. Primero, sigamos el flujo 0 (la primera conversación TCP) de nuestra captura. Este comando lee el archivo pcap y reconstruye toda la conversación:
tshark -r ~/project/tcp.pcap -z follow,tcp,stream,0
  1. La salida mostrará tres piezas importantes de información:

    • El intercambio completo de datos entre el cliente y el servidor, reconstruido en orden
    • Representación ASCII de los datos de la capa de aplicación (lo que realmente enviaron las aplicaciones)
    • Indicadores de dirección (">" para cliente a servidor, "<" para servidor a cliente) que ayudan a rastrear quién inició cada parte de la conversación
  2. Para seguir un flujo diferente, reemplace "0" con el índice de flujo deseado (de la salida del paso 2). Por ejemplo, para ver la segunda conversación en la captura:

tshark -r ~/project/tcp.pcap -z follow,tcp,stream,1
  1. Para una salida más limpia que muestre solo los datos (sin encabezados de paquetes), agregue -q (modo silencioso). Esto es útil cuando solo le importan los datos de la aplicación:
tshark -r ~/project/tcp.pcap -z follow,tcp,stream,0 -q

Guardar el texto del flujo con redirección

En este paso, aprenderá cómo guardar el contenido de un flujo TCP en un archivo utilizando la redirección de salida. Esta técnica es especialmente útil cuando necesita analizar patrones de comunicación de red o compartir datos capturados con colegas. El proceso implica extraer datos específicos de un flujo TCP de un archivo de captura de paquetes y almacenarlos en un archivo de texto para su posterior examen.

  1. Primero, guardemos el flujo 0 en un archivo llamado stream0.txt. Este comando lee el archivo de captura de paquetes (tcp.pcap) y extrae solo el contenido del índice del flujo TCP 0, luego redirige la salida a un nuevo archivo de texto:
tshark -r ~/project/tcp.pcap -z follow,tcp,stream,0 -q > ~/project/stream0.txt
  1. Después de ejecutar el comando, verifique que el archivo se haya creado correctamente. El comando ls -l muestra información detallada sobre el archivo, incluyendo su tamaño y fecha de creación:
ls -l ~/project/stream0.txt
  1. Para ver el contenido real que ha guardado, use el comando cat. Esto mostrará la conversación completa del flujo TCP, incluyendo los mensajes del cliente y del servidor:
cat ~/project/stream0.txt
  1. La misma técnica funciona para cualquier flujo TCP en su archivo de captura. Aquí está cómo guardar el flujo 1 simplemente cambiando el índice del flujo en el comando. Tenga en cuenta que estamos creando un nuevo archivo (stream1.txt) para evitar sobrescribir el anterior:
tshark -r ~/project/tcp.pcap -z follow,tcp,stream,1 -q > ~/project/stream1.txt
  1. Cuando se examinan flujos más largos, agregar números de línea puede facilitar el análisis. La bandera -n con cat muestra cada línea con su número correspondiente, lo que le ayuda a hacer referencia a partes específicas de la conversación:
cat -n ~/project/stream0.txt

Resumen

En este laboratorio, has aprendido a analizar el tráfico de red TCP utilizando la herramienta de línea de comandos tshark de Wireshark. Los ejercicios cubrieron la lectura de capturas de paquetes con -r, la visualización de información detallada del protocolo a través de -V y la identificación de conversaciones TCP utilizando -z conv,tcp para el análisis de flujos.

Has practicado seguir flujos TCP específicos por sus índices y guardar el contenido de los flujos a través de la redirección de salida. Estas técnicas proporcionan un flujo de trabajo práctico para inspeccionar el tráfico de red desde la captura inicial hasta el examen detallado de los datos utilizando tshark.