在 Debian(以及一般的 Linux 系统)中,strings 是一个命令行工具,用来从二进制文件或非文本文件中提取可打印的字符串。它常用于分析程序、排查问题或做安全/逆向分析。
下面按“能查什么信息”来分类说明:
例如:
strings /bin/ls
常用于判断程序:
/etc/passwd
/var/log/syslog
/usr/share/xxx
strings malware.bin | grep -i "http"
虽然 strings 不解析符号表,但能看到:
很多程序会包含:
strings /usr/bin/python3 | grep -i version
可能发现:
file unknown_bin
strings unknown_bin | head
strings /usr/sbin/nginx | grep -i config
strings -n 6 file # 只显示长度≥6的字符串
strings -a file # 扫描整个文件
strings -e l file # 16位小端 Unicode
strings -t x file # 显示字符串偏移(十六进制)
❌ 加密/压缩内容
❌ 运行时动态生成的字符串
❌ 已 strip 掉的符号名(但字符串还在)
❌ 结构化数据含义(只是“文本片段”)
Debian 上的
strings可以查看二进制文件中“人能看懂的文字信息”,包括错误提示、路径、URL、版本、配置名等,是排查、审计和逆向分析的基础工具。
如果你有具体场景(比如查某个 Debian 包、分析恶意程序、看某个 so 文件),我可以给你更针对性的命令。