温馨提示×

debian strings命令怎么使用

小樊
37
2026-09-04 00:10:19
栏目: 智能运维

strings 是 Debian / Linux 中一个非常常用的命令行工具,用来从一个二进制文件(或任意文件)中提取可打印的字符串。它常用于分析程序、排查问题、逆向工程等。

下面从 安装、基本用法、常用参数、示例 几个方面说明。


一、安装 strings

在 Debian / Ubuntu 上,strings 属于 binutils 包:

sudo apt update
sudo apt install binutils

安装后可直接使用:

strings --version

二、基本用法

1️⃣ 最基础用法

strings 文件名

示例:

strings /bin/ls

作用:列出 /bin/ls 中所有长度 ≥ 4 的可打印字符串。


2️⃣ 指定最小字符串长度

默认最小长度是 4,可以用 -n 修改:

strings -n 6 文件名

示例(只显示长度 ≥ 8 的字符串):

strings -n 8 program

3️⃣ 显示字符串在文件中的偏移地址

strings -t x 文件名   # 十六进制
strings -t d 文件名   # 十进制

示例:

strings -t x /bin/ls

输出示例:

1f3c usage: %s
1f50 invalid option

4️⃣ 只扫描特定区域(高级)

strings -e l 文件名   # 16-bit little endian
strings -e B 文件名   # 32-bit big endian

常见编码选项:

  • s:7-bit ASCII(默认)
  • S:8-bit
  • b:16-bit
  • l:32-bit little
  • B:32-bit big

5️⃣ 从标准输入读取

cat binary_file | strings

或结合其他命令:

objdump -s binary | strings

三、常见实用示例

✅ 查看程序中是否包含某个路径

strings program | grep "/etc/"

✅ 查找版本信息

strings program | grep -i version

✅ 分析未知二进制文件

file unknown_file
strings unknown_file | less

✅ 提取字符串并排序去重

strings program | sort | uniq

四、strings 输出的是什么?

  • 连续的可打印字符(字母、数字、符号)
  • 常用于:
    • 程序中的提示信息
    • 内置路径
    • 编译进去的常量
    • 调试信息(如果没 strip)

五、常见误区

strings 不能反编译
✅ 它只是“提取文本”

❌ 不一定能看到所有逻辑
✅ 只能看到“写死在文件里的字符串”


如果你有具体使用场景(比如分析某个程序、CTF、排查 bug、提取配置),可以告诉我,我可以给你更针对性的命令示例。

0