平时调试APP接口,或者想看看某个应用偷偷传了啥数据,抓包是最直接的办法。手机上的网络请求不是黑盒子,用对工具,普通用户也能看个明白。
准备工作:电脑和手机在同一网络
想抓手机的数据,第一步是让手机的流量“路过”你的电脑。最简单的办法就是手机和电脑连同一个Wi-Fi。这样你可以在电脑上开启抓包工具,监听同一局域网内手机发出的请求。
推荐工具:Fiddler 或 Charles
这两个都是常用的HTTP抓包工具,界面清晰,功能够用。以Fiddler为例,安装后打开,默认监听本机127.0.0.1:8888端口。你需要在软件设置里开启远程连接,允许其他设备(比如你的手机)通过这个端口发送请求。
在Fiddler中进入 Tools → Options → Connections,勾选“Allow remote computers to connect”,然后记住电脑的局域网IP,比如 192.168.1.103。
手机设置代理
打开手机Wi-Fi设置,长按当前连接的网络,选择“修改网络”或“高级选项”,把代理从“无”改成“手动”。代理主机名填电脑的IP地址,比如 192.168.1.103,端口填 8888。
保存后,手机所有HTTP流量都会经过电脑上的Fiddler。这时候你在手机上打开任意网页或APP,Fiddler的列表就会实时显示请求记录。
抓HTTPS数据要装证书
现在大部分APP都用HTTPS加密,直接抓只能看到域名,看不到具体内容。想解密就得在手机上安装抓包工具的根证书。
在手机浏览器里访问 http://<电脑IP>:8888,比如 http://192.168.1.103:8888,会跳转到Fiddler的证书下载页,点击“Click here to download FiddlerRoot certificate”安装证书。
安卓一般点一下就装好了,iOS需要去“设置-通用-关于本机-证书信任设置”里手动开启完全信任。
开始抓包,查看请求细节
一切就绪后,在手机上操作你想分析的APP,比如登录、刷新首页、提交表单。Fiddler列表会不断新增请求,点击任一条目,右边能看到请求头、参数、响应内容等。
比如你怀疑某个APP上传通讯录,抓包时留意有没有 /api/v1/upload_contacts 这类接口,响应数据是不是包含姓名电话。再比如测试自己开发的APP,可以直接看到服务器返回的是不是预期JSON。
注意过滤噪音
手机后台应用多,一连网就有几十个请求蹦出来。可以提前在Fiddler里设置过滤规则,只显示目标域名,比如只看 api.example.com 的请求,避免被无关信息干扰。
结束时记得关代理
抓完包别忘了把手机代理改回“无”,不然下次连Wi-Fi可能上不了网。长期开着代理还可能影响部分APP的正常运行,甚至被风控检测到异常。
整个过程其实不复杂,就像给家里的路由器装个“监控探头”,谁进谁出一清二楚。只要别滥用,抓包是个很实用的技术手段。