跳转到内容

抓包是什么意思?抓包工具能做什么、有没有风险

抓包是什么意思:抓包是把电脑或手机收发的网络数据截获下来,查看并分析其中的请求和响应;做这件事的软件就是抓包工具。开发和测试人员用它排查接口报错、对接没有文档的接口、检查 App 有没有明文传敏感信息、做性能和安全测试。如今大部分流量走 HTTPS,抓到的默认是密文,所以抓包工具通常还要负责解密。抓包只应针对你自己的设备和有权测试的系统。


网络上传的数据被切成一个个数据包,每个包里有来源地址、目标地址、端口和一段内容。抓包工具把这些包记下来,再按协议一层层解析:底层是 TCP、UDP,往上是 DNS 查询、TLS 握手,最上面是 HTTP 请求和响应,也就是平时说的「接口」。

对大多数开发者来说,真正想看的是最上面一层:请求了哪个地址、带了什么参数和请求头、服务器返回了什么。好的抓包工具会把底层的包自动组装成这样一条条可读的请求。


  • 排查接口问题:前后端对不上时,看真实发出的请求和返回,判断是哪一边的问题;两条请求还能逐行 对比。
  • 对接没有文档的接口:抓下真实往来,逐字段看清,再 生成调用代码或导出 OpenAPI 文档。
  • 改包与重放:拦下请求改参数再发,测试服务端怎么处理,见 抓包改包 和 请求构造与重放。
  • 安全测试:检查 App 有没有明文传密码、改了参数服务端认不认。
  • 性能测试:对抓到的接口直接 压测,看吞吐和延迟分位。

常见的抓法有两类:

抓法 原理 能抓到什么
代理抓包 把系统或手机的代理指向抓包工具,流量经过它时被记录 愿意走代理的 HTTP / HTTPS 流量
网卡抓包 直接在网卡上逐包记录 整台设备的全部流量,含 DNS、QUIC、任意 TCP / UDP

不少 App(比如微信小程序、Flutter 应用)不走系统代理,用代理抓不到,这时就要用网卡抓包。老鹰抓包在电脑上提供代理、网卡、指定程序、应用层、系统级等 6 种抓法,具体对比见 代理抓包 和 网卡抓包。


HTTPS 在 HTTP 外面套了一层 TLS 加密(当前主流版本是 TLS 1.3),没有会话密钥就只能看到密文,所以直接抓下来是一堆乱码。

解密有两条路:一是代理工具装上自己的根证书,在中间替换证书再解密;二是拿到程序的 TLS 会话密钥,直接把抓到的密文解开。老鹰抓包走第二条路,按 TLS client_random 把密钥和连接自动配对,抓到即解,详见 HTTPS 抓包解密。


抓包本身是标准的调试手段,开发、测试、安全团队每天都在用。边界在于对象:只抓你自己的设备、自己开发的应用,或已获授权测试的系统。抓取他人设备或未授权系统的流量、用抓包破解付费功能,可能违反法律或服务条款。

技术上要注意两点:

  • 根证书:代理抓包装进系统的根证书能解密这台设备的 HTTPS,用完应在系统证书设置里删除,不要安装来路不明的证书。
  • 数据去向:抓到的内容可能含账号、Token 等敏感信息。老鹰抓包抓到的数据只保存在你自己的电脑上,不上传云端。

先在电脑上装好抓包工具,从最简单的场景开始:抓本机浏览器或某个程序的请求,确认能看到明文,再去抓手机。老鹰抓包的 快速开始 几分钟就能走完,手机分别见 iOS 抓包 和 安卓抓包。还在挑工具的话,可以看 免费抓包工具对比。


浏览器开发者工具(F12)只能看这个浏览器里网页发出的请求;抓包工具能看整台电脑或手机上任意程序的流量,包括 App、桌面软件和后台服务。想调手机网页本身的元素和控制台,可以用 网页调试器。

能。可以把手机的 Wi‑Fi 代理指向电脑上的抓包工具,也可以用数据线连接电脑直接抓。老鹰抓包抓 iPhone 不需要越狱,抓安卓免装证书。

一般不会。老鹰抓包停止抓包时会自动还原被改动的网络设置,异常退出也有恢复兜底。

看清请求和响应不需要编程,按界面点选就能完成;改包、重放、压测也都是图形界面。只有解析私有协议、写复杂改写逻辑时才会用到一点脚本。


相关:免费抓包工具对比 · 抓包常见问题 · 下载老鹰抓包