Como usar el comando Hexdump en linux

Como usar el comando Hexdump en linux.

Hexdump es una herramienta potente a la vez que útil, escrita en lenguaje C. Especifica para sistemas Linux, es utilizada principalmente por desarrolladores y depuradores de aplicaciones o herramientas, pues tiene la capacidad de convertir archivos de entrada o datos, a un formato más legible por los profesionales del sector.

Un ejemplo de uso real, es que trabajemos con datos binarios, realmente, estos son difíciles de comprender. Para lograr una mayor comprensión, podemos convertir de manera rápida los datos binarios en hexadecimales o incluso decimales. En este artículo, veremos cómo usar el comando hexdump en nuestro sistema Linux, con varios ejemplos practicos.

Comando hexdump en linux

Comando hexdump en linux

 

Como usar el comando Hexdump en linux

Hexdump viene instalado por defecto en todas las distribuciones Linux. Para desarrollar los ejemplos de este artículo, hemos creado el archivo «demo.sh» con un contenido simple.

sergio@sololinux:~$ cat demo.sh
#!/bin/bash
#demo.sh
echo "Type your password, please:"
read PASS
echo "You just typed: $PASS"
echo "Created by SergioG.B."
echo "https://www.sololinux.es"
echo "<---------------------------------------------------------->"
Ver en octal de un byte
hexdump -b [file]

Ejemplo…

sergio@sololinux:~$ hexdump -b demo.sh
0000000 043 041 057 142 151 156 057 142 141 163 150 012 043 144 145 155
0000010 157 056 163 150 012 145 143 150 157 040 042 124 171 160 145 040
0000020 171 157 165 162 040 160 141 163 163 167 157 162 144 054 040 160
0000030 154 145 141 163 145 072 042 012 162 145 141 144 040 120 101 123
0000040 123 012 145 143 150 157 040 042 131 157 165 040 152 165 163 164
0000050 040 164 171 160 145 144 072 040 044 120 101 123 123 042 012 145
0000060 143 150 157 040 042 103 162 145 141 164 145 144 040 142 171 040
0000070 123 145 162 147 151 157 107 056 102 056 042 012 145 143 150 157
0000080 040 042 150 164 164 160 163 072 057 057 167 167 167 056 163 157
0000090 154 157 154 151 156 165 170 056 145 163 042 012 145 143 150 157
00000a0 040 042 074 055 055 055 055 055 055 055 055 055 055 055 055 055
00000b0 055 055 055 055 055 055 055 055 055 055 055 055 055 055 055 055
*
00000d0 055 055 055 055 055 055 055 055 055 055 055 055 055 076 042    
00000df

 

Visualizar en caracteres de un byte
hexdump -c [file]

Salida del comando hexdump con -c.

sergio@sololinux:~$ hexdump -c demo.sh
0000000   #   !   /   b   i   n   /   b   a   s   h  \n   #   d   e   m
0000010   o   .   s   h  \n   e   c   h   o       "   T   y   p   e    
0000020   y   o   u   r       p   a   s   s   w   o   r   d   ,       p
0000030   l   e   a   s   e   :   "  \n   r   e   a   d       P   A   S
0000040   S  \n   e   c   h   o       "   Y   o   u       j   u   s   t
0000050       t   y   p   e   d   :       $   P   A   S   S   "  \n   e
0000060   c   h   o       "   C   r   e   a   t   e   d       b   y    
0000070   S   e   r   g   i   o   G   .   B   .   "  \n   e   c   h   o
0000080       "   h   t   t   p   s   :   /   /   w   w   w   .   s   o
0000090   l   o   l   i   n   u   x   .   e   s   "  \n   e   c   h   o
00000a0       "   <   -   -   -   -   -   -   -   -   -   -   -   -   -
00000b0   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
00000d0   -   -   -   -   -   -   -   -   -   -   -   -   -   >   "    
00000df

 

Hexadecimal + ASCII
hexdump -C [file]

Imagen de ejemplo…

Comando hexdump con la opcion C

Comando hexdump con la opción -C

 

Ver en decimal de dos bytes
hexdump -d [file]

Aparece al similar a…

sergio@sololinux:~$ hexdump -d demo.sh
0000000   08483   25135   28265   25135   29537   02664   25635   28005
0000010   11887   26739   25866   26723   08303   21538   28793   08293
0000020   28537   29301   28704   29537   30579   29295   11364   28704
0000030   25964   29537   14949   02594   25970   25697   20512   21313
0000040   02643   25445   28520   08736   28505   08309   30058   29811
0000050   29728   28793   25701   08250   20516   21313   08787   25866
0000060   26723   08303   17186   25970   29793   25701   25120   08313
0000070   25939   26482   28521   11847   11842   02594   25445   28520
0000080   08736   29800   28788   14963   12079   30583   11895   28531
0000090   28524   26988   30062   11896   29541   02594   25445   28520
00000a0   08736   11580   11565   11565   11565   11565   11565   11565
00000b0   11565   11565   11565   11565   11565   11565   11565   11565
*
00000d0   11565   11565   11565   11565   11565   11565   15917   00034
00000df

 

Visualizar en octal de dos bytes
hexdump -o [file]

Impresión en pantalla del comando hexdump con la opción -o.

sergio@sololinux:~$ hexdump -o demo.sh
0000000  020443  061057  067151  061057  071541  005150  062043  066545
0000010  027157  064163  062412  064143  020157  052042  070171  020145
0000020  067571  071165  070040  071541  073563  071157  026144  070040
0000030  062554  071541  035145  005042  062562  062141  050040  051501
0000040  005123  061545  067550  021040  067531  020165  072552  072163
0000050  072040  070171  062145  020072  050044  051501  021123  062412
0000060  064143  020157  041442  062562  072141  062145  061040  020171
0000070  062523  063562  067551  027107  027102  005042  061545  067550
0000080  021040  072150  070164  035163  027457  073567  027167  067563
0000090  067554  064554  072556  027170  071545  005042  061545  067550
00000a0  021040  026474  026455  026455  026455  026455  026455  026455
00000b0  026455  026455  026455  026455  026455  026455  026455  026455
*
00000d0  026455  026455  026455  026455  026455  026455  037055  000042
00000df

 

Hexadecimal de dos bytes
hexdump -x [file]
sergio@sololinux:~$ hexdump -x demo.sh
0000000    2123    622f    6e69    622f    7361    0a68    6423    6d65
0000010    2e6f    6873    650a    6863    206f    5422    7079    2065
0000020    6f79    7275    7020    7361    7773    726f    2c64    7020
0000030    656c    7361    3a65    0a22    6572    6461    5020    5341
0000040    0a53    6365    6f68    2220    6f59    2075    756a    7473
0000050    7420    7079    6465    203a    5024    5341    2253    650a
0000060    6863    206f    4322    6572    7461    6465    6220    2079
0000070    6553    6772    6f69    2e47    2e42    0a22    6365    6f68
0000080    2220    7468    7074    3a73    2f2f    7777    2e77    6f73
0000090    6f6c    696c    756e    2e78    7365    0a22    6365    6f68
00000a0    2220    2d3c    2d2d    2d2d    2d2d    2d2d    2d2d    2d2d
00000b0    2d2d    2d2d    2d2d    2d2d    2d2d    2d2d    2d2d    2d2d
*
00000d0    2d2d    2d2d    2d2d    2d2d    2d2d    2d2d    3e2d    0022
00000df

 

Limitar los bytes

El comando hexdump admite la opción de especificar los bytes de un archivo a hexdump. Para ello usaremos la opción «-s», seguida de la cantidad de bytes deseados.

hexdump -s 2 [file]

Imagen de ejemplo…

Limitar los bytes en el comando hexdump

Limitar los bytes en el comando hexdump

 

Manual de hexdump

Los ejemplos vistos en este artículo son los más habituales, puedes ampliar información en su manual. Ejecuta el siguiente comando.

man hexdump

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Como usar el comando Hexdump en linux.

Chat de SoloLinux en Telegram

 

Agregar comentario