Aquí hay un ejemplo de la vida real en el que hexdump puede ser útil. Si está trabajando con datos binarios, esto será muy difícil de entender. Para mayor facilidad, puede convertir rápidamente los datos binarios en hexadecimales o decimales.
En esta guía, vea cómo usar el comando hexdump en Linux.
Hexdump en Linux
Hexdump es un programa simple pero útil que está escrito en lenguaje C. Es por eso que los programadores profesionales de C pueden encontrar fácil su uso. Sin embargo, incluso si no tiene experiencia en programación en C, aún puede usar hexdump para su propósito.
Hexdump viene preinstalado en cualquier distribución de Linux. En esta guía, usaré Ubuntu con fines de demostración.
Uso de Hexdump
Para demostrar el uso de hexdump, he creado un archivo de texto de muestra ficticio.TXT.
$ maniquí de gato.TXT
Pasaremos este archivo a hexdump para convertir su contenido en varios formatos de salida.
Pantalla octal de un byte
El siguiente comando hexdump imprimirá los datos de entrada en formato hexadecimal. En la salida, cada línea contiene 16 bytes de datos de entrada separados por espacios, cada uno con 3 columnas y llenos de ceros, en octal.
$ hexdump -b
Visualización de caracteres de un byte
El siguiente comando hexdump mostrará los datos de entrada en formato hexadecimal. En la salida, cada línea contiene 16 caracteres de datos de entrada separados por espacios, cada uno con 3 columnas y lleno de espacios.
$ hexdump -c
Pantalla canónica hexadecimal + ASCII
El siguiente comando hexdump mostrará los datos de entrada en hexadecimal. En la salida, cada línea contiene 16 bytes hexadecimales separados por espacios, cada uno con 2 columnas. El siguiente contenido tendrá los mismos bytes en %_pag formato entre "|" caracteres.
$ hexdump -C
Pantalla decimal de dos bytes
El siguiente comando hexdump mostrará los datos de entrada en formato hexadecimal. En la salida, cada línea contiene 8 unidades de datos de entrada de 2 bytes separadas por espacios, cada una con 5 columnas y rellena con ceros, en decimal sin signo.
$ hexdump -d
Pantalla octal de dos bytes
El siguiente comando hexdump imprimirá los datos de entrada en formato hexadecimal. En la salida, cada línea contiene 8 bytes de 2 bytes de datos de entrada separados por espacios, cada uno con 6 columnas y llenos de ceros, en octal.
$ hexdump -o
Pantalla hexadecimal de dos bytes
El siguiente comando hexdump imprimirá los datos de entrada en formato hexadecimal. En la salida, cada línea contiene 8 bytes de datos de entrada separados por espacios, cada uno con 4 columnas y llenos de ceros, en hexadecimal.
$ hexdump -x
Mostrar toda la entrada
Al usar hexdump, reemplazará el contenido de las líneas repetidas con un solo asterisco. Si desea forzar a hexdump a que muestre todo el contenido, utilice la marca "-v".
$ maniquí de gato.TXT$ hexdump -b ficticio.TXT
$ hexdump -v -b
Limitar la cantidad de bytes
Hexdump admite la opción de decidir un número específico de bytes de un archivo a hexdump. Para especificar la cantidad, use la bandera "-s" seguida de la cantidad de bytes.
$ hexdump -s 2 -c
Pensamiento final
Los ejemplos que se muestran aquí son las formas en que usará principalmente hexdump. Para obtener información completa sobre hexdump, la página de manual es uno de los mejores recursos.
$ man hexdump
Hexdump es una herramienta poderosa si sabe cuándo y cómo usarla. Sin embargo, las herramientas no siempre son la respuesta cuando se trata de depurar. Vea cómo depurar un script bash. Si le gusta NodeJS, consulte cómo usar el depurador de NodeJS.
Disfrutar!