GNU/Linux >> Linux の 問題 >  >> Linux

実用的な例でLinuxHexdumpコマンドを使用する方法

Hexdumpは、開発者やアプリケーションデバッガーにとって非常に便利なLinuxコマンドです。ファイルの内容を16進数、8進数、ASCII、10進数などの多くの形式にダンプする機能があります。このコマンドは、ファイルまたは任意の標準入力を入力パラメーターとして受け取り、それを選択した形式に変換します。バイナリデータを操作していて、ファイルの形式を理解できないと仮定します。Hexdumpコマンドを使用して、ファイルの内容をはるかに読みやすい形式で取得できます。このコマンドは、CentOS、Fedora、Ubuntu、Debian、Arch Linuxなどの最新のLinuxオペレーティングシステムすべてにプリインストールされています。この記事では、さまざまな例を使用してhexdumpコマンドの使用方法を示します。このコマンドはC言語で書かれているため、プロのCプログラマーには理解しやすいかもしれませんが、他のITプロフェッショナルにとっては扱いにくいコマンドかもしれません。この記事では、その使用法と目的を示すために最善を尽くします。

1)16進ダンプ-b

16進ダンプで「-b」スイッチを使用すると、入力オフセットが16進形式で表示されます。このオプションは、「1バイト8進表示」とも呼ばれます。出力の後には、スペースで区切られた16の、3列、ゼロで埋められた、1行あたり8進数の入力データのバイトが続きます。これは、「Linoxide」という名前のファイルで「-b」スイッチを指定してこのコマンドを実行したときに受け取った出力例です。

# 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

このオプションは「1バイト文字表示」と呼ばれます。このコマンドパラメータを使用して、入力オフセットを16進数で表示できます。出力文字列の後には、1行に16個のスペースで区切られた、3列の、スペースで埋められた入力データの文字が続きます。このコマンドの出力例を次に示します。

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

「Canonicalhex+ASCII display」とも呼ばれ、入力オフセットを16進数で表示します。出力の後には、16進数のスペースで区切られた、2列の16進数バイトと、「|」で囲まれた%_p形式の同じ16バイトが続きます。 ''文字。このコマンドオプションの実例を次に示します。

# 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

このスイッチ/オプションは、入力オフセットを16進数で表示し、スペースで区切られた8つの列、ゼロで埋められた2バイト単位の入力データを表示します。出力は、1行あたり符号なし10進数です。 「2バイト10進表示」モードとも呼ばれます。このコマンドの出力例を次に示します。

 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

「2バイト8進表示」とも呼ばれ、指定された入力オフセットを16進数で表示します。コマンドの出力の後には、スペースで区切られた8つの列、ゼロで埋められた、1行あたり8進数の2バイトの入力データが続きます。

# 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

オフセットが16進数で表示され、その後に8つ、スペースで区切られ、4列、ゼロで埋められた、2バイトの入力データが16進数で表示されます。これは「2バイト16進表示」と呼ばれます。

# 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はアスタリスク記号(*)を使用して出力文字列の同じ行を置き換えますが、-vオプションを指定すると、hexdumpはすべての入力データを表示します。このオプションは、文字列またはテキストの完全な出力の分析を実行するときに役立ちます。このコマンドは、シェル/ bashスクリプトでも使用でき、目的のタスクをより適切に自動化できます。

8)16進ダンプ-s

「Hexdump-s」は、ファイルから指定されたバイト数のみを表示します。このオプションを使用する一般的な構文は次のとおりです。

hexdump -s n -c  File

ここで、「n」を表示する行数に置き換え、「File」を実際のファイル名に置き換えます。次の出力例では、この概念をさらに明確にする必要があります。

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

上記のコマンドは、1行の出力のみを表示します。

ヘルプマニュアルを使用して、hexdumpの詳細を取得できます。 Linuxシステムのターミナルで次のコマンドを入力するだけで、hexdumpで使用できるすべての可能性とオプションが表示されます。

man hexdump

結論

Hexdumpは、システム管理者やプログラマーにとって非常に便利なユーティリティです。これにより、さまざまなファイル形式の分析とデコードが簡単になります。これは、bashプログラミングまたはCプログラミング言語スクリプトで簡単に使用して、ファイル形式の変換または分析とリバースエンジニアリングの複雑なタスクを実行できます。この記事では、hexdump、その便利なオプション、およびこのユーティリティに関連するコマンドのいくつかの便利なデモンストレーションを紹介しました。この記事を楽しんでいただけたでしょうか。コメントや質問がある場合は、コメントでお知らせください。


Linux
  1. LinuxでSedコマンドを使用する方法と例

  2. 例を使用してLinuxでRmmodコマンドを使用する方法

  3. 例を使用してLinuxでDigコマンドを使用する方法

  1. 例を使用してLinuxでsuコマンドを使用する方法

  2. 例でLinuxシャットダウンコマンドを使用する方法

  3. LinuxでのSCPコマンド:使用方法と例

  1. 例を使用してLinuxでwコマンドを使用する方法

  2. 例を使用してLinuxwatchコマンドを使用する方法

  3. 例を含むwcLinuxコマンド