Linux 二进制文件读取命令 hexdump
描述
hexdump display file contents in ascii, decimal, hexadecimal, or octal;
hexdump主要用来查看二进制文件的十六进制编码,也可以查询文本文件的字节码;
使用方式
-
命令语法
hexdump [options] file [...]
-
常用选项
选项 描述 -b 单字节八进制显示 -c 单字节字符显示 -d 双字节十进制显示 -o 双字节八进制显示 -x 双字节十六进制显示 -C 十六进制+ASCII码显示 -n length 输出指定长度的字节 -s offset 指定输出时的偏移量 -
示例
- 查询二进制文件
[root@OpenWrtEXT:capture_packet]#hexdump hexdump_demo.pcap 0000000 c3d4 a1b2 0002 0004 0000 0000 0000 0000 0000010 ffff 0000 0001 0000 96c0 611f 214d 0000 0000020 0101 0000 0101 0000 0c00 6629 6666 a628 0000030 b6db 7e46 0008 0045 f300 32c5 0040 063f 0000040 852a 0278 6402 10ac d724 04ab fe1f 113a 0000050 8dbd 625a b178 1880 9002 3490 0000 0101 0000060 0a08 4a47 bcb6 9b01 8ebd d200 0100 b900 0000070 0700 b500 d200 0000 0000 0000 1100 018b 0000080 0002 09a6 a300 000a 0002 0bd2 0100 1304 0000090 0100 1100 9300 000d 0108 0100 0200 0100 00000a0 3d01 8500 0002 0301 0003 0102 045e 0100 00000b0 0500 0200 0000 0006 0f04 0670 07c0 1800 00000c0 0001 0001 0002 0004 0000 0300 0200 0000 00000d0 0004 0101 0005 0001 0007 0118 0100 0201 00000e0 0400 0000 0000 0003 0002 0400 0100 0501 00000f0 0100 0700 1800 0001 0201 0002 0004 0000 0000100 0300 0200 0000 0004 0101 0005 0001 0007 0000110 0118 0100 0203 0400 0000 0000 0003 0002 0000120 0400 0100 0501 0100 0000 0000129 [root@OpenWrtEXT:capture_packet]#
- 查询文本文件
[root@OpenWrtEXT:capture_packet]#cat hexdump_test.txt hexdump test txt file. haha end test [root@OpenWrtEXT:capture_packet]#hexdump hexdump_test.txt 0000000 6568 6478 6d75 2070 6574 7473 7420 7478 0000010 6620 6c69 2e65 680a 6861 0a61 6e65 2064 0000020 6574 7473 000a 0000025 [root@OpenWrtEXT:capture_packet]#
- 查询文件前30个字节信息
[root@OpenWrtEXT:capture_packet]#hexdump -n 30 hexdump_demo.pcap 0000000 c3d4 a1b2 0002 0004 0000 0000 0000 0000 0000010 ffff 0000 0001 0000 96c0 611f 214d 000001e [root@OpenWrtEXT:capture_packet]# [root@OpenWrtEXT:capture_packet]#hexdump -n 30 hexdump_test.txt 0000000 6568 6478 6d75 2070 6574 7473 7420 7478 0000010 6620 6c69 2e65 680a 6861 0a61 6e65 000001e [root@OpenWrtEXT:capture_packet]#
- 查询文件的第11到第30个字节信息
[root@OpenWrtEXT:capture_packet]#hexdump -s 10 -n 20 hexdump_demo.pcap 000000a 0000 0000 0000 ffff 0000 0001 0000 96c0 000001a 611f 214d 000001e [root@OpenWrtEXT:capture_packet]#hexdump -s 10 -n 20 hexdump_test.txt 000000a 7473 7420 7478 6620 6c69 2e65 680a 6861 000001a 0a61 6e65 000001e [root@OpenWrtEXT:capture_packet]#
- 查询文件的第50个字节信息以10进制显示
[root@OpenWrtEXT:capture_packet]#hexdump -s 49 -n 1 -d hexdump_demo.pcap 0000031 00182 0000032 [root@OpenWrtEXT:capture_packet]#
- 查询文件中间部分信息并以单字节八进制显示
[root@OpenWrtEXT:capture_packet]#hexdump -s 10 -n 20 -b hexdump_test.txt 000000a 163 164 040 164 170 164 040 146 151 154 145 056 012 150 141 150 000001a 141 012 145 156 000001e [root@OpenWrtEXT:capture_packet]#hexdump -s 10 -n 20 -b hexdump_demo.pcap 000000a 000 000 000 000 000 000 377 377 000 000 001 000 000 000 300 226 000001a 037 141 115 041 000001e [root@OpenWrtEXT:capture_packet]#
- 查询文件中间部分信息并以同时显示十六进制和ASCII码
[root@OpenWrtEXT:capture_packet]#hexdump -s 10 -n 20 -C hexdump_test.txt 0000000a 73 74 20 74 78 74 20 66 69 6c 65 2e 0a 68 61 68 |st txt file..hah| 0000001a 61 0a 65 6e |a.en| 0000001e [root@OpenWrtEXT:capture_packet]#hexdump -s 10 -n 20 -C hexdump_demo.pcap 0000000a 00 00 00 00 00 00 ff ff 00 00 01 00 00 00 c0 96 |................| 0000001a 1f 61 4d 21 |.aM!| 0000001e [root@OpenWrtEXT:capture_packet]#