当前位置: 首页 > news >正文

Linux二进制查看工具——hexdump

目录

  • hexdump工具使用方法
    • 一、基本语法
    • 二、常用选项与示例
      • 1. 基础查看(默认格式)
      • 2. 显示 ASCII 字符(`-C` 选项)
      • 3. 自定义每行显示字节数(`-n` 和 `-s`)
      • 4. 简化输出(`-x`、`-d`、`-o` 等)
      • 5. 自定义格式(`-e` 选项)
      • 6. 其他实用选项
    • 三、典型使用场景
    • 四、与 `xxd` 对比

hexdump工具使用方法

hexdump 是一款用于查看二进制文件或数据流的命令行工具,它能将二进制数据以十六进制、ASCII 等格式展示,常用于调试调试、分析文件结构或查看不可打印字符。以下是其核心用法和示例:

一、基本语法

hexdump [选项] [文件]

若不指定文件,默认从标准输入(如管道)读取数据。

二、常用选项与示例

1. 基础查看(默认格式)

不添加选项时,hexdump 以两列十六进制数(每列 16 字节)显示,右侧附带 ASCII 字符(不可打印字符用 . 表示):

hexdump test.bin

输出示例:

0000000 4865 6c6c 6f20 576f 726c 6421 0a00
000000d
  • 左侧 0000000 是偏移地址(十六进制)
  • 中间是十六进制数据(按 16 位分组)
  • 若启用 ASCII 显示,右侧会显示对应字符

2. 显示 ASCII 字符(-C 选项)

-C(或 --canonical)是最常用的选项之一,以规范格式显示:

  • 左侧:偏移地址
  • 中间:16 字节的十六进制(每行 16 字节,空格分隔)
  • 右侧:对应的 ASCII 字符(不可打印字符用 . 表示)
hexdump -C test.bin

输出示例:

00000000  48 65 6c 6c 6f 20 57 6f  72 6c 64 21 0a        |Hello World!.|
0000000d

3. 自定义每行显示字节数(-n-s

  • -n <数字>:只显示前 N 个字节
  • -s <偏移>:从文件的指定偏移量(十进制,加 0x 表示十六进制)开始显示
# 只显示前 10 个字节
hexdump -C -n 10 test.bin# 从偏移量 0x05(十进制 5)开始显示
hexdump -C -s 0x05 test.bin

4. 简化输出(-x-d-o 等)

  • -x:以两字节为单位显示十六进制(默认格式)
  • -d:以两字节为单位显示十进制
  • -o:以两字节为单位显示八进制
  • -c:以单字节为单位显示 ASCII 字符(不可打印字符用转义序列)
# 单字节 ASCII 显示
hexdump -c test.bin

输出示例:

0000000   H   e   l   l   o       W   o   r   l   d   !  \n
000000d

5. 自定义格式(-e 选项)

通过 -e 可以自定义输出格式,适合特定场景(如解析协议格式)。格式语法:

hexdump -e '格式字符串' 文件

常用占位符:

  • %08_ax:8 位十六进制偏移地址(_a 表示地址,x 表示十六进制)
  • %02x:单字节十六进制(两位)
  • %c:ASCII 字符(不可打印用 .
  • \n:换行

示例:每行显示 8 字节,格式为「偏移 + 十六进制 + ASCII」

hexdump -e '%06_ax  ' -e '%02x ' -e '  |%c|\n' test.bin

输出示例:

000000  48 65 6c 6c 6f 20 57 6f  |Hello Wo|
000008  72 6c 64 21 0a           |rld!.|

6. 其他实用选项

  • -v:显示所有数据,不省略重复行(默认会用 * 省略连续重复内容)
  • -n:限制显示的总字节数(如 -n 100 只显示前 100 字节)
  • -s:跳过指定字节数后开始显示(如 -s 10 跳过前 10 字节)

三、典型使用场景

  1. 分析二进制文件结构:如查看图片、Protobuf 序列化数据等的二进制布局。
  2. 调试数据传输:对比发送 / 接收的二进制流,定位数据差异。
  3. 查看不可打印字符:如日志中的控制字符(\r\n 等)。
  4. 验证文件格式:如检查文件头标识(如 PNG 的 89 50 4E 47)。

四、与 xxd 对比

hexdumpxxd 功能类似,但 xxd 更简洁,且支持将文本转回二进制:

# 用 xxd 查看(类似 hexdump -C)
xxd test.bin# 将 hex 文本转回二进制
xxd -r hex.txt test.bin

根据需求选择:hexdump 适合复杂格式定制,xxd 适合简单查看和转换。

http://www.dtcms.com/a/432288.html

相关文章:

  • 东莞微网站建设报价电信宽带做网站服务器吗
  • 如何在网站做淘宝页面企业网站开发介绍
  • 做自己的网站的好处系统优化因素
  • 吴江建设局网站打不开了职业教育培训网站
  • 泉州企业自助建站系统简单的网页设计作品模板
  • 浔川 AI 翻译 v7.0正式上线公告
  • 网站蓝色和红色搭配单页网站cpa虚拟主机
  • asp做企业网站很好啊wdlinux 默认网站
  • 网站建设续费多少钱怎样用vps做网站
  • CLion实现log日志系统
  • Linux-03_01(Linux实用操作)
  • [温习C/C++]C++刷题技巧—字符串查找find、find_if、find_first_of和find_last_of
  • 网站空间可以自己买吗wordpress4.9免登陆发布接口
  • 网站建设的行业资讯广西钦州有人帮做网站的公司吗
  • wordpress调用文件上传网络优化工作应该怎么做
  • 网站托管服务国家信息企业网查询
  • 解决 Windows 11 “找不到 gpedit.msc” 问题的方法
  • 网站建设饱和了吗最好的wordpress博客主题
  • TCP粘包和拆包问题
  • C#基础04-基础语法
  • 网站建设期间工作软文营销方法有哪些
  • 网站登陆注册怎么做宁波seo整站优化软件
  • 网站在互联网营销中的作用互联网相关网站
  • Easyx使用(中篇)
  • 省品牌建设联合会网站平面设计图片创意手绘
  • 山西教育学会网站建设网站搭建推广优化
  • 移动端开发平台海南百度推广seo
  • 网站建设与维护的国家定价标准淄博专业网站建设公司
  • 网站设计用什么字体网站商城系统建设方案
  • 广东省农业农村厅彭彬湛江网站优化快速排名