Linux的hexdump工具用来做什么
本文小編為大家詳細(xì)介紹“Linux的hexdump工具用來(lái)做什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Linux的hexdump工具用來(lái)做什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
hexdump是Linux下的一個(gè)二進(jìn)制文件查看工具,它可以將二進(jìn)制文件轉(zhuǎn)換為ASCII、八進(jìn)制、十進(jìn)制、十六進(jìn)制格式進(jìn)行查看。
參數(shù):
hexdump[-bcCdovx][-eformat_string][-fformat_file][-nlength][-sskip]file
示例:
新增一個(gè)文本文件,在test 文本中添加如下內(nèi)容:
[root@node61test]#cattestabcde ABCDE
1)最簡(jiǎn)單的查看
[root@node61test]#hexdumptest0000000626164630a65424144430a45 000000c
第一列:表示文件文件偏移量
第二列:已兩個(gè)字節(jié)為一組的十六進(jìn)制
通過(guò)上面的輸出,翻譯成文本為:badc0aeBADC0aE(注意:在Linux中換行符\n 的十六進(jìn)制為0a,在windows中,換行為\r\n的十六進(jìn)制編碼為:0d 0a),另:下圖為ASC碼表對(duì)應(yīng)的進(jìn)制編碼
細(xì)心的讀者可能已經(jīng)發(fā)現(xiàn)了,為什么翻譯成文本成倒序了呢?文本中的內(nèi)容不是:abcde ABCDE 嗎?
其實(shí)這是X86的CPU架構(gòu)所致,又進(jìn)行了一番研究:字節(jié)序
字節(jié)序:其實(shí)就是字節(jié)的順序,這里是針對(duì)大于兩個(gè)字節(jié)來(lái)說(shuō),一個(gè)字節(jié)就沒(méi)有排序而言了,然而,在大部分的工作中,我們都很少直接和字節(jié)序打交道。
字節(jié)序分類(lèi)兩類(lèi):Big-Endian 和Little-Endian
相關(guān)定義如下:
i) Little-Endian就是低位字節(jié)排放在內(nèi)存的低地址端,高位字節(jié)排放在內(nèi)存的高地址端。(X86 CPU系列采用的位序) ii) Big-Endian就是高位字節(jié)排放在內(nèi)存的低地址端,低位字節(jié)排放在內(nèi)存的高地址端。 iii) 網(wǎng)絡(luò)字節(jié)序:TCP/IP各層協(xié)議將字節(jié)序定義為Big-Endian,因此TCP/IP協(xié)議中使用的字節(jié)序通常稱(chēng)之為網(wǎng)絡(luò)字節(jié)序。
下面的這個(gè)程序是用來(lái)判斷CPU采用的是哪種模式?
#includeintmain(){
unionw
{
inta;
charb;
}c;
c.a=1;if(c.b==1){
printf("TheCPUisLitle-Endian\n");
}else{
printf("TheCPUisBig-Endian\n");
}return0;
}/*endcheckCPU*/
gcc-ocheckCPU.ocheckCPU.c
[root@node61test]#./checkCPU.oTheCPUisLitle-Endian
本人本地虛擬機(jī)的是X86的小端模式的
至此上面使用hexdump為什么是順序是倒著的原因了
有沒(méi)有更加較便于方便的查看方式了?有,這也是較常用的方式,見(jiàn)下面的b)介紹;
b)以16進(jìn)制和相應(yīng)的ASCII字符顯示文件里的字符
[root@node61test]#hexdump-Ctest#常用0000000061626364650a41424344450a|abcde.ABCDE.| 0000000c
這里既能顯示16進(jìn)制也能顯示ascii碼
c)以偏移量格式輸出,參數(shù) -s
[root@node61test]#hexdump-Ctest0000000061626364650a41424344450a|abcde.ABCDE.| 0000000c [root@node61test]#hexdump-C-s6test0000000641424344450a|ABCDE.| 0000000c
第一行的abcde換行 的字符都沒(méi)有了
其他hexdump還有很多的用法,具體可以參看man hexdump
總結(jié)
以上是生活随笔為你收集整理的Linux的hexdump工具用来做什么的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql boost 5.7.21_m
- 下一篇: 反射型XSS漏洞详解