iT邦幫忙

2025 iThome 鐵人賽

DAY 27
0
佛心分享-IT 人自學之術

從零開始的 Linux 世界系列 第 27

【Day.27】Hex Value 是什麼?帶你看 16 進制的世界

  • 分享至 

  • xImage
  •  

我們曾經使用過 WireShark 來截取封包,可以看到旗幟(Flag)、網路位址(IPv4)以及網路協議(Protocol),但是從來沒有介紹過版面右下角的 Hex Value 究竟是什麼?怎麼看?

我們也曾經提到過 Windows Packet Sender 可以傳送不同網路協議的封包,測試 Windows 和 Kali Linux 之間能不能互相溝通。但我們只知道 ASCII 可以輸入英文內容,而下方 Hex 欄位就會產生對應的編碼。

今天就來帶大家了解,什麼是「Hex Value」。

✒️ 十六進制編碼 Hex Value

十六進制(Hexadecimal)的縮寫就是 Hex,編碼能呈現的字元只有「0~9」和英文字母「A~F」。最常看到的範例就是「Hex 色碼」,比如:紅色(#FF0000)、黑色(#000000)、白色(#FFFFFF)等等。

在硬體世界中,伺服器記憶體位址也常用 Hex 來表示。廠商或 BIOS/Firmware 會有一個 Mapping Table 來映射動態隨機存取記憶體(DRAM)的物理位置(Physical Address)。

以及現今金融流行的投資工具「加密貨幣」也常使用到 Hex 編碼,例如:乙太坊(Ethereum)的錢包地址可能會像這樣 0x742d35Cc6634C0532925a3b844Bc454e4438f44e。是一個 20 Bytes(40 Hex 字元)的編碼,前面的 0x 只是前綴。

🍀 Hex 常見的檔案格式

檔案格式 開頭 Hex Value(前幾位元組) ASCII 對應
PDF 25 50 44 46 2D %PDF-
PNG 89 50 4E 47 0D 0A 1A 0A .PNG....
JPEG / JPG FF D8 FF
GIF 47 49 46 38 37 61 / 47 49 46 38 39 61 GIF87a / GIF89a
DOCX / PPTX / XLSX 50 4B 03 04 / 50 4B 05 06 PK..
MP3 49 44 33 ID3
WAV 52 49 46 46 ... 57 41 56 45 RIFF....WAVE
MP4 / MOV 00 00 00 ?? 66 74 79 70 ....ftyp
EXE 4D 5A MZ
7z 37 7A BC AF 27 1C
RAR (v4) 52 61 72 21 1A 07 00 Rar!...
RAR (v5) 52 61 72 21 1A 07 01 00 Rar!....

❓ 為什麼需要知道 Hex Value

我們知道從 WireShark 截取到的封包大多是以 Hex Value 表現,當今天我們從網路上下載或是上傳檔案的時候,也會有封包傳遞的過程。那我們要怎麼知道我們上傳了什麼東西?以及這個檔案的內容、格式是否正確?就需要依靠 Hex Value 來判斷。

在滲透測試的領域中,可以透過這種方式將截取的封包內容解密,透過觀察 Hex Value 就能夠抓取到封包內的 Application Data 裡是不是有包含檔案。也就是我們俗稱的「攔截資料」。

要觀察 Hex Value 除了能看到內容之外,我們也需要有一個好用的編輯器才可以將封包內夾帶的檔案給截取下來,這邊跟大家介紹一個新的工具「HxD Editor」。

你可以到 HxD 官方網站 下載及安裝,支援繁體中文,目前最新的版本為 v2.5,發布的時間為 2021/02/11,由 VincentLu@TW 協助翻譯。


了解 Hex 不只是為了好奇,它實際上是滲透測試、數位鑑識、甚至逆向工程的基礎。對駭客與資安分析師來說,能看懂 Hex,就代表能直接「閱讀」電腦世界的語言。

所以學會閱讀 Hex Value 對自己也是很有幫助的哦!

📄 參考資料

WLLO 的鐵人賽文章
Atlassian HxD 介紹
五倍學院的 Hex 色碼介紹


上一篇
【Day.26】我如何學習滲透測試?
系列文
從零開始的 Linux 世界27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言