本章目录(8)On this page (8)
  1. 四个动作
  2. 过滤
  3. 追踪流
  4. 导出对象
  5. 一个完整的分析过程
  6. 从压缩包到下一跳
  7. TLS 解密
  8. 参考
文章Articles

Wireshark

抓包、过滤、追踪流、导出对象——流量分析里真正会用的四个动作。

更新Updated 2026.10.25securitytoolstraffic

四个动作

Wireshark 的面板有几十个,实际用到的就四个:抓、过滤、追踪流、导出对象。

过滤

http                          只看 HTTP
ip.addr == 10.1.2.3           指定 IP
tcp.port == 8080              指定端口
http.request.method == "POST" 只看 POST
http contains "password"      内容匹配
tls.handshake.extensions_server_name == "example.com"   看 SNI

最后一条在加密流量里特别有用。流量全加密,看不到内容,但 SNI 是明文的——目标访问了哪些域名,一览无余。

追踪流

右键任意一个包 → Follow → TCP Stream / HTTP Stream。

HTTP Stream 会把整个请求响应按顺序拼出来,比一个个包看快得多。找「恶意程序从哪下载的 payload」,基本都在这一步。

导出对象

File → Export Objects → HTTP。

所有通过 HTTP 传输的文件都列在这里,包括图片、压缩包、可执行文件。选中导出,直接拿到原始文件。

这一步是流量取证的核心。钓鱼邮件里的附件、木马下载的载荷,都能这么捞出来。

一个完整的分析过程

场景:给了个 pcap,问「恶意程序访问了哪个 URL,下载了什么」。

  1. http 过滤,看请求列表。按 Info 列排序,找可疑域名。
  2. 挑一个可疑请求,右键 Follow HTTP Stream。完整 URL 和响应头都在里面。
  3. File → Export Objects → HTTP,把响应里的压缩包导出来。
  4. 导出的文件改名成正确后缀(.zip、.exe),算 MD5,扔沙箱。
  5. 沙箱报告里会写后续行为:回连域名、释放的文件、注册表改动。

第三步有个坑:导出的文件没有后缀,Wireshark 只给一个 %5bContent-Type%5d 之类的名字。看响应头里的 Content-Type 和文件头判断类型。

从压缩包到下一跳

很多钓鱼样本是「压缩包 + 里面的 JS/VBS 脚本」的组合。

解压之后先别运行。用文本编辑器打开脚本,去掉注释再看:

正则:\/\*[\s\S]*\*\/|\/\/.*

去注释之后,脚本的可读性会好很多。末尾通常有个字符串拼接出来的域名——那就是下一跳的 C2。

TLS 解密

流量是 HTTPS 的话,需要密钥才能看内容。

两种方式:

  • 有 session key:Chrome/Firefox 可以设置 SSLKEYLOGFILE 环境变量,把密钥写出来,Wireshark 里配置 Pre-Master Secret log filename 就能解密。
  • 有服务器私钥:仅限 RSA 密钥交换,现在基本都是 ECDHE,用不了。

做应急响应的时候,第一条最实用——让终端在启动浏览器前设好环境变量,后续的流量就能解。

参考

  • 《Wireshark——抓包分析》,CSDN 存档
  • 《wireshark 还原文件(软件)方法》,公众号存档
  • 《流量特征分析——小王公司收到的钓鱼邮件》,公众号 LKing-Sec