GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser la commande Linux Hexdump avec des exemples pratiques

Hexdump est une commande Linux très utile pour les développeurs et les débogueurs d'applications. Il a la capacité de vider le contenu des fichiers dans de nombreux formats tels que hexadécimal, octal, ASCII et décimal. Cette commande prend un fichier, ou toute entrée standard, comme paramètre d'entrée et le convertit au format de votre choix. Supposons que vous travaillez avec des données binaires et que vous ne parvenez pas à comprendre le format d'un fichier, vous pouvez utiliser la commande Hexdump pour obtenir le contenu du fichier dans un format bien plus lisible. Cette commande est préinstallée avec tous les systèmes d'exploitation Linux modernes tels que CentOS, Fedora, Ubuntu, Debian, Arch Linux, etc. Dans cet article, nous allons démontrer l'utilisation de la commande hexdump à l'aide de divers exemples. Écrite en langage C, cette commande peut être facile à comprendre pour les programmeurs C professionnels, mais pour les autres professionnels de l'informatique, cela peut être une commande délicate. Nous essaierons de faire de notre mieux pour démontrer son utilisation et son objectif ici dans cet article.

1) Vidage hexadécimal -b

L'utilisation du commutateur "-b" avec Hexdump affichera le décalage d'entrée au format hexadécimal. Cette option est également appelée "Affichage octal sur un octet". La sortie sera suivie de seize octets de données d'entrée séparés par des espaces, sur trois colonnes, remplis de zéros, en octal, par ligne. Voici l'exemple de sortie que nous avons reçu lorsque nous avons exécuté cette commande avec le commutateur "-b" sur un fichier nommé "Linoxide".

# hexdump -b Linoxide
0000000 124 150 151 163 040 151 163 040 040 141 040 164 145 163 164 040
0000010 114 151 156 157 170 151 144 145 040 106 151 154 145 012 125 163
0000020 145 144 040 146 157 162 040 144 145 155 157 156 163 164 162 141
0000030 164 151 157 156 040 160 165 162 160 157 163 145 163 012 012
000003f

2) Vidage hexadécimal -c

Cette option est appelée "Affichage des caractères à un octet". Vous pouvez utiliser ce paramètre de commande pour afficher le décalage d'entrée en hexadécimal. La chaîne de sortie sera suivie de seize caractères séparés par des espaces, sur trois colonnes, remplis d'espaces, de données d'entrée par ligne. Voici l'exemple de sortie de cette commande.

hexdump -c Linoxide
0000000   T   h   i   s       i   s           a       t   e   s   t
0000010   L   i   n   o   x   i   d   e       F   i   l   e  \n   U   s
0000020   e   d       f   o   r       d   e   m   o   n   s   t   r   a
0000030   t   i   o   n       p   u   r   p   o   s   e   s  \n  \n
000003f

3) Vidage hexadécimal -C

Également connu sous le nom d'« affichage canonique hexadécimal + ASCII », il affiche le décalage d'entrée en hexadécimal, la sortie est suivie de seize octets hexadécimaux sur deux colonnes séparés par des espaces, ainsi que des mêmes seize octets au format %_p entre ``| '' personnages. Voici un exemple fonctionnel de cette option de commande.

# hexdump -C Linoxide
00000000  54 68 69 73 20 69 73 20  20 61 20 74 65 73 74 20  |This is  a test |
00000010  4c 69 6e 6f 78 69 64 65  20 46 69 6c 65 0a 55 73  |Linoxide File.Us|
00000020  65 64 20 66 6f 72 20 64  65 6d 6f 6e 73 74 72 61  |ed for demonstra|
00000030  74 69 6f 6e 20 70 75 72  70 6f 73 65 73 0a 0a     |tion purposes..|
0000003f

4) Vidage hexadécimal -d

Ce commutateur/option affiche le décalage d'entrée en hexadécimal, ainsi que huit unités de données d'entrée séparées par des espaces, cinq colonnes, remplies de zéros et de deux octets. La sortie est en décimal non signé par ligne. Il est également appelé mode "Affichage décimal sur deux octets". Voici un exemple de sortie de cette commande.

 hexdump -d Linoxide
0000000   26708   29545   26912   08307   24864   29728   29541   08308
0000010   26956   28526   27000   25956   17952   27753   02661   29525
0000020   25701   26144   29295   25632   28005   28271   29811   24946
0000030   26996   28271   28704   29301   28528   25971   02675   00010
000003f

5) Vidage hexadécimal -o

Également appelé "affichage octal à deux octets", il affiche le décalage d'entrée spécifié en hexadécimal. La sortie de la commande est suivie de huit quantités séparées par des espaces, six colonnes, remplies de zéros, deux octets de données d'entrée, en octal, par ligne.

# hexdump -o Linoxide
0000000  064124  071551  064440  020163  060440  072040  071545  020164
0000010  064514  067556  064570  062544  043040  066151  005145  071525
0000020  062145  063040  071157  062040  066545  067157  072163  060562
0000030  064564  067157  070040  071165  067560  062563  005163  000012
000003f

6) Vidage hexadécimal -x

Il montre le décalage en hexadécimal, suivi de huit, séparés par des espaces, quatre colonnes, remplis de zéros, quantités de deux octets de données d'entrée, en hexadécimal. Il est appelé "Affichage hexadécimal à deux octets".

# hexdump -x Linoxide
0000000    6854    7369    6920    2073    6120    7420    7365    2074
0000010    694c    6f6e    6978    6564    4620    6c69    0a65    7355
0000020    6465    6620    726f    6420    6d65    6e6f    7473    6172
0000030    6974    6e6f    7020    7275    6f70    6573    0a73    000a
000003f

7) Vidage hexadécimal -v

Par défaut, hexdump utilise le signe astérisque (*) pour remplacer la ligne identique dans la chaîne de sortie, mais l'option -v entraîne l'affichage de toutes les données d'entrée par hexdump. Cette option est utile lors de l'analyse de la sortie complète de n'importe quelle chaîne ou texte. Cette commande peut également être utilisée dans les scripts shell/bash pour une meilleure automatisation des tâches souhaitées.

8) Vidage hexadécimal -s

"Hexdump -s" affiche uniquement le nombre spécifié d'octets d'un fichier, la syntaxe générale pour utiliser cette option est la suivante.

hexdump -s n -c  File

Où, remplacez "n" par le nombre de lignes que vous souhaitez afficher et "Fichier" par votre nom de fichier réel. L'exemple de sortie suivant devrait clarifier davantage ce concept.

# hexdump -s 1 -c  Linoxide
0000001   h   i   s       i   s           a       t   e   s   t       L
0000011

La commande ci-dessus n'affichera qu'une seule ligne de sortie.

Vous pouvez obtenir plus de détails sur hexdump en utilisant son manuel d'aide. Tapez simplement la commande suivante sur le terminal de votre système Linux et il affichera toutes les possibilités et options pouvant être utilisées avec hexdump.

man hexdump

Conclusion

Hexdump est un utilitaire très utile pour les administrateurs système et les programmeurs. Il fait de l'analyse et du décodage des différents formats de fichiers un jeu d'enfant. Il peut être facilement utilisé dans la programmation bash ou les scripts de langage de programmation C pour effectuer des tâches complexes de conversion de format de fichier ou d'analyse et d'ingénierie inverse. Dans cet article, nous avons présenté hexdump, ses options utiles et quelques démonstrations utiles des commandes liées à cet utilitaire. J'espère que vous avez apprécié cet article. Si vous avez des commentaires ou des questions, n'hésitez pas à nous le faire savoir dans les commentaires.


Linux
  1. Comment utiliser la commande su sous Linux avec des exemples

  2. Comment utiliser la commande Sed sous Linux avec des exemples

  3. Commande SCP sous Linux :comment l'utiliser, avec des exemples

  4. Comment utiliser la commande Rmmod sous Linux avec des exemples

  5. Comment utiliser la commande Dig sous Linux avec des exemples

Commande d'alias Linux :comment l'utiliser avec des exemples

Comment utiliser la commande Grep sous Linux + exemples utiles de Grep

Commande Linux ip avec exemples

Comment utiliser la commande Linux gunzip avec des exemples

Comment utiliser la commande Linux rm avec des exemples

Comment utiliser la commande Sleep sous Linux :expliqué avec des exemples