博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
”十六“进制查看器
阅读量:4880 次
发布时间:2019-06-11

本文共 3173 字,大约阅读时间需要 10 分钟。

hexdump

hexdump命令一般用来查看”二进制“文件的十六进制编码,但实际上它的用途不止如此,手册页上的说法是“ascii, decimal, hexadecimal, octal dump“,而且它能查看任何文件,而不只限于二进制文件了。

 

规范的十六进制和ASCII码显示(Canonical hex+ASCII display)

root@new55 ~]# echo /etc/passwd | hexdump -C00000000  2f 65 74 63 2f 70 61 73  73 77 64 0a              |/etc/passwd.|0000000c

 

单字节八进制显示(One-byte octal display) 

[root@new55 ~]# echo /etc/passwd | hexdump -b 0000000 057 145 164 143 057 160 141 163 163 167 144 012                000000c

 

单字节字符显示(One-byte character display) 

0000000   /   e   t   c   /   p   a   s   s   w   d  \n                000000c

 

双字节十进制显示(Two-byte decimal display) 

[root@new55 ~]# echo /etc/passwd | hexdump -d0000000   25903   25460   28719   29537   30579   02660                000000c

 

双字节八进制显示(Two-byte octal display) 

[root@new55 ~]# echo /etc/passwd | hexdump -o       0000000  062457  061564  070057  071541  073563  005144                000000c

 

双字节十六进制显示(Two-byte hexadecimal display) 

[root@new55 ~]# echo /etc/passwd | hexdump -x0000000    652f    6374    702f    7361    7773    0a64                000000c

 

[root@new55 ~]# echo /etc/passwd | hexdump -v 0000000 652f 6374 702f 7361 7773 0a64          000000c

 

od

[root@www ~]# od [-t TYPE] 文件选项或参数:-t  :后面可以接各种『类型 (TYPE)』的输出,例如:      a       :利用默认的字节来输出;      c       :使用 ASCII 字节来输出      d[size] :利用十进位(decimal)来输出数据,每个整数占用 size bytes ;      f[size] :利用浮点数值(floating)来输出数据,每个数占用 size bytes ;      o[size] :利用八进位(octal)来输出数据,每个整数占用 size bytes ;      x[size] :利用十六进位(hexadecimal)来输出数据,每个整数占用 size bytes ;

 

请将/usr/bin/passwd的内容使用ASCII方式来展现

[root@www ~]# od -t c /usr/bin/passwd0000000 177   E   L   F 001 001 001  \0  \0  \0  \0  \0  \0  \0  \0  \00000020 002  \0 003  \0 001  \0  \0  \0 260 225 004  \b   4  \0  \0  \00000040 020   E  \0  \0  \0  \0  \0  \0   4  \0      \0  \a  \0   (  \00000060 035  \0 034  \0 006  \0  \0  \0   4  \0  \0  \0   4 200 004  \b0000100   4 200 004  \b 340  \0  \0  \0 340  \0  \0  \0 005  \0  \0  \0.....(后面省略)....# 最左边第一栏是以 8 进位来表示bytes数。以上面范例来说,第二栏0000020代表开头是# 第 16 个 byes (2x8) 的内容之意。

 

请将/etc/issue这个文件的内容以8进位列出储存值与ASCII的对照表

[root@www ~]# od -t oCc /etc/issue0000000 103 145 156 164 117 123 040 162 145 154 145 141 163 145 040 065          C   e   n   t   O   S       r   e   l   e   a   s   e       50000020 056 062 040 050 106 151 156 141 154 051 012 113 145 162 156 145          .   2       (   F   i   n   a   l   )  \n   K   e   r   n   e0000040 154 040 134 162 040 157 156 040 141 156 040 134 155 012 012          l       \   r       o   n       a   n       \   m  \n  \n0000057# 如上所示,可以发现每个字节可以对应到的数值为何!# 例如e对应的记录数值为145,转成十进位:1x8^2+4x8+5=101。

利用这个命令,可以将 data file 或者是 binary file 的内容数据给他读出来喔! 虽然读出的来数值默认是使用非文字档,亦即是 16 进位的数值来显示的, 不过,我们还是可以透过 -t c 的选项与参数来将数据内的字节以 ASCII 类型的字节来显示, 虽然对於一般使用者来说,这个命令的用处可能不大,但是对於工程师来说, 这个命令可以将 binary file 的内容作一个大致的输出,他们可以看得出东西的啦~ ^_^

如果对纯文字档使用这个命令,你甚至可以发现到 ASCII 与字节的对照表!

 

备注:

利用这个命令,可以将 data file 或者是 binary file 的内容数据给他读出来喔! 虽然读出的来数值默认是使用非文字档,亦即是 16 进位的数值来显示的, 不过,我们还是可以透过 -t c 的选项与参数来将数据内的字节以 ASCII 类型的字节来显示, 虽然对於一般使用者来说,这个命令的用处可能不大,但是对於工程师来说, 这个命令可以将 binary file 的内容作一个大致的输出,他们可以看得出东西的啦~ ^_^

如果对纯文字档使用这个命令,你甚至可以发现到 ASCII 与字节的对照表!

 

参考 

       

转载于:https://www.cnblogs.com/bittorrent/archive/2013/06/14/3135583.html

你可能感兴趣的文章
jmeter跟随重定向与自动重定向区别
查看>>
Python:GeoJson格式的多边形裁剪Tiff影像并计算栅格数值
查看>>
免费下载知网文献的方法 | sci-hub免费下载SCI论文方法
查看>>
测试用例,变量之间,相互调用的方法,和修改原来初始化变量的方法
查看>>
ASP.NET MVC中将控制器分离到类库的实现(转)
查看>>
Poj 2304 Combination Lock(模拟顺、逆时钟开组合锁)
查看>>
Palindrome Number
查看>>
H5上传功能
查看>>
three.js尝试(二)模拟游戏开发:3D人物在地图上行走
查看>>
PHP命名空间(Namespace)的使用详解
查看>>
java项目@override报错问题
查看>>
DataTable 和Json 字符串互转
查看>>
Django中Template does not exit
查看>>
Redis安装 java中的连接 序列化 反序列化
查看>>
hdu 1896 优先队列的应用
查看>>
递推和迭代的比较
查看>>
12306HTTP请求过程
查看>>
加快mysql数据库导入
查看>>
位运算
查看>>
有意思的网站
查看>>