本文最后更新于128 天前,其中的信息可能已经过时,如有错误请发送邮件到184874483@qq.com
一、抓包工具联动
核心思想:构建一个“代理链”,让客户端的网络流量依次流经多个安全工具,每个工具都能对流量进行分析、扫描、修改或记录,从而发挥各自的优势。
1. Burp -> Yakit
这是最简单的单层转发,目的是让 BurpSuite 的流量也进入 Yakit 进行被动扫描或记录。
- 配置流程:
- Burp:启动并监听
127.0.0.1:8080。这是整个链路的入口。 - Yakit:启动并监听
127.0.0.1:8083。这是链路的中间节点。 - Burp 设置上游代理:在 Burp 的
User options -> Connections -> Upstream Proxy Servers中,添加一条规则,将目标范围设置为所有(或特定域名),代理地址设置为127.0.0.1:8083。这意味着 Burp 在将请求发往真实目标之前,会先转发给 Yakit。 - 系统代理设置:将浏览器或系统的全局代理设置为
127.0.0.1:8080。
- Burp:启动并监听
- 流量走向:
浏览器/App->系统代理 (127.0.0.1:8080)-> Burp (分析、修改) ->上游代理 (127.0.0.1:8083)-> Yakit (被动扫描、记录) ->真实目标服务器 - 意义:在利用 Burp 进行手动测试或主动扫描的同时,Yakit 可以后台进行漏洞感知、资产发现等。
2. Yakit -> Burp
这种方式将 Yakit 作为流量入口,通常用于“MITM 服务器(如 Yakit)劫持的流量,再交给专业的测试工具(Burp)进行深度分析”。
- 配置流程:
- Yakit:启动并监听
127.0.0.1:8083。这是链路的入口。 - Yakit 设置下游代理:在 Yakit 的 “MITM 服务器” 设置中,找到“下游代理”或“转发代理”设置,填入
127.0.0.1:8080。这意味着 Yakit 收到的所有请求,都会转发给 Burp。 - Burp:启动并监听
127.0.0.1:8080。这是链路的中间节点。 - 系统代理设置:将浏览器或系统的全局代理设置为
127.0.0.1:8083。
- Yakit:启动并监听
- 流量走向:
浏览器/App->系统代理 (127.0.0.1:8083)-> Yakit (劫持、初步过滤) ->下游代理 (127.0.0.1:8080)-> Burp (深度手工测试、主动扫描) ->真实目标服务器 - 意义:适合先用 Yakit 进行流量劫持和监控,发现感兴趣的目标或请求时,可以无缝地转到 Burp 中进行更复杂的手动利用(如 SQL 注入、逻辑漏洞测试)。
3. Burp -> Yakit -> Reqable
这是一个三层代理链,集成了三个工具的优势。
- 配置流程:
- Burp:监听
127.0.0.1:8080。 - Yakit:监听
127.0.0.1:8083。 - Burp 设置上游代理:指向 Yakit (
127.0.0.1:8083)。 - Yakit 设置下游代理:指向 Reqable (
127.0.0.1:9000)。 - Reqable:启动并监听
127.0.0.1:9000。 - 系统代理设置:设置为 Burp 的入口
127.0.0.1:8080。
- Burp:监听
- 流量走向:
客户端->127.0.0.1:8080 (Burp)->127.0.0.1:8083 (Yakit)->127.0.0.1:9000 (Reqable)->目标服务器 - 意义:
- Burp:进行强大的主动/被动扫描和复杂的手动利用。
- Yakit:进行资产识别、漏洞感知和特定的 PoC 检测。
- Reqable:作为链路的最后一环,提供高性能的转发,并可利用其现代、易用的界面进行请求重放、对比和调试。
- 总结:实现了从专业测试(Burp)到综合平台(Yakit)再到高效调试器(Reqable)的完整工作流覆盖。
二、科学上网抓包 (Clash + Burp/Yakit)
核心痛点:当目标网站(如某些海外漏洞测试平台、特定地区服务)只有通过代理(如 Clash)才能访问时,如何同时进行抓包和测试。
解决方案原理:将抓包工具(Burp/Yakit)置于代理工具(Clash)的“上游”或“下游”,让流量“先解密,再分析”或“先分析,再代理”。
模式一:Clash 作为上游代理 (推荐)
思想:让 Burp/Yakit 的流量最终通过 Clash 的科学上网线路出去。
- 配置 (以 Burp 为例):
- Clash:正常运行,假设其 HTTP 代理端口为
7890。 - Burp:监听
127.0.0.1:8080。 - Burp 设置上游代理:在
Upstream Proxy Servers中,将所有流量(或特定国外目标)指向 Clash (127.0.0.1:7890)。 - 系统代理设置:指向 Burp (
127.0.0.1:8080)。 - 关键一步:由于 Clash 的 CA 证书不在 Burp 的受信列表,你需要在 Burp 中导入 Clash 的根证书(或在系统/浏览器中信任它),否则 Burp 无法解密经过 Clash 的 HTTPS 流量。
- Clash:正常运行,假设其 HTTP 代理端口为
- 流量走向:
浏览器->127.0.0.1:8080 (Burp)->127.0.0.1:7890 (Clash,走代理线路)->目标网站 - 优点:配置直接,Burp 能完全控制请求。
模式二:Burp/Yakit 作为上游代理 (更常用)
思想:让所有流量先经过测试工具,再由测试工具决定哪些走 Clash 代理。
- 配置:
- Burp:监听
127.0.0.1:8080。 - 系统代理设置:指向 Burp (
127.0.0.1:8080)。 - 在 Burp 中配置作用域和代理:
- 在
Target -> Scope中设置目标域名为作用域。 - 在
User options -> Connections -> Platform Authentication或Upstream Proxy中,为在作用域内的目标设置代理为127.0.0.1:7890(Clash)。
- 在
- 安装 Burp CA 证书:在浏览器/系统中安装 Burp 的 CA 证书,以解密 HTTPS。
- Burp:监听
- 流量走向 (对于在作用域内的目标):
浏览器->127.0.0.1:8080 (Burp,解密HTTPS)->127.0.0.1:7890 (Clash,走代理线路)->目标网站 - 优点:更灵活,可以精确控制哪些流量走代理,哪些直连。且 Burp 能正常解密 HTTPS(因为它是第一环)。
三、全局协议抓包 (Wireshark / 科来网络分析系统)
与前两者的本质区别:
- Burp/Yakit/Reqable 是 应用层代理。它们工作在 HTTP/HTTPS 层面,能看到已被解密的、结构化的应用数据(请求头、参数、响应体),但只能捕获配置了代理的应用程序的流量。
- Wireshark/科来 是 网络层抓包工具。它们工作在更底层(网卡驱动层),能捕获流经本机网卡的所有原始网络数据包(以太网帧、IP包、TCP/UDP段等),包括不经过代理的流量(如系统更新、其他后台进程、ARP、ICMP等),但无法直接解密 HTTPS(除非有密钥)。
Wireshark/科来的核心用途:
- 抓取所有协议:不仅限于 HTTP,还包括 FTP, SMTP, DNS, SSH, 游戏协议, 自定义TCP/UDP协议等。
- 分析网络问题:诊断连接失败、延迟高、丢包、网络环路等问题。
- 解密加密流量:如果拥有服务器的私钥(RSA Key),可以配置 Wireshark 解密 TLS/SSL 流量。
- 捕获握手过程:能看到完整的 TCP 三次握手、TLS 协商过程,这对于分析一些复杂的网络故障或安全漏洞(如降级攻击)至关重要。
- 无感知抓包:可以在网关或通过端口镜像等方式,捕获局域网内其他设备的流量(需合法授权)。
简单对比:
| 特性 | 代理类工具 (Burp, Yakit) | 全局抓包工具 (Wireshark, 科来) |
|---|---|---|
| 工作层次 | 应用层 (HTTP/HTTPS) | 网络层 (所有协议) |
| 捕获范围 | 仅配置了代理的流量 | 本机网卡所有流量 |
| 数据可见性 | 已解密、结构化的应用数据 | 原始二进制数据包 |
| HTTPS 解密 | 通过安装 CA 证书实现 | 需要服务器私钥,困难 |
| 主要用途 | Web 安全测试、调试 | 网络故障诊断、协议分析、全面流量监控 |

