Volcado de Datos Hexadecimales 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 analizar paquetes de red utilizando la herramienta de línea de comandos tshark de Wireshark con salida hexadecimal. Practicará la lectura de archivos de captura de paquetes (capture.pcap) utilizando la opción -r y la visualización de datos de paquetes sin procesar en formato hexadecimal con -x.

Los ejercicios lo guiarán a través de la ejecución de comandos tshark, la interpretación de resúmenes de paquetes y el examen de volcados hexadecimales. Analizará un ejemplo de handshake TCP para entender cómo esta técnica ayuda en la resolución de problemas de red y las investigaciones de seguridad.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/protocol_dissection("Protocol Dissection") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/protocol_dissection -.-> lab-548923{{"Volcado de Datos Hexadecimales en Tshark"}} wireshark/packet_analysis -.-> lab-548923{{"Volcado de Datos Hexadecimales en Tshark"}} wireshark/commandline_usage -.-> lab-548923{{"Volcado de Datos Hexadecimales en Tshark"}} end

Leer un archivo con -r capture.pcap

En este paso, aprenderá cómo leer un archivo de captura de paquetes utilizando la herramienta de línea de comandos tshark de Wireshark con la opción -r. Esta es la forma fundamental de analizar datos de tráfico de red previamente capturados.

Antes de comenzar, es importante entender que los archivos PCAP contienen datos de tráfico de red sin procesar capturados desde una interfaz de red. La opción -r le permite especificar un archivo de captura de paquetes para leer, lo que es similar a abrir un documento con un editor de texto. Utilizaremos un archivo de muestra llamado capture.pcap ubicado en su directorio ~/project.

  1. Primero, asegúrese de estar en el directorio correcto. Esto es crucial porque tshark necesita saber dónde encontrar el archivo de captura:
cd ~/project
  1. Ahora, utilice tshark para leer el archivo de captura. El comando básico sin ningún filtro le mostrará todos los paquetes del archivo:
tshark -r capture.pcap

Este comando mostrará información básica sobre cada paquete en el archivo de captura, incluyendo:

  • Número de paquete (que muestra el orden de captura)
  • Marca de tiempo (cuándo se capturó el paquete)
  • Direcciones IP de origen y destino (quién envió y recibió el paquete)
  • Protocolo (qué tipo de comunicación de red es esta)
  • Longitud del paquete (qué tan grande es el paquete)
  • Información básica del protocolo (detalles específicos de cada protocolo)

Ejemplo de salida (su salida real puede variar):

1 0.000000 192.168.1.1 → 192.168.1.2 TCP 66 443 → 49234 [SYN] Seq=0 Win=64240 Len=0
2 0.000123 192.168.1.2 → 192.168.1.1 TCP 66 49234 → 443 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0
3 0.000234 192.168.1.1 → 192.168.1.2 TCP 54 443 → 49234 [ACK] Seq=1 Ack=1 Win=64240 Len=0

Esta salida muestra un handshake TCP básico entre dos hosts. El primer paquete con [SYN] indica una solicitud de conexión, el segundo con [SYN, ACK] es la respuesta y el tercero [ACK] completa el handshake. Cada línea representa un paquete de red con sus detalles esenciales, brindándole una vista cronológica de la comunicación de red.

Habilitar el volcado hexadecimal con -x

En este paso, exploraremos cómo examinar el contenido binario sin procesar de los paquetes de red utilizando la herramienta de línea de comandos tshark de Wireshark. La opción -x es especialmente poderosa, ya que revela los datos hexadecimales reales que componen cada paquete, lo cual es esencial para un análisis profundo de paquetes.

Al trabajar con tráfico de red, los paquetes son fundamentalmente solo secuencias de bytes. La opción -x le indica a tshark que muestre:

  1. La información estándar del encabezado del paquete (como las direcciones de origen/destino)
  2. La representación hexadecimal completa de los datos sin procesar del paquete
  3. Una interpretación ASCII de esos datos (cuando sea aplicable)

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

cd ~/project

Ahora analizaremos nuestro archivo de captura de paquetes (capture.pcap) con la salida hexadecimal habilitada:

tshark -r capture.pcap -x

Este comando produce una salida dividida en tres secciones principales para cada paquete:

  1. La línea de resumen que muestra información básica del paquete
  2. El volcado hexadecimal que muestra los bytes sin procesar del paquete
  3. La representación ASCII de esos bytes (mostrando caracteres imprimibles)

Así es como se ve una sección típica de salida (abreviada para la demostración):

1 0.000000 192.168.1.1 → 192.168.1.2 TCP 66 443 → 49234 [SYN] Seq=0 Win=64240 Len=0
0000  00 1a 4b 12 34 56 00 1b 11 22 33 44 08 00 45 00   ..K.4V..."3D..E.
0010  00 34 12 34 00 00 80 06 78 9a c0 a8 01 01 c0 a8   .4.4....x.......
0020  01 02 01 bb c0 52 00 00 00 00 00 00 00 00 50 02   .....R........P.
0030  fa f0 00 00 00 00 00 00 00 00                     ..........

La visualización hexadecimal está organizada de la siguiente manera:

  • La columna más a la izquierda (0000, 0010, etc.) muestra el desplazamiento de bytes en hexadecimal
  • La sección central muestra 16 bytes de datos de paquete por línea en formato hexadecimal
  • La sección derecha muestra la representación de caracteres ASCII (con los caracteres no imprimibles mostrados como puntos)

Esta vista es invaluable cuando se necesita examinar los encabezados de protocolo a nivel de bytes o verificar el contenido exacto de las transmisiones de red.

Limitar a tramas con --hexdump frames

En este paso, aprenderá cómo controlar con precisión qué paquetes aparecen en su salida hexadecimal utilizando la opción --hexdump de Wireshark con filtrado de tramas. Esta técnica le ayuda a centrarse en paquetes de red específicos mientras examina sus datos hexadecimales sin procesar, lo cual es especialmente valioso cuando se trabaja con archivos de captura grandes que contienen muchos paquetes.

La opción --hexdump le da un control más preciso que la opción básica -x. Mientras que -x muestra volcados hexadecimales para todos los paquetes, --hexdump le permite especificar exactamente qué números de trama mostrar. Esto es como tener una lupa que solo muestra los paquetes que desea inspeccionar de cerca.

  1. Primero, asegúremos de estar en el directorio de trabajo correcto donde se almacena nuestro archivo de captura. Esto garantiza que Tshark pueda encontrar el archivo que queremos analizar:
cd ~/project
  1. Ahora usaremos Tshark para mostrar datos hexadecimales de tramas específicas. La estructura del comando es:
    • -r capture.pcap lee nuestro archivo de captura de paquetes
    • --hexdump frame=1-3 le dice a Tshark que solo queremos las tramas del 1 al 3
    • El signo igual (=) conecta el filtro de trama con la opción de volcado hexadecimal

Ejecute este comando para ver las tramas del 1 al 3 en hexadecimal:

tshark -r capture.pcap --hexdump frame=1-3

Este comando produce una salida que muestra:

  • Solo las tres tramas que solicitamos (1, 2 y 3)
  • La representación hexadecimal completa de cada trama
  • Los datos de bytes sin procesar sin la información de resumen habitual de los paquetes

Ejemplo de salida (abreviada para la demostración):

Frame 1: 66 bytes on wire
0000  00 1a 4b 12 34 56 00 1b 11 22 33 44 08 00 45 00   ..K.4V..."3D..E.
0010  00 34 12 34 00 00 80 06 78 9a c0 a8 01 01 c0 a8   .4.4....x.......
0020  01 02 01 bb c0 52 00 00 00 00 00 00 00 00 50 02   .....R........P.
0030  fa f0 00 00 00 00 00 00 00 00                     ..........

Frame 2: 66 bytes on wire
0000  00 1b 11 22 33 44 00 1a 4b 12 34 56 08 00 45 00   ..."3D..K.4V..E.
0010  00 34 ab cd 00 00 80 06 12 34 c0 a8 01 02 c0 a8   .4.......4......
0020  01 01 c0 52 01 bb 00 00 00 00 00 00 00 01 50 12   ...R..........P.
0030  ff ff 00 00 00 00 00 00 00 00                     ..........

Note las diferencias clave con respecto a las salidas anteriores:

  • Solo aparecen las tramas que especificó (sin paquetes adicionales)
  • Cada trama muestra su representación hexadecimal completa
  • La salida omite las líneas de resumen habituales de los paquetes, lo que le da datos hexadecimales más limpios para analizar

Revisar la salida hexadecimal

En este último paso, analizará e interpretará la salida hexadecimal de su captura de paquetes. Comprender los volcados hexadecimales es fundamental para el análisis de redes, ya que muestra los datos binarios sin procesar exactamente como viajan a través de la red. Esta habilidad es esencial para entender los protocolos de red, depurar problemas de comunicación y realizar inspecciones de paquetes a bajo nivel.

  1. Primero, generemos un volcado hexadecimal completo de las primeras 3 tramas. Usaremos este comando en el directorio del proyecto:
cd ~/project
tshark -r capture.pcap --hexdump frame=1-3

Este comando lee el archivo capture.pcap y muestra la representación hexadecimal de las tramas del 1 al 3. La opción --hexdump le dice a Tshark que muestre tanto las representaciones hexadecimales como ASCII lado a lado.

  1. Examine detenidamente la estructura de la salida. El volcado hexadecimal está organizado para ayudarlo a visualizar la estructura del paquete:
  • Cada trama comienza con su tamaño (por ejemplo, "Frame 1: 66 bytes on wire") que muestra la longitud total del paquete
  • La columna izquierda muestra el desplazamiento de bytes (0000, 0010, etc.) que ayuda a localizar bytes específicos
  • La sección central muestra 16 bytes de datos hexadecimales por línea, mostrando el contenido real del paquete
  • La columna derecha muestra la representación ASCII de los caracteres imprimibles, útil para detectar protocolos de texto
  1. Ahora identifiquemos los encabezados de protocolo clave en el volcado hexadecimal. Los paquetes de red siguen una estructura en capas, y podemos ver esto en la salida hexadecimal:
## Ethernet header (first 14 bytes)
0000 00 1a 4b 12 34 56 00 1b 11 22 33 44 08 00

## IP header (next 20 bytes)
0010 45 00 00 34 12 34 00 00 80 06 78 9a c0 a8 01 01
0020 c0 a8 01 02

## TCP header (next 20 bytes)
0020 01 bb c0 52 00 00 00 00 00 00 00 00 50 02
0030 fa f0 00 00 00 00 00 00 00 00

El encabezado Ethernet viene primero, seguido del encabezado IP y luego del encabezado TCP. Cada encabezado de protocolo contiene campos específicos en posiciones fijas que podemos decodificar.

  1. Practiquemos la interpretación de algunos valores comunes que encontrará en los paquetes de red:
  • 08 00 indica IPv4 (EtherType) - esto le dice a la tarjeta de red qué protocolo viene a continuación
  • 45 muestra IPv4 con una longitud de encabezado de 5 palabras (el '4' es la versión IP, '5' es la longitud del encabezado en palabras de 32 bits)
  • c0 a8 01 01 es 192.168.1.1 en hexadecimal (cada par representa un octeto de la dirección IP)
  • 01 bb es el puerto 443 en decimal (el primer byte 01 es 256, más bb es 187, en total 443)

Recuerde que los protocolos de red utilizan el orden de bytes big-endian, lo que significa que el byte más significativo viene primero al interpretar campos de varios bytes.

Resumen

En este laboratorio, has aprendido a utilizar la herramienta de línea de comandos tshark de Wireshark para analizar capturas de paquetes y examinar datos hexadecimales. Los ejercicios demostraron cómo leer archivos PCAP con la opción -r para ver información básica de los paquetes y cómo usar la opción -x para obtener volcados hexadecimales detallados.

Has explorado cómo estas técnicas permiten un análisis exhaustivo del tráfico de red, desde observar los handshakes TCP hasta inspeccionar los datos de paquetes sin procesar a nivel de bytes. La combinación de resúmenes de paquetes con representaciones hexadecimales y ASCII proporciona capacidades poderosas para la resolución de problemas de red y el examen de protocolos.