GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il comando Hexdump di Linux con esempi pratici

Hexdump è un comando Linux molto utile per sviluppatori e debugger di applicazioni. Ha la capacità di scaricare il contenuto dei file in molti formati come esadecimale, ottale, ASCII e decimale. Questo comando prende un file, o qualsiasi input standard, come parametro di input e lo converte nel formato che preferisci. Supponiamo che tu lavori con dati binari e non sei in grado di capire il formato di un file, puoi utilizzare il comando Hexdump per ottenere il contenuto del file in un formato molto più leggibile. Questo comando viene preinstallato con tutti i moderni sistemi operativi Linux come CentOS, Fedora, Ubuntu, Debian, Arch Linux ecc. In questo articolo, dimostreremo l'uso del comando hexdump usando vari esempi. Scritto in linguaggio C, questo comando potrebbe essere di facile comprensione per i programmatori C professionisti, ma per altri professionisti IT potrebbe essere un comando complicato. Cercheremo di fare del nostro meglio per dimostrarne l'utilizzo e lo scopo qui in questo articolo.

1) Hexdump -b

L'uso dell'interruttore "-b" con Hexdump visualizzerà l'offset di input in formato esadecimale. Questa opzione è anche chiamata "Visualizzazione ottale a un byte". L'output sarà seguito da sedici byte di dati di input separati da spazi, tre colonne, riempiti con zero, in ottale, per riga. Ecco l'output di esempio che abbiamo ricevuto quando eseguiamo questo comando con l'opzione "-b" su un file chiamato "Linoxide".

; 144 145 155 157 156 163 164 162 1410000030 164 151 157 156 040 160 165 162 160 157 163 145 163 012 012000003f

2) Hexdump -c

Questa opzione è denominata "Visualizzazione dei caratteri a un byte". È possibile utilizzare questo parametro di comando per visualizzare l'offset di input in formato esadecimale. La stringa di output sarà seguita da sedici caratteri separati da spazi, tre colonne, pieni di spazio, di dati di input per riga. Ecco l'output di esempio di questo comando.

; a0000030   t   i   o   n      p   u   r   p   o   s   e   s  \n  \n000003f

3) Hexdump -C

Conosciuto anche come "visualizzazione esadecimale+ASCII canonica", mostra l'offset di input in formato esadecimale, l'output è seguito da sedici byte esadecimali separati da spazi, due colonne, insieme agli stessi sedici byte in formato %_p racchiusi in ``| '' caratteri. Ecco un esempio funzionante di questa opzione di comando.

# hexdump -C Linoxide00000000  54 68 69 73 20 69 73 20  20 61 20 74 65 73 74 20  |Questo è un test |00000010  4c 69 6e 6f 78 69 64 65  20 43 65 0 5a |Linoxide File.Us|00000020  65 64 20 66 6f 72 20 64  65 6d 6f 6e 73 74 72 61  |ed for demo|00000030  74 69 6f 6e 20 70 75 72  70 6f 73 65 73 0a | . 0000003f 

4) Hexdump -d

Questa opzione/opzione mostra l'offset di input in formato esadecimale, insieme a otto unità di dati di input a due byte separate da spazi, cinque colonne, riempite con zero. L'output è in decimale senza segno per riga. Viene anche definita modalità "Visualizzazione decimale a due byte". Ecco un esempio di output di questo comando.

  hexdump -d Linoxide0000000 26708 29545 26912 08307 24864 29728 29541 083080000010 26956 28526 27000 25956 17952 27753 02661 295250000020 25701 26144 29295 25632 28005 28271 29811 249460000030 26996 28271 28704 29301 28528 25971 02675 00010000003f  

5) Hexdump -o

Conosciuto anche come "visualizzazione ottale a due byte", mostra l'offset di input specificato in esadecimale. L'output del comando è seguito da otto quantità di dati di input separate da spazi, sei colonne, riempite da zero, due byte, in ottale, per riga.

  # hexdump -o Linoxide0000000 064124 071551 064440 020163 060440 072040 071545 0201640000010 064514 067556 064570 062544 043040 066151 005145 0715250000020 062145 063040 071157 062040 066545 067157 072163 0605620000030 064564 067157 070040 071165 067560 062563 005163 000012000003f  

6) Hexdump -x

Mostra l'offset in esadecimale, seguito da otto, spazi separati, quattro colonne, zero, quantità di due byte di dati di input, in esadecimale. Viene indicato come "Visualizzazione esadecimale a due byte".

  # hexdump -x Linoxide0000000 6854 7369 6920 2073 6120 7420 7365 20740000010 694c 6f6e 6978 6564 4620 6c69 0a65 73.550.000,02 mila 6465 6620 6420 726f 6d65 6e6f 7473 61.720.000,03 mille 6974 6e6f 7020 7275 6f70 6573 0a73 000a000003f  

7) Hexdump -v

Per impostazione predefinita, hexdump utilizza il segno di asterisco (*) per sostituire la riga identica nella stringa di output, ma l'opzione -v fa sì che hexdump visualizzi tutti i dati di input. Questa opzione è utile quando si esegue l'analisi dell'output completo di qualsiasi stringa o testo. Questo comando può essere utilizzato anche negli script shell/bash per una migliore automazione delle attività desiderate.

8) Hexdump -s

"Hexdump -s" mostra solo il numero specificato di byte da un file, la sintassi generale per usare questa opzione è la seguente.

file hexdump -s n -c  

Dove, sostituisci "n" con il numero di righe che desideri visualizzare e "File" con il tuo nome file effettivo. Il seguente output di esempio dovrebbe chiarire ulteriormente questo concetto.

# hexdump -s 1 -c  Linoxide0000001   h   i   s       i   s           a       t   e   s   t       L0000011 

Il comando precedente visualizzerà solo una riga di output.

Puoi ottenere maggiori dettagli su hexdump usando il suo manuale di aiuto. Digita semplicemente il seguente comando sul terminale del tuo sistema Linux e visualizzerà tutte le possibilità e le opzioni che possono essere utilizzate con hexdump.

man hexdump 

Conclusione

Hexdump è un'utilità piuttosto utile per amministratori di sistema e programmatori. Rende l'analisi e la decodifica dei vari formati di file un gioco da ragazzi. Può essere facilmente utilizzato nella programmazione bash o negli script del linguaggio di programmazione C per eseguire attività complesse di conversioni di formati di file o analisi e reverse engineering. In questo articolo abbiamo introdotto hexdump, le sue utili opzioni e alcune utili dimostrazioni dei comandi relativi a questa utility. Spero che questo articolo ti sia piaciuto. Se hai commenti o domande, non esitare a farcelo sapere nei commenti.


Linux
  1. Come utilizzare il comando su in Linux con esempi

  2. Come utilizzare il comando Sed in Linux con esempi

  3. Comando SCP in Linux:come usarlo, con esempi

  4. Come utilizzare il comando Rmmod su Linux con esempi

  5. Come utilizzare il comando Dig in Linux con esempi

Comando alias Linux:come usarlo con esempi

Come utilizzare il comando Grep in Linux + utili esempi di Grep

Comando IP Linux con esempi

Come utilizzare il comando gunzip di Linux con esempi

Come utilizzare il comando Linux rm con esempi

Come utilizzare il comando Sleep in Linux:spiegato con esempi