在 Linux 里,strings 命令通常用来从二进制文件或数据中抽取可打印的字符串。如果你说的“过滤”是指按条件筛选、排除、只保留某些内容,常见做法如下:
strings file
只显示 长度 ≥ n 的字符串:
strings -n 6 file
只显示长度 ≥ 6 的字符串
grep 过滤内容strings file | grep "main"
strings file | grep -i "error"
strings file | grep -E "[0-9]{4}-[0-9]{2}-[0-9]{2}"
strings file | grep -v "debug"
strings file | grep "^http"
strings file | grep "\.so$"
strings file | sort -u
strings -t x file # 显示字符串偏移(十六进制)
strings -t d file # 显示字符串偏移(十进制)
strings -e l file # little-endian UTF-16
strings -e b file # big-endian UTF-16
strings binary | grep -E "https?://"
strings dump.bin | grep -i "password"
strings file | grep -E "(shell|exec|system|/bin/sh)"
❌ strings 不能解密
❌ 只能提取已存在的数据
✅ 适合逆向、取证、排查配置、分析二进制
如果你有具体场景(比如:
可以直接说,我可以给你更精确的命令。