温馨提示×

怎样用linux strings找网址

小樊
43
2026-10-23 00:11:00
栏目: 智能运维

在 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./_-]+"

二、结合域名特征找网址

1️⃣ 找包含域名的字符串

strings file | grep -E "\.[a-z]{2,6}"

2️⃣ 只找 http/https

strings file | grep -E "http://|https://"

3️⃣ 找 IP + 端口(常见于 C2)

strings file | grep -E "https?://[0-9]{1,3}(\.[0-9]{1,3}){3}(:[0-9]+)?"

三、从进程内存中找网址(高级)

1️⃣ 找进程 PID

ps aux | grep 程序名

2️⃣ 导出内存字符串

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
  • 支持 Unicode(某些恶意样本用宽字符)

六、常见误报 & 注意

  • 字符串可能是拼接的
  • 有些 URL 被 base64 / 加密
  • 有些只存域名,没有 http://

可以配合:

base64 -d
xxd
grep -i domain

七、一句话总结

最常用命令:

strings 文件 | grep -E "https?://"

如果你是:

  • 逆向分析
  • 取证
  • 查恶意软件
  • 分析 App / 固件

可以告诉我具体场景,我可以给你更精准的命令。

0 踩