温馨提示×

linux strings输出如何过滤

小樊
42
2026-07-07 04:23:59
栏目: 智能运维

strings 命令用于从二进制文件或数据中提取可打印字符串。如果你想要过滤输出,常见做法是用 管道 + 文本处理工具。下面按使用场景给你一些实用示例。


一、基本用法

strings file

二、按字符串长度过滤(最常用)

只显示长度 ≥ N 的字符串

strings -n 8 file

只输出 至少 8 个字符 的字符串


三、用 grep 过滤内容

1️⃣ 包含某个关键字

strings file | grep "password"

2️⃣ 忽略大小写

strings file | grep -i "error"

3️⃣ 使用正则

strings file | grep -E "https?://"

4️⃣ 排除某些内容

strings file | grep -v "debug"

四、按行数过滤

只看前 N 行

strings file | head -20

只看后 N 行

strings file | tail -20

五、去重

strings file | sort -u

六、从特定段(section)中提取字符串

查看 ELF 文件段

readelf -S file

只从 .rodata 提取

strings -e l file | grep xxx

或结合 objdump

objdump -s -j .rodata file

七、过滤中文字符串(UTF‑8)

strings -e l file | grep -P '[\x{4e00}-\x{9fff}]'

八、输出到文件(方便分析)

strings file | grep "token" > result.txt

九、常见组合示例

从二进制中找 URL

strings binary | grep -E "https?://"

找可能的密码或密钥

strings binary | grep -iE "pass|token|key|secret"

从内存 dump 中找字符串

strings core.dump | grep "admin"

十、实用技巧总结

需求 命令
过滤短字符串 strings -n 8
搜索关键字 strings file | grep keyword
去重 strings file | sort -u
找 URL strings file | grep http
输出到文件 > result.txt

如果你能说明 具体场景(比如:ELF 分析、固件、内存 dump、日志),我可以给你更精准的过滤方案。

0