在 Linux 下,strings 命令可以从二进制文件、内存镜像、日志、数据包文件等中提取“可打印字符串”,常用来找藏起来的网址(URL)。下面按常见场景说明。
strings 文件名 | grep -E "https?://"
示例:
strings app.bin | grep -E "https?://"
如果你只想看 .com、.cn 等:
strings app.bin | grep -E "https?://[a-zA-Z0-9./_-]+"
strings file | grep -E "\.[a-z]{2,6}"
strings file | grep -E "http://|https://"
strings file | grep -E "https?://[0-9]{1,3}(\.[0-9]{1,3}){3}(:[0-9]+)?"
ps aux | grep 程序名
strings /proc/PID/environ
strings /proc/PID/maps
或:
cat /proc/PID/mem > mem.dump
strings mem.dump | grep http
(需要权限,root 更稳)
如果你有 .pcap 文件:
strings capture.pcap | grep http
或用 tshark 更准:
tshark -r capture.pcap -Y http.request -T fields -e http.host
strings -n 6 file
-n 6:只显示长度 ≥6 的字符串,减少噪音strings -e l file
http://可以配合:
base64 -d
xxd
grep -i domain
最常用命令:
strings 文件 | grep -E "https?://"
如果你是:
可以告诉我具体场景,我可以给你更精准的命令。