温馨提示×

怎样使用linux strings命令

小樊
38
2026-10-05 10:10:11
栏目: 智能运维

strings 是 Linux 下一个非常实用的命令,用来从一个文件(尤其是二进制文件)中提取可打印的字符串。它常用于分析程序、排查问题、逆向分析、取证等场景。

下面从基本用法 → 常用参数 → 实际示例给你讲清楚。


一、strings 命令是什么?

strings 会扫描文件中的连续可打印字符(默认长度 ≥ 4),并输出出来。

适合用于:

  • 查看二进制里包含的字符串
  • 查找程序中的路径、URL、错误提示
  • 分析未知文件内容
  • 查看是否包含明文信息(如密码、配置)

二、基本用法

strings 文件名

示例

strings /bin/ls

输出类似:

Usage: ls [OPTION]... [FILE]...
GNU coreutils
http://www.gnu.org/

三、常用参数(重点)

1️⃣ 指定最小字符串长度(-n)

strings -n 6 file

只显示 长度 ≥ 6 的字符串(过滤掉短噪声)


2️⃣ 显示字符串在文件中的偏移地址(-t)

strings -t x file     # 十六进制
strings -t d file     # 十进制
strings -t o file     # 八进制

示例:

strings -t x /bin/ls

输出:

  1f3c /lib64/ld-linux-x86-64.so.2
  2050 Usage: ls

3️⃣ 从特定偏移开始读取(-e)

用于不同字符编码:

strings -e s file   # 7-bit ASCII
strings -e b file   # 16-bit big endian
strings -e l file   # 16-bit little endian
strings -e B file   # 32-bit big endian
strings -e L file   # 32-bit little endian

常用于 Unicode 字符串 提取。


4️⃣ 只扫描某一段数据(--radix + dd 配合)

dd if=file bs=1 skip=100 count=500 | strings

5️⃣ 从标准输入读取

cat binary_file | strings

四、实战示例

✅ 查看程序中是否包含明文密码

strings app | grep -i password

✅ 查找二进制中的 URL

strings binary | grep http

✅ 分析未知文件

file unknown.bin
strings unknown.bin

✅ 配合 grep 使用

strings /usr/bin/xxx | grep -i error

五、常见注意点

⚠️ strings 不会解析结构,只是“暴力扫描”
⚠️ 字符串可能被加密或压缩,提取不到
⚠️ 对 UTF-8 中文支持一般,中文可能显示不全


六、总结速查表

功能 命令
基本提取 strings file
最小长度 strings -n 6 file
显示偏移 strings -t x file
搜索关键字 strings file | grep xxx
Unicode strings -e l file

如果你愿意,可以告诉我:

  • 你是分析二进制 / 日志 / 固件 / 恶意样本
  • 或者是CTF / 运维 / 开发场景

我可以直接给你针对性的 strings 使用方案。

0 踩