温馨提示×

如何用linux strings查字符串

小樊
43
2026-09-02 10:31:59
栏目: 智能运维

在 Linux 里,strings 命令用来从二进制文件(或任意文件)中提取可打印的字符串,常用于分析程序、日志、取证等。

下面按“从入门到常用”给你讲。


一、基本用法

strings 文件名

示例:

strings a.out

会输出文件中所有长度 ≥ 4 的可打印字符串(默认最小长度 4)。


二、只看你关心的字符串(结合 grep)

strings a.out | grep password

查找包含 password 的字符串。


三、常用参数

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

strings -n 6 a.out

只显示长度 ≥ 6 的字符串(过滤噪音)。


2️⃣ 显示字符串在文件中的偏移

strings -t x a.out

以十六进制显示偏移(常用)。

其他格式:

strings -t d a.out   # 十进制
strings -t o a.out   # 八进制

3️⃣ 指定字符编码

strings -e l a.out   # 16-bit little endian
strings -e b a.out   # 16-bit big endian
strings -e s a.out   # 7-bit ASCII(默认)

4️⃣ 从某个偏移开始

strings -f a.out

显示文件名 + 字符串(多个文件时很有用)。

strings file1 file2

四、实战示例

查看程序里有没有硬编码账号密码

strings app | grep -i -E "user|pass|token"

分析可疑文件

strings suspicious.bin | less

查找版本信息

strings a.out | grep -i version

五、和 hexdump / objdump 的区别

命令 用途
strings 快速看“人能读的字符串”
hexdump 看原始二进制
objdump 反汇编 / 段信息

六、小技巧

✅ 结合管道更强大:

strings a.out | grep -C 2 "main"

✅ 分析 ELF:

strings /bin/ls

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

  • 你是要 逆向 / 取证 / 排查程序 / CTF
  • 还是 在某个具体文件类型上用

我可以给你更针对性的命令。

0