温馨提示×

debian strings有哪些常见参数

小樊
45
2026-09-04 00:23:18
栏目: 智能运维

在 Debian(及一般 Linux 系统)中,strings 命令通常来自 binutils 包,用于从二进制文件(可执行文件、库、core dump 等)中提取可打印字符串。

下面是 strings 常见参数及说明(以 GNU strings 为主,Debian 默认即此实现):


一、常用基础参数

-a / --all

扫描整个文件,而不是只扫描可读段(默认可能只扫描某些段)。

strings -a /bin/ls

-n <长度> / --bytes=<长度>

只显示长度 ≥ 指定值的字符串(默认通常是 4)。

strings -n 6 binaryfile

-f / --print-file-name

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

strings -f /bin/*

-e <编码> / --encoding=<编码>

指定字符编码:

  • s:7-bit ASCII
  • S:8-bit ASCII
  • b:16-bit Big Endian
  • l:16-bit Little Endian
  • B / L:32-bit

示例:

strings -e l binaryfile

二、与偏移 / 格式相关

-t <格式> / --radix=<格式>

在字符串前显示偏移量:

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

-T <BFDNAME> / --target=<BFDNAME>

指定目标文件格式(一般很少用,除非特殊架构)。


三、与对象文件相关

---

表示后面不再是参数(用于文件名以 - 开头)。

- (从标准输入读取)

cat binary | strings -

四、不常用但有用的

--help

显示帮助信息。

--version

显示版本。


五、典型示例

# 显示所有字符串
strings -a program

# 显示长度大于等于 8 的字符串
strings -n 8 program

# 显示字符串及其十六进制偏移
strings -t x -a program

# 扫描多个文件并显示文件名
strings -f /usr/bin/*

如果你愿意,我也可以:

  • 对比 stringsgrep / xxd 的用途
  • 说明在 Debian packaging / 逆向 / 取证 中的实际使用场景
  • 列出 strings 在某些 Debian 版本中的行为差异

你是用于 系统排查、逆向分析,还是 Debian 打包

0