hexdump——linux系统的二进制文件查看工具

hexdump——linux系统的二进制文件查看工具

在Linux系统中,我们经常会遇到需要查看二进制文件内容的情况,如查看可执行文件的二进制代码、查看网络数据包的二进制内容等。此时,一个非常有用的工具是hexdumphexdump是Linux系统下的一个十六进制查看工具,用于查看二进制文件的内容。下面,我们来介绍一下如何使用hexdump来查看二进制文件。

安装hexdump

在大多数Linux系统中,hexdump会默认安装。如果您的系统没有安装hexdump,可以通过以下命令进行安装:

# Ubuntu/Debian系统
sudo apt-get install hexdump

# CentOS/Fedora系统
sudo yum install hexdump

# Arch Linux系统
sudo pacman -S hexdump

使用hexdump查看二进制文件

hexdump命令可以查看二进制文件的十六进制内容、以ASCII码显示的字符、八进制和二进制表示。以下是hexdump的使用方法:

$ hexdump [选项] 文件名

下面列出一些主要选项:

  • -C:以十六进制和ASCII码混合的形式显示内容,方便阅读。
  • -n 数字:只显示前面指定的字节数。
  • -s 数字:跳过文件的前面指定字节数,从指定位置开始显示。

例如,以下是查看/bin/bash二进制文件的命令:

$ hexdump -C /bin/bash

输出结果为

00000000  7f 45 4c 46 02 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
00000010  02 00 3e 00 01 00 00 00  90 7e 40 00 00 00 00 00  |..>......~@.....|
00000020  40 00 00 00 00 00 00 00  38 01 00 00 00 00 00 00  |@.......8.......|
00000030  00 00 00 00 40 00 38 00  09 00 40 00 1d 00 1c 00  |....@.8...@.....|
00000040  06 00 00 00 05 00 00 00  40 00 00 00 00 00 00 00  |........@.......|
00000050  40 00 40 00 00 00 00 00  40 00 40 00 00 00 00 00  |@.@......@.@....|
00000060  08 00 00 00 03 00 00 00  40 00 00 00 00 00 00 00  |........@.......|
...
...

可以看到输出以十六进制的形式显示了文件的所有字节,每十六个字节一行。行的前面会显示行号,以便于对二进制码的定位。除此之外,行的右侧也会显示每个字节对应的ASCII码字符,方便识别文件的内容。

除了使用-C选项以外,还可以通过-b-o选项查看内容的八进制或二进制表示。

使用hexdump查看网络数据包

在Linux系统中,可以使用tcpdump命令来抓取网络数据包。而与此同时,我们也可以使用hexdump命令来查看抓取到的数据包的内容。例如,以下是对eth0网卡进行数据包抓取并使用hexdump查看数据包内容的命令:

$ sudo tcpdump -i eth0 -c 1 | hexdump -C

以上命令将抓取eth0网卡上的一个数据包,并利用hexdump展示它的内容。输出结果如下:

00000000  00 0c 29 39 33 85 00 50  56 23 93 78 08 00 45 00  |..)93..PV#.x..E.|
00000010  00 28 d8 6d 40 00 40 06  ca 4b c0 a8 01 0d c0 a8  |.(.m@.@..K......|
00000020  01 01 bb 51 00 7b 09 53  8d eb 27 1f 6c 60 12 40  |...Q.{.S..'l`.@|
00000030  08 00 18 a0 ac 00 00 01  01 08 0a 00 17 1c e8 00  |................|
00000040  d0 ef 00 00 19 00 00 00  01 03 03 07              |............|
0000004d

通过以上的输出可以查看到该数据包的十六进制码,并且同样也可以看到每个字节对应的ASCII码,以方便我们了解数据包的内容。

总结

hexdump命令是一个非常有用的在Linux系统中查看二进制文件内容的命令。通过对命令中不同的选项的选择,可以在不同的场景中得到不同类型的输出结果。它同样可以与其他命令相结合,如tcpdump命令,方便我们查看网络数据包的内容。在我们对二进制文件的调试、调查时,hexdump是必不可少的工具之一。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:hexdump——linux系统的二进制文件查看工具 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • cpi是什么意思

    什么是CPI CPI(Cycles Per Instruction)是计算机系统中一种重要性能指标,其描述了CPU每条指令完成所需时钟周期数的平均值。CPI越小,表示CPU在执行指令时所需的时钟周期越短,计算机性能越好。因此,CPI是衡量计算机系统性能的重要指标之一。 计算CPI CPI的计算公式为: CPI = CPU时钟周期数 / 执行的指令条数 其中,…

    其他 2023年4月16日
    00
  • Android编程之点击按钮的响应方式小结【3种方式】

    Android编程之点击按钮的响应方式小结【3种方式】 在Android编程中,我们经常需要为按钮添加点击事件的响应。下面将介绍三种常用的方式来实现按钮的点击响应。 1. 使用匿名内部类 这是最常见的一种方式,通过创建一个匿名内部类来实现按钮的点击事件。 Button button = findViewById(R.id.button); button.se…

    other 2023年9月6日
    00
  • java基于netty NIO的简单聊天室的实现

    Java基于Netty NIO的简单聊天室实现攻略 本文将介绍使用Netty NIO框架实现一个简单的聊天室的详细过程,包括环境搭建、项目结构、代码实现等。 环境搭建 首先需要安装Java环境,推荐使用JDK 1.8版本。接着安装Maven,用于管理依赖项,可以在Maven官网(http://maven.apache.org)查看安装教程。 项目结构 创建一…

    other 2023年6月27日
    00
  • vue 组件异步加载方式(按需加载)

    当项目中 Vue 组件过多时,一次性全部加载会使页面首次加载的速度变慢,也会使浏览器的性能变差。Vue 提供了一种按需加载组件的方式,也叫做组件的懒加载,可以有效提高页面的加载速度以及性能。下面是按需加载 Vue 组件的完整攻略。 1. 使用 Vue CLI 创建项目 Vue CLI 是官方提供的 Vue.js 项目脚手架工具,可以快捷构建 Vue 项目。 …

    other 2023年6月25日
    00
  • Android应用实现安装后自启动的方法

    以下是实现Android应用安装后自启动的方法的完整攻略: 方法1:使用广播接收器(Broadcast Receiver) 在AndroidManifest.xml文件中注册一个广播接收器,指定接收BOOT_COMPLETED(开机完成)和PACKAGE_REPLACED(应用安装完成)等系统广播事件。 <receiver android:name=\…

    other 2023年10月14日
    00
  • mysql 直接拷贝data 目录下文件还原数据的实现

    MySQL直接拷贝data目录下文件还原数据的实现攻略 有时候,我们可能需要将MySQL数据库从一个服务器迁移到另一个服务器,或者需要还原已备份的数据。在这种情况下,直接拷贝MySQL的data目录下的文件是一种快速且方便的方法。下面是实现这一过程的详细攻略: 停止MySQL服务:首先,停止正在运行的MySQL服务,以确保数据文件不会被修改或覆盖。 备份原始…

    other 2023年10月18日
    00
  • 比较详细的MySQL字段类型说明

    MySQL是一个常用的关系型数据库管理系统,提供了丰富的字段类型用于描述数据的结构和特征。本文将详细讲解MySQL的各种字段类型,包括数据类型、存储范围、字符集等方面,以便读者选择合适的数据类型。 整数类型 MySQL中常见的整数类型包括:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。它们各自支持的整数范围不同,下面是各种类型的…

    other 2023年6月25日
    00
  • SAP ERP常用表

    SAP ERP常用表的完整攻略 SAP ERP是一款企业资源计划软件,它包含了许多常用的表格,用于存储企业的各种数据。本文将介绍一些常用的SAP ERP表格,以及如何使用它们。 1. MARA表 MARA表是SAP ERP中的一个常用表格,用于存储物料主数据。它包含了物料的基本信息,如物料号、描述、单位、重量、体积等。 示例1:查询物料主数据 我们可以使用S…

    other 2023年5月5日
    00
合作推广
合作推广
分享本页
返回顶部