温馨提示×

linux strings怎样搜字符串

小樊
38
2026-09-26 16:29:31
栏目: 智能运维

在 Linux 下,strings 命令用于从二进制文件、core 文件、设备或任意文件中提取可打印的字符串。常见用法如下:


一、基本用法

strings 文件名

示例:

strings a.out

二、在输出中搜索指定字符串(配合 grep)

strings 本身不能“只搜某个字符串”,通常是结合 grep 使用:

strings 文件 | grep "关键字"

示例:

strings app | grep "password"

忽略大小写:

strings app | grep -i "error"

三、只显示包含某字符串的行(直接过滤)

strings binary | grep -n "main"

-n 可显示行号。


四、指定最小字符串长度

默认长度通常是 4,可修改:

strings -n 6 binary

结合搜索:

strings -n 6 binary | grep "token"

五、在多个文件中搜索

strings * | grep "version"

或指定文件类型:

strings *.so | grep "API"

六、从设备中读取(如磁盘、内存)

strings /dev/sda | grep "secret"

(需要权限,谨慎使用)


七、常见实战场景

1️⃣ 查看程序中硬编码的字符串

strings program | grep "http"

2️⃣ 分析恶意样本

strings malware.bin | grep -E "cmd|exe|sh"

3️⃣ 查看动态库导出提示

strings libtest.so | grep "function"

八、strings 常用参数速查

参数 说明
-n 最小字符串长度
-a 扫描整个文件
-t x 显示偏移(十六进制)
-e 字符编码(如 s l b)

示例(带偏移):

strings -t x binary | grep "key"

如果你有具体场景(比如“在 ELF 里找密码”“在日志文件里搜字符串”),可以告诉我,我给你更精确的命令。

0 踩