日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Linux的hexdump工具用来做什么

發(fā)布時間:2023/12/15 综合教程 26 生活家
生活随笔 收集整理的這篇文章主要介紹了 Linux的hexdump工具用来做什么 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文小編為大家詳細介紹“Linux的hexdump工具用來做什么”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“Linux的hexdump工具用來做什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

hexdump是Linux下的一個二進制文件查看工具,它可以將二進制文件轉換為ASCII、八進制、十進制、十六進制格式進行查看。

參數:

hexdump[-bcCdovx][-eformat_string][-fformat_file][-nlength][-sskip]file

示例:

新增一個文本文件,在test 文本中添加如下內容:

[root@node61test]#cattestabcde
ABCDE

1)最簡單的查看

[root@node61test]#hexdumptest0000000626164630a65424144430a45
000000c

第一列:表示文件文件偏移量

第二列:已兩個字節(jié)為一組的十六進制

通過上面的輸出,翻譯成文本為:badc0aeBADC0aE(注意:在Linux中換行符\n 的十六進制為0a,在windows中,換行為\r\n的十六進制編碼為:0d 0a),另:下圖為ASC碼表對應的進制編碼

細心的讀者可能已經發(fā)現(xiàn)了,為什么翻譯成文本成倒序了呢?文本中的內容不是:abcde ABCDE 嗎?

其實這是X86的CPU架構所致,又進行了一番研究:字節(jié)序

字節(jié)序:其實就是字節(jié)的順序,這里是針對大于兩個字節(jié)來說,一個字節(jié)就沒有排序而言了,然而,在大部分的工作中,我們都很少直接和字節(jié)序打交道。

字節(jié)序分類兩類:Big-Endian 和Little-Endian

相關定義如下:

i) Little-Endian就是低位字節(jié)排放在內存的低地址端,高位字節(jié)排放在內存的高地址端。(X86 CPU系列采用的位序) ii) Big-Endian就是高位字節(jié)排放在內存的低地址端,低位字節(jié)排放在內存的高地址端。 iii) 網絡字節(jié)序:TCP/IP各層協(xié)議將字節(jié)序定義為Big-Endian,因此TCP/IP協(xié)議中使用的字節(jié)序通常稱之為網絡字節(jié)序。

下面的這個程序是用來判斷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

本人本地虛擬機的是X86的小端模式的

至此上面使用hexdump為什么是順序是倒著的原因了

有沒有更加較便于方便的查看方式了?有,這也是較常用的方式,見下面的b)介紹;

b)以16進制和相應的ASCII字符顯示文件里的字符

[root@node61test]#hexdump-Ctest#常用0000000061626364650a41424344450a|abcde.ABCDE.|
0000000c

這里既能顯示16進制也能顯示ascii碼

c)以偏移量格式輸出,參數 -s

[root@node61test]#hexdump-Ctest0000000061626364650a41424344450a|abcde.ABCDE.|
0000000c
[root@node61test]#hexdump-C-s6test0000000641424344450a|ABCDE.|
0000000c

第一行的abcde換行 的字符都沒有了

其他hexdump還有很多的用法,具體可以參看man hexdump

總結

以上是生活随笔為你收集整理的Linux的hexdump工具用来做什么的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。