温馨提示×

linux strings参数怎么选

小樊
43
2026-09-20 18:55:23
栏目: 智能运维

strings 是 Linux 下用来提取文件中的可打印字符串的命令,常见于分析二进制文件、日志、core dump 等。下面按常用场景给你讲参数怎么选。


一、最常用参数(必会)

1️⃣ 基本用法

strings file

提取文件中长度 ≥ 4 的可打印字符(默认最小长度 4)。


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

strings -n 6 file

✅ 适合:

  • 过滤短噪声
  • 查找用户名、路径、关键字

3️⃣ 只搜索某一段(偏移) -e / -t

显示偏移地址 -t

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

✅ 适合:

  • 配合 gdb / objdump 定位字符串

4️⃣ 指定字符编码 -e

strings -e l   # 16-bit little endian
strings -e b   # 16-bit big endian
strings -e s   # 8-bit single byte(默认)

✅ 适合:

  • 分析 Windows / 嵌入式 / UTF-16 字符串

二、进阶参数(实战常用)

5️⃣ 只扫描某段范围

strings -n 5 --radix=x file

或用 dd + strings

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

6️⃣ 从 stdin 读

cat file | strings

7️⃣ 配合 grep(最常见用法)

strings binary | grep -i password
strings binary | grep -E "http|ftp"

8️⃣ 分析 ELF 符号 & 段

strings -a binary

-a / --all:扫描整个文件(不只数据段)

✅ 适合:

  • 逆向分析
  • CTF
  • 恶意样本

三、典型场景推荐参数

场景 推荐命令
找敏感信息 strings -n 6 file | grep -i pass
逆向分析 strings -a -t x file
Windows 程序 strings -e l file
定位字符串地址 strings -t x -n 8 file
core dump strings core | less

四、注意事项

  • strings 只能看静态字符串
  • 加密 / 动态生成的内容看不到
  • 不能替代反汇编(objdump / gdb / radare2)

如果你能说下具体用途(比如:逆向 / CTF / 排查日志 / 分析病毒),我可以直接给你最优命令组合

0