linuxでバイナリデータを確認することができるコマンド「hexdump」コマンドですが、「-C」オプションを使用することで、一部をASCII形式で確認することができます。
つまりは、テキストで表示されるってことです。
以下のように使用します。
1 |
# hexdump -C 対象ファイル |
まずは、バイナリファイルである「/bin/dmesg」コマンドの中身を確認してみましょう。
1 2 3 |
# file /bin/dmesg /bin/dmesg: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped # |
1 2 3 4 5 6 7 8 9 10 11 |
# hexdump -C /bin/dmesg 00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............| 00000010 02 00 3e 00 01 00 00 00 70 08 40 00 00 00 00 00 |..>.....p.@.....| ~省略~ 000026b0 a8 1d 00 00 00 00 00 00 29 01 00 00 00 00 00 00 |........).......| 000026c0 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 000026d0 00 00 00 00 00 00 00 00 |........| 000026d8 # |
バイナリデータの右側にパイプ(|)で囲まれた箇所にご注目下さい。
「ELF」と表示されているのがわかると思います。テキストデータですね。
ちなみに、中身がテキストデータのファイルを確認すると、まさにテキストデータそのものが表示されます。
確認するデータは以下のファイル。
1 2 3 |
# cat /etc/redhat-release CentOS release 6.9 (Final) # |
このテキストデータを「hexdump」コマンドに「-C」オプションをつけて確認してみます。
1 2 3 4 5 |
# hexdump -C /etc/redhat-release 00000000 43 65 6e 74 4f 53 20 72 65 6c 65 61 73 65 20 36 |CentOS release 6| 00000010 2e 39 20 28 46 69 6e 61 6c 29 0a |.9 (Final).| 0000001b # |
途中で改行されていますが、「cat」コマンドで表示した内容と同じ内容が右側のパイプ(|)で囲まれた箇所に表示されているのがわかります。