温馨提示×

debian strings命令参数有哪些

小樊
43
2026-09-07 04:38:23
栏目: 智能运维

strings 是 Debian/Ubuntu 等 Linux 系统中常用的命令行工具,通常来自 binutils 包,用于从二进制文件(可执行文件、库、核心转储等)中提取可打印的字符串。

下面是 strings 常用参数(选项) 的说明(基于 GNU strings):


一、基本用法

strings [选项] 文件...

二、常用参数说明

1. 最小字符串长度

-n <长度>

--bytes=<长度>

只显示长度不小于指定值的字符串。

示例:

strings -n 6 app.bin

2. 字符编码相关

显示所有字符(包括非可打印)

-e <编码>

常见取值:

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

示例:

strings -e l binary

3. 指定读取的节区(Section)

--section=<节名>

只从指定节中提取字符串(如 .rodata)。

示例:

strings --section=.rodata app

4. 文件格式相关

-a

--all

扫描整个文件,而不只是加载的数据段(默认行为可能已经类似)。


5. 输出格式控制

显示字符串地址

-t <格式>
  • o:八进制
  • x:十六进制
  • d:十进制

示例:

strings -tx app

显示文件名

-f

--print-file-name

在每行字符串前显示文件名。


6. 只显示匹配模式的字符串

--include-all-whitespace

(较少用)

strings | grep xxx

通常配合管道使用。


7. 帮助与版本

-h

--help
-V

--version

三、常见实用示例

查看二进制中的字符串

strings /bin/ls

查找可能的路径或 URL

strings app | grep -E 'https?://|/etc/|/usr/'

显示地址和字符串

strings -tx -n 8 app

四、补充说明

  • strings 常用于:
    • 分析恶意软件
    • 查看程序中的提示信息
    • 逆向工程初探
  • Debian 中安装:
sudo apt install binutils

如果你愿意,我也可以帮你 对比 strings 与 grep / objdump 的使用场景,或者给你 实际分析某个二进制文件的例子

0