strings 是 Linux 系统中一个简单但强大的工具,主要用于从二进制文件中提取可打印的字符串。它在系统管理、安全分析和故障排查中有着广泛的应用。以下是其核心作用及使用场景:
.so)、固件等二进制文件中提取人类可读的字符串(如 ASCII 或 UTF-8 编码的文本)。bash
strings /bin/ls # 查看`ls`命令中的可打印字符串bash
strings /usr/bin/nginx | grep "version"bash
strings /opt/app/server | grep "\.so"bash
strings malware.bin | grep -E "http|ftp|192.168"bash
strings backup.tar.gz | grep -i "password"bash
strings -a -t x crackme.exe # 显示字符串及偏移地址(16进制)bash
strings /var/crash/core.1234 > crash_strings.txt| 参数 | 作用 |
|---|---|
-a |
扫描整个文件(默认跳过非文本段) |
-t x/o/d |
显示字符串偏移量(16/8/10进制) |
-n <长度> |
仅显示长度≥<长度>的字符串 |
-e <编码> |
指定编码(如 l=16位小端,b=16位大端) |
grep 过滤关键信息。sudo 权限。objdump、readelf、hexdump、radare2。grep -a(直接搜索二进制文件中的字符串)。通过灵活使用 strings,系统管理员可以快速洞察二进制文件的内部信息,高效完成调试或安全审计任务。