以下是主要的抓包方法,从最简单到最专业:

使用 Chrome 内置开发者工具(最常用)
这是进行网页请求分析、调试的首选工具。
-
打开开发者工具:
- 快捷键:
F12或Ctrl + Shift + I(Windows/Linux) /Cmd + Option + I(Mac)。 - 右键菜单:在网页上右键点击,选择 “检查”。
- 菜单栏:点击浏览器右上角的三个点 > 更多工具 > 开发者工具。
- 快捷键:
-
切换到 Network(网络)面板:
- 在开发者工具顶部的选项卡中,点击 “Network”。
-
开始抓包:
- 打开 Network 面板后,它默认开始记录所有网络请求。
- 如果你需要捕获页面加载初期的请求,最好先清空现有记录(点击左上角的圆形清除按钮 🚫),然后刷新页面。
- 触发你想要分析的网页操作(如点击按钮、提交表单等),所有产生的网络请求都会在列表中实时显示。
-
分析请求:
- 列表视图:可以看到每个请求的 URL、状态码、类型、大小、耗时 等。
- 筛选:可以按请求类型筛选(XHR/JS/CSS/Img等)。
- 查看详情:点击任意一个请求,会在右侧打开详情面板,包含:
- Headers:请求头和响应头(包含 Cookie、User-Agent、认证信息等)。
- Preview:格式化后的响应内容预览(如 JSON 数据)。
- Response:原始的响应内容。
- Initiator:发起这个请求的调用栈。
- Timing:请求各个阶段的耗时分析。
-
常用操作:
- 保留日志:勾选 “Preserve log”,在页面跳转时不会清空之前的记录。
- 禁用缓存:勾选 “Disable cache”,确保每次都是向服务器请求新资源。
- 模拟慢速网络:在 “Throttling” 下拉菜单中,可以选择 “Fast 3G”、“Slow 3G” 等来模拟弱网环境。
- 复制请求:在请求上右键,可以选择 “Copy” -> “Copy as cURL”,可以轻松在命令行重放请求,或导入到 Postman 等工具。
使用 Chrome 扩展程序
适合需要更便捷操作或特定功能的场景。
- Talend API Tester:功能强大的 REST API 测试工具,可以捕获、重放、修改请求。
- HttpCanary (Web Edition) 或类似扩展:提供更简洁的请求拦截和查看界面。
注意:对于 HTTPS 请求,这些扩展也需要你信任其根证书才能解密内容,Chrome 自己的 DevTools 是直接集成在浏览器中的,无需额外操作即可查看所有请求。
使用专业抓包代理软件(功能最强大)
当需要捕获 浏览器之外 的流量(如手机 APP)、进行更复杂的请求修改/断点、或自动化测试时,需要使用独立代理工具。
-
原理:在电脑上运行一个代理服务器(如
localhost:8888),将 Chrome 的网络流量指向它,由该软件进行记录和转发。 -
设置步骤:
- 安装软件:下载并安装以下任一软件:
- Charles:老牌、强大、收费(可试用)。
- Fiddler Classic / Fiddler Everywhere:经典免费 (Windows),跨平台版收费。
- mitmproxy:开源、命令行驱动、功能强大。
- Proxyman (macOS):设计现代,口碑很好。
- 配置 Chrome 代理:
- 最简单的方法:安装这些软件提供的浏览器扩展(如 SwitchyOmega),或使用系统代理设置。
- 更常见的方法:在软件中启动代理(默认端口如 8888),然后在 Chrome 中安装 Proxy SwitchyOmega 扩展,新建情景模式指向
0.0.1:8888,并切换到此模式。
- 安装 CA 证书(关键步骤):为了解密 HTTPS 流量,你必须在电脑和手机上安装并信任该软件生成的 CA 根证书,软件通常会有明确的指引。
- 开始抓包:配置好后,Chrome 的所有流量都会经过代理软件,并清晰展示。
- 安装软件:下载并安装以下任一软件:
捕获本地或移动端流量
- 捕获 localhost 流量:DevTools 可以直接捕获,使用代理软件(如 Charles)也能轻松捕获。
- 捕获手机 APP 流量:
- 确保电脑和手机在同一局域网。
- 在电脑上运行代理软件(如 Charles),记下电脑的 IP 地址 和代理 端口。
- 在手机的 WiFi 设置中,配置 手动代理,指向电脑的 IP 和端口。
- 在手机浏览器访问
chls.pro/ssl(Charles)或类似地址,下载并安装该软件的 CA 证书,并在系统设置中完全信任它(iOS 在“关于本机-证书信任设置”中开启)。 - 手机的所有网络流量都会经过电脑的代理软件,实现抓包。
总结与建议
| 场景 | 推荐工具 | 优点 |
|---|---|---|
| 日常网页前端调试、分析 API 请求 | Chrome DevTools (Network面板) | 无需安装、功能全面、深度集成。 |
| 快速查看、简单测试 API | Talend API Tester 等扩展 | 界面友好,便于构造和发送请求。 |
| 需要修改请求/响应、设置断点、模拟数据 | Charles / Fiddler / Proxyman | 功能最专业,支持请求拦截和修改。 |
| 需要捕获手机 APP 或全局流量 | Charles / Fiddler + 手机代理 | 唯一能捕获非浏览器流量的可靠方法。 |
| 喜欢命令行和自动化 | mitmproxy | 脚本化能力强,适合高级用户和开发。 |
对于绝大多数用户,从 Chrome 自带的开发者工具的 Network 面板开始学习就完全足够了。 它是理解 HTTP 请求、响应以及进行 Web 调试的基石,当有更复杂需求时,再考虑代理软件。
标签: 抓包工具