温馨提示×

linux strings有什么作用

小樊
44
2026-09-14 14:33:28
栏目: 智能运维

在 Linux 中,strings 是一个命令行工具,主要作用是:从一个文件(尤其是二进制文件)中提取可打印的字符串


一、基本作用

strings 会扫描文件中的内容,把连续的、可打印的字符序列(通常是 ASCII 或 Unicode 文本)打印出来,忽略机器码、数据段等非文本内容。

常用于:

  • 查看二进制文件中包含的文本
  • 分析程序、库、固件、镜像等
  • 排查程序里写死的路径、URL、错误信息
  • 安全分析 / 逆向工程

二、典型使用场景

1️⃣ 查看可执行文件中的字符串

strings /bin/ls

可能看到:

  • 错误信息
  • 使用说明
  • 文件路径
  • 编译信息

2️⃣ 分析未知二进制文件

strings unknown_file

快速判断:

  • 是不是 ELF / PE
  • 是否包含可读文本
  • 是否有敏感信息

3️⃣ 查找特定内容

strings app | grep password
strings app | grep http

常用于:

  • 找硬编码密码
  • 找 API 地址
  • 找配置项

4️⃣ 查看核心转储 / 固件

strings core.dump
strings firmware.bin

三、常用参数

参数 作用
-n 指定最小字符串长度(默认 4)
-a 扫描整个文件(默认只扫部分)
-f 显示文件名
-e 指定编码(如 s=UTF-16)
-t x 显示字符串偏移(十六进制)

示例:

strings -n 6 binary
strings -f *
strings -t x binary

四、适合哪些文件

✅ 可执行文件
.so 动态库
✅ 固件
✅ 镜像
✅ 核心转储
❌ 纯加密数据(通常无意义)


五、总结一句话

Linux 的 strings 就是“从非文本文件中抠出人类能看懂的文字”的工具。

如果你是:

  • 开发调试
  • 安全分析
  • 逆向
  • CTF

strings 通常都是第一步。

需要我举个实际例子或配合 objdump / gdb 讲吗?

0