温馨提示×

如何用linux strings找路径

小樊
42
2026-10-11 08:43:58
栏目: 智能运维

在 Linux 里,strings 命令本身不是专门用来“找路径”的工具,但它可以从二进制文件、core 文件、日志、内存镜像等里面提取可读字符串,而路径通常就是一些可读字符串(如 /usr/bin/xxx、/etc/passwd 等)。

下面按常见场景说明如何用 strings 找路径。


一、基本用法:从文件中找路径

strings 文件名 | grep '/'

示例:

strings /bin/ls | grep '/'

这会列出 ls 二进制里包含 / 的字符串,通常就是路径或配置相关字符串。


二、只找“像路径”的字符串(更精确)

1️⃣ 匹配绝对路径

strings file | grep -E '^/'

2️⃣ 匹配常见目录

strings file | grep -E '/(etc|usr|var|home|bin|lib|tmp)/'

3️⃣ 匹配文件路径(含文件名)

strings file | grep -E '/[a-zA-Z0-9_./-]+'

三、从进程内存中找路径(进阶)

1️⃣ 从正在运行的进程

strings /proc/<PID>/maps
strings /proc/<PID>/environ

2️⃣ 从进程内存

cat /proc/<PID>/mem | strings | grep '/'

(需要权限,可能要用 gdb 或 root)


四、从 core dump 或内存镜像找路径

strings core | grep '/'

或:

strings memory.img | grep -E '/usr/|/etc/|/home/'

五、结合其他工具更高效

配合 file 看类型

file binary

配合 grep + sort + uniq

strings binary | grep '/' | sort | uniq

配合 xargs 验证路径是否存在

strings binary | grep '^/' | sort -u | xargs ls -l 2>/dev/null

六、常见使用场景总结

场景 命令示例
分析木马/后门 `strings malware
找程序写死路径 `strings app
取证分析 `strings mem.dump
逆向初学者 `strings binary

七、注意点(很重要)

  • strings 只能看到明文路径
  • 加密、压缩、混淆的路径看不到
  • 路径可能是:
    • 拼接出来的(/var/log/ + app.log)
    • 运行时生成的

如果你能告诉我:

  • 是 二进制 / 日志 / 内存 / 进程?
  • 想找 配置文件路径 / 恶意路径 / 程序依赖路径?

我可以给你更精准的命令。

0 踩