温馨提示×

linux strings参数有哪些用法

小樊
42
2026-09-23 18:42:02
栏目: 智能运维

strings 是 Linux 下常用的命令,用于从二进制文件、可执行文件或其他非文本文件中提取可打印字符串(通常是 ASCII 或 Unicode 字符串)。下面是常用参数和典型用法说明。


一、基本用法

strings file

从 file 中提取长度 ≥ 4 的可打印字符串。


二、常用参数详解

1. -n / --bytes=:指定最小字符串长度

strings -n 6 file

只显示长度 ≥ 6 的字符串(默认是 4)。


2. -a / --all:扫描整个文件

strings -a file

默认可能只扫描数据段,-a 会扫描整个文件(包括代码段)。


3. -f / --print-file-name:显示文件名

strings -f file

输出格式:

file: string_content

常用于多个文件一起查。


4. -e / --encoding=:指定字符编码

可选值:

  • s:7-bit 字符串(默认)
  • S:16-bit 字符串
  • b:32-bit 字符串
  • l:64-bit 字符串(little endian)
  • B / L:大端 / 小端

示例(查找 UTF-16 字符串):

strings -e S file

5. -t / --radix=:显示偏移地址

可选:

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

输出:

1a2f    some_string

6. -o:等价于 -t o(旧参数)

strings -o file

7. --:表示参数结束

strings -- -file

用于处理以 - 开头的文件名。


三、常见组合示例

1. 查看可执行文件中字符串

strings /bin/ls

2. 查找可能的关键字(如 password)

strings -a binary | grep -i password

3. 查看字符串及其地址

strings -t x -n 6 binary

4. 多个文件同时查

strings -f *.so

5. 分析 Windows / Unicode 程序

strings -e S program.exe

四、使用场景

  • 逆向分析
  • 查硬编码密码、路径、URL
  • 分析 core dump 或固件
  • 快速了解未知二进制文件内容

如果你愿意,我也可以:

  • 对比 strings 与 grep / hexdump
  • 给一个实战分析示例
  • 解释某个参数在你具体场景中的用法

0 踩