So verwenden Sie den Linux-Hexdump-Befehl mit praktischen Beispielen

Hexdump ist ein sehr nützlicher Linux-Befehl für Entwickler und Anwendungsdebugger. Es hat die Fähigkeit, Dateiinhalte in viele Formate wie Hexadezimal, Oktal, ASCII und Dezimal zu kopieren. Dieser Befehl nimmt eine Datei oder eine beliebige Standardeingabe als Eingabeparameter und konvertiert sie in das Format Ihrer Wahl. Nehmen wir an, Sie arbeiten mit Binärdaten und können das Format einer Datei nicht verstehen. Sie können den Befehl Hexdump verwenden, um den Dateiinhalt in einem viel besser lesbaren Format zu erhalten. Dieser Befehl ist bei allen modernen Linux-Betriebssystemen wie CentOS vorinstalliert, Fedora, Ubuntu, Debian, Arch Linux usw. In diesem Artikel werden wir die Verwendung des Befehls hexdump anhand verschiedener Beispiele demonstrieren. Dieser in C geschriebene Befehl mag für professionelle C-Programmierer leicht zu verstehen sein, für andere IT-Experten kann er jedoch ein kniffliger Befehl sein. Wir werden unser Bestes tun, um die Verwendung und den Zweck hier in diesem Artikel zu demonstrieren.

1) Hexdump -b

Die Verwendung des Schalters “-b” mit Hexdump zeigt den Eingabe-Offset im hexadezimalen Format an. Diese Option wird auch als “One-Byte-Oktalanzeige” bezeichnet. Der Ausgabe folgen sechzehn durch Leerzeichen getrennte, dreispaltige, mit Nullen aufgefüllte Bytes von Eingabedaten in Oktalgröße pro Zeile. Hier ist der example Ausgabe, die wir erhalten haben, wenn wir diesen Befehl mit dem Schalter “-b” für eine Datei namens “Linoxide” ausführen.

# 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) Hexdump -c

Diese Option wird als “Ein-Byte-Zeichenanzeige” bezeichnet. Mit diesem Befehlsparameter können Sie den Eingabe-Offset hexadezimal anzeigen. Auf die Ausgabezeichenfolge folgen sechzehn durch Leerzeichen getrennte, dreispaltige, mit Leerzeichen gefüllte Zeichen der Eingabedaten pro Zeile. Hier ist der example Ausgabe dieses Befehls.

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) Hexdump -C

Auch als “kanonische Hex+ASCII-Anzeige” bekannt, zeigt dies den Eingabe-Offset in hexadezimaler Form, der Ausgabe folgen sechzehn durch Leerzeichen getrennte, zweispaltige, hexadezimale Bytes, zusammen mit den gleichen sechzehn Bytes im %_p-Format eingeschlossen in “| ” Zeichen. Hier wird gearbeitet example dieser Befehlsoption.

# 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) Hexdump -d

Dieser Schalter/diese Option zeigt den Eingabe-Offset in hexadezimaler Form an, zusammen mit acht durch Leerzeichen getrennten, fünfspaltigen, mit Nullen gefüllten Zwei-Byte-Einheiten der Eingabedaten. Die Ausgabe erfolgt in vorzeichenloser Dezimalzahl pro Zeile. Er wird auch als “Zwei-Byte-Dezimalanzeige”-Modus bezeichnet. Hier ist example Ausgabe dieses Befehls.

 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) Hexdump -o

Auch als “Zwei-Byte-Oktalanzeige” bekannt, zeigt es den angegebenen Eingangs-Offset in hexadezimaler Form an. Der Ausgabe des Befehls folgen acht durch Leerzeichen getrennte, sechsspaltige, mit Nullen gefüllte, zwei Byte große Mengen von Eingabedaten in Oktalgröße pro Zeile.

# 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) Hexdump -x

Es zeigt den Offset in hexadezimaler Form, gefolgt von acht, durch Leerzeichen getrennten, vierspaltigen, mit Nullen gefüllten Zwei-Byte-Eingabedatenmengen in hexadezimaler Form. Es wird als “Zwei-Byte-Hexadezimal-Anzeige” bezeichnet.

# 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) Hexdump -v

Hexdump verwendet standardmäßig das Sternzeichenbash um die identische Zeile in der Ausgabezeichenfolge zu ersetzen, aber die Option -v bewirkt, dass hexdump alle Eingabedaten anzeigt. Diese Option ist nützlich, wenn Sie die Analyse der vollständigen Ausgabe einer beliebigen Zeichenfolge oder eines beliebigen Textes durchführen. Dieser Befehl kann in Shell verwendet werden/

auch Skripte zur besseren Automatisierung Ihrer gewünschten Aufgaben.

8) Hexdump -s

hexdump -s n -c  File

“Hexdump -s” zeigt nur die angegebene Anzahl von Bytes aus einer Datei an, die allgemeine Syntax zur Verwendung dieser Option ist wie folgt. example Ersetzen Sie “n” durch die Anzahl der anzuzeigenden Zeilen und “Datei” durch Ihren tatsächlichen Dateinamen. Folge

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

Ausgabe sollte dieses Konzept weiter verdeutlichen.

Der obige Befehl zeigt nur eine Ausgabezeile an.

man hexdump

Weitere Informationen zu Hexdump erhalten Sie im Hilfehandbuch. Geben Sie einfach den folgenden Befehl auf dem Terminal Ihres Linux-Systems ein und es werden alle Möglichkeiten und Optionen angezeigt, die mit hexdump verwendet werden können.

Fazit bash Hexdump ist ein ziemlich nützliches Dienstprogramm für Systemadministratoren und Programmierer. Es macht das Analysieren und Dekodieren der verschiedenen Dateiformate zum Kinderspiel. Es kann leicht verwendet werden in


Programmierung oder C-Programmiersprachenskripte, um komplexe Aufgaben der Dateiformatkonvertierung oder Analyse und Reverse Engineering durchzuführen. In diesem Artikel haben wir Hexdump, seine nützlichen Optionen und einige nützliche Demonstrationen der Befehle dieses Dienstprogramms vorgestellt. Ich hoffe, Ihnen hat dieser Artikel gefallen. Wenn Sie Kommentare oder Fragen haben, können Sie uns dies gerne in den Kommentaren mitteilen.