温馨提示×

debian strings命令怎么用

小樊
38
2026-10-21 16:00:14
栏目: 智能运维

strings 是 Debian/Ubuntu 等 Linux 系统中一个常用的命令行工具,通常来自 binutils 包。它的作用是从一个二进制文件(或任意文件)中提取可打印的字符串。


一、安装(通常已自带)

sudo apt update
sudo apt install binutils

二、基本用法

1️⃣ 基本提取字符串

strings file

从 file 中提取所有长度 ≥ 4 的可打印字符串(默认最小长度通常是 4)。

示例:

strings /bin/ls

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

strings -n 6 file

只显示长度 ≥ 6 的字符串。


3️⃣ 显示字符串在文件中的偏移地址

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

示例:

strings -t x /bin/ls

4️⃣ 扫描整个文件(不忽略某些段)

strings -a file

默认情况下 strings 可能只扫描某些段,-a 会扫描整个文件。


5️⃣ 从标准输入读取

cat file | strings

6️⃣ 结合 grep 使用(非常常见)

strings file | grep -i error

查找二进制中可能存在的错误字符串。


7️⃣ 查看 ELF 文件中的字符串

strings /usr/bin/python3

三、常见使用场景

✅ 分析二进制程序
✅ 查看程序中是否包含明文密码、路径、URL
✅ 逆向工程 / CTF
✅ 排查程序异常(如找不到某段日志)
✅ 确认某个库是否被静态链接


四、示例实战

查看程序中是否包含 “password”

strings app | grep password

查找所有 URL

strings app | grep http

五、常用参数速查

参数 说明
-n N 最小字符串长度
-a 扫描整个文件
-t x/d/o 显示偏移地址
-e 指定字符编码(如 s, l, b, B)
-f 显示文件名

如果你有具体使用场景(比如分析某个程序、CTF、查病毒、看库依赖),可以告诉我,我可以给你更针对性的命令示例。

0 踩