在 Ubuntu 上提取字符串(strings)通常指从二进制文件、固件、内存转储或任意文件中提取可打印的字符串,常用的是 strings 命令,也可以结合 grep、xxd、binwalk 等工具。下面按常见场景给你完整说明。
strings 命令strings filename
示例:
strings /bin/ls
strings -n 6 filename
strings -t x filename # 十六进制
strings -t d filename # 十进制
示例:
strings -t x binary.bin
strings -e l filename # 16-bit little-endian
strings -e b filename # 16-bit big-endian
strings -e L filename # 32-bit little-endian
strings /usr/bin/python3
常用于:
strings firmware.bin
结合过滤:
strings firmware.bin | grep -i password
strings mem.dump | less
grep 精准提取strings file | grep -E "http|https|ftp"
strings file | grep -E "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"
strings file | grep -E "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"
strings 命令sudo apt update
sudo apt install binutils
strings 的替代方法cat + grepcat file | tr -cs '[:print:]' '\n' | less
xxd + grepxxd file | grep ": 20"
binwalk(固件分析)sudo apt install binwalk
binwalk -e firmware.bin
strings binary | grep -i pass
strings binary | grep -E "https?://"
strings binary | grep main
strings 提取不到?-n 3)-e)如果你指的是:
可以告诉我具体文件类型或场景,我可以直接给你针对性的命令。