strings
是一个非常有用的Linux命令,用于从二进制文件中提取可打印的字符串。它在文本处理、逆向工程和数据分析中非常有用。
strings 文件名
这会显示文件中所有长度至少为4个字符的可打印字符串序列。
strings -n 长度 文件名
例如,只显示至少8个字符的字符串:
strings -n 8 program.bin
strings -e 编码 文件名
支持的编码:
- s
- 7位ASCII
- S
- 8位ASCII
- b
- 16位大端序
- l
- 16位小端序
- B
- 32位大端序
- L
- 32位小端序
strings -t d 文件名 # 十进制偏移量
strings -t x 文件名 # 十六进制偏移量
strings -t o 文件名 # 八进制偏移量
strings -a 文件名 # 扫描整个文件(默认)
strings -d 文件名 # 仅扫描数据段
strings /bin/ls
strings suspicious_file | grep -i "http"
strings database.bin | grep "customer"
strings program.exe > extracted_strings.txt
strings /proc/kcore | less
strings -n 8 file.bin | od -c
find /path -type f -exec strings {} + | sort | uniq -c | sort -nr
tcpdump -i eth0 -w capture.pcap
strings capture.pcap
strings
命令默认只扫描初始化和加载段,使用 -a
选项扫描整个文件less
或重定向到文件strings
是一个简单但功能强大的工具,在处理未知文件格式或分析二进制数据时特别有用。