温馨提示×

怎样过滤ubuntu strings输出

小樊
41
2026-09-15 15:27:18
栏目: 智能运维

在 Ubuntu(或其他 Linux)里,strings 命令用于从二进制文件中提取可打印字符串。常见“过滤”需求一般有几种,下面按场景给你总结几种常用方法。


1. 按关键词过滤(最常用)

grep 配合 strings

strings file | grep "keyword"

忽略大小写:

strings file | grep -i "keyword"

只显示包含多个关键词之一:

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

2. 排除某些字符串

排除包含 ubuntu 的行:

strings file | grep -v "ubuntu"

排除多个关键词:

strings file | grep -v -E "debug|test|temp"

3. 限制字符串最小长度

-n 参数可只显示长度 ≥ N 的字符串:

strings -n 8 file

结合 grep:

strings -n 6 file | grep "version"

4. 只查看特定段(section)

查看某个 ELF 段(如 .rodata):

strings -e l file

或配合 objdump

objdump -s -j .rodata file

5. 按地址过滤(显示地址)

-a-t 显示偏移/地址:

strings -t x file

然后过滤地址范围(例如 0x1000 以后):

strings -t x file | awk '$1 > "1000"'

6. 去重并排序

strings file | sort -u

7. 从多个文件中过滤

strings *.bin | grep "config"

实用示例

提取二进制中所有 URL:

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

提取版本信息:

strings file | grep -i "version"

如果你有具体场景(比如:分析病毒、逆向、日志、ELF、固件),可以告诉我,我给你更精确的命令。

0