温馨提示×

debian strings如何配合grep

小樊
44
2026-10-15 19:53:15
栏目: 智能运维

在 Debian(以及其它 Linux 发行版)里,strings 和 grep 经常被组合使用,用来从二进制文件、core 文件、固件、日志中提取“可读字符串”并过滤感兴趣的内容。

下面按常见场景给你讲一下 strings + grep 的配合方式。


一、基本用法

1. 从二进制文件中提取字符串并搜索关键字

strings /bin/ls | grep passwd

含义:

  • strings:提取 /bin/ls 中的可打印字符串
  • grep:只显示包含 passwd 的行

二、常用组合方式

1. 忽略大小写

strings binary | grep -i error

2. 显示行号(方便定位)

strings -n 6 binary | grep -n "version"
  • -n 6:只显示长度 ≥ 6 的字符串(过滤噪音)
  • -n in grep:显示行号

3. 搜索多个关键字(OR)

strings app | grep -E "error|warning|fail"

4. 必须同时包含多个关键字(AND)

strings app | grep "user" | grep "admin"

5. 使用正则匹配

strings firmware.bin | grep -E "https?://[a-z0-9.]+"

三、strings 常用参数(配合 grep 更好用)

1. 指定最小字符串长度

strings -n 8 binary | grep password

2. 指定字符编码

strings -e l binary   # 16-bit little endian
strings -e b binary   # 16-bit big endian

3. 从特定偏移开始

strings -t x binary | grep "config"
  • -t x:显示十六进制偏移(非常适合逆向)

四、实战示例

示例 1:分析未知程序

strings unknown_bin | grep -i "http"
strings unknown_bin | grep -E "/etc|/var|/home"

示例 2:提取可能的敏感信息

strings app | grep -E "password|token|secret|key"

示例 3:从 core dump 里找线索

strings core | grep -i "segmentation"

示例 4:配合管道做快速逆向

strings -n 6 -t x binary | grep -i "license"

五、进阶(可选)

1. 结合 less

strings binary | grep -i config | less

2. 输出到文件

strings binary | grep -i url > result.txt

如果你有具体场景(比如:

  • 分析 ELF
  • 固件提取
  • 恶意样本
  • 找配置项
  • Debian 包排查)

可以告诉我,我可以给你更精准的 strings + grep 命令。

0 踩