位置:首页 > Shell > 如何用 strings 命令提取特定字符串

如何用 strings 命令提取特定字符串

时间:2026-08-24  |  作者:穿越地图的猫  |  阅读:0

目录

  1. 为什么排查二进制文件时常用 strings
  2. 先用 strings 配合 grep 查找目标字符串
  3. 需要位置信息时,如何追加匹配序号
  4. 这类方法适合哪些场景

前言

排查二进制文件时,可先用 strings 提取可打印字符串,再用 grep 定位目标文本;若需标出匹配在提取结果中的序号,可追加 grep -nawk

为什么排查二进制文件时常用 strings

strings 用于从二进制文件提取连续可打印字符,适合先排查关键词、URL、路径、配置项等文本痕迹;常与 grep 配合,前者提取,后者筛选。

先用 strings 配合 grep 查找目标字符串

确认某字符串是否存在时,直接执行:

用流程方式展示 strings 提取可打印字符串,再由 grep 过滤关键词的命令处理链路
`strings | grep` 的基础排查先提取,再过滤,是 `strings` 排查二进制文本最常见的基础用法。
strings binary_file | grep "specific_string"

binary_file 为目标文件,specific_string 为待查文本。结果会输出所有匹配行。

需要位置信息时,如何追加匹配序号

如需标出匹配在提取结果中的序号,可用:

展示 grep -n 与 awk 如何把匹配结果整理为序号加内容的输出格式
`grep -n` 与 `awk` 的结果整在匹配结果较多时,给结果补上序号,后续回查会更高效。
strings binary_file | grep -n "specific_string" | awk -F ":" '{print $1, $2}'
  • grep -n 为匹配结果加行号;
  • awk -F ":" '{print $1, $2}' 输出行号和对应字符串。

这里得到的是提取结果中的行号,不是二进制字节偏移量。

这类方法适合哪些场景

  • 检查程序是否包含某个关键词;
  • 查找隐藏路径、域名、接口地址或配置信息;
  • 逆向分析、安全审计、故障定位中的文本线索收集。

快速上手时可以怎么选

只查是否存在,用:

strings binary_file | grep "specific_string"

还要便于回查,用:

strings binary_file | grep -n "specific_string" | awk -F ":" '{print $1, $2}'

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多