热点

fiddler怎么抓手机app的包

时间:2010-12-5 17:23:32  作者:焦点   来源:百科  查看:  评论:0
内容摘要:Fiddler抓手机App的包,本质就一句话:让手机的流量绕道走你的电脑。电脑当中间人,Fiddler负责解密和记录。听起来复杂,其实核心就三步——设置代理、装证书、开HTTPS解密。但实际操作里,坑

Fiddler抓手机App的手机包,本质就一句话:让手机的手机流量绕道走你的电脑。电脑当中间人,手机Fiddler负责解密和记录。手机听起来复杂,手机其实核心就三步——设置代理、手机装证书、手机开HTTPS解密。手机但实际操作里,手机坑比想象中多。手机

先说你最可能卡住的手机地方:手机和电脑必须连同一个Wi-Fi,这是手机前提。我见过有人折腾半小时,手机最后发现手机连着4G,手机电脑连着宽带,手机数据压根不经过Fiddler。确认这一点后,打开Fiddler,点菜单栏的Tools→Options→Connections,勾选Allow remote computers to connect,端口默认8888就行,不用改。

然后查你电脑的局域网IP。命令行敲ipconfig,找到无线网卡那段的IPv4地址,类似192.168.1.5这种。记下来。别用127.0.0.1,那是电脑自己,手机访问不到。

手机这边,进Wi-Fi设置,长按当前连接的网络,选修改网络,代理改成手动。主机名填刚才记下的IP,端口填8888。保存后,手机浏览器随便打开个网页,如果Fiddler的会话列表里开始刷出流量,说明代理通了。这时候你打开App,大部分HTTP请求已经能看到了——但有个问题:全是加密的HTTPS,内容显示成CONNECT,看不到具体数据。

这就轮到证书登场。Fiddler能解密HTTPS,靠的是它伪造了一个根证书,手机得信任它。在手机浏览器访问http://你的电脑IP:8888,页面会显示一个Fiddler证书下载链接,点进去安装。Android和iOS流程不同——Android直接下载CER文件,在设置里搜“安装证书”,选CA证书;iOS麻烦点,下载后要去设置→通用→关于本机→证书信任设置,把Fiddler的开关打开。这一步漏了,解密永远不生效,你会看到一堆“Tunnel to”开头的行,点开全是乱码。

证书装好,回头在Fiddler里开启HTTPS解密:Tools→Options→HTTPS,勾选Capture HTTPS CONNECTs和Decrypt HTTPS traffic,弹出的提示点Yes。这时候重新操作App,你会发现原本加密的请求变成了可读的JSON或表单数据。我调试一个外卖App时,就是靠这个看到了下单接口的完整参数——价格、优惠券ID、门店编号全在明文里躺着。

但别高兴太早。Android 7.0以上有个安全策略:App默认不信任用户安装的证书。也就是说,就算你装了Fiddler的证书,很多App照样不买账,请求直接失败或走系统代理绕过。解决办法有两个:要么用Android 6.0以下的模拟器,要么把App的debug包重新打包,在manifest里加一句android:networkSecurityConfig指定信任用户证书。对普通用户来说,后者太折腾——我建议直接备一台旧手机,专门用来抓包,系统版本别太高。

iOS相对省心,但有个新坑:iOS 10.3之后,证书安装完还要去“关于本机”里手动开启完全信任,步骤容易漏。而且部分金融类App做了SSL Pinning——证书固定,就算你信任了Fiddler的根证书,它校验的还是服务器原始证书,直接拒绝连接。碰到这种,Fiddler基本没戏,得上Frida或者Xposed框架,那是另一个世界的玩法了。

最后说个实用技巧:抓包时把Fiddler左下角的过滤器打开,勾选“Show only traffic from clients”,再配合右上角的进程过滤,输入App的包名关键词,能筛掉大量系统后台流量。不然你看到一个列表几百行,一半是微信和推送服务的请求,找目标接口像大海捞针。

整套流程走下来,顺利的话十分钟搞定,不顺利可能卡在证书或系统版本上。但只要你记住核心逻辑——代理负责转发,证书负责解密——遇到问题就知道往哪个方向排查。抓包不是目的,看懂数据流才是。下次App弹窗说“网络异常”,你打开Fiddler一看,哦,原来是某个参数签名过期了,这种掌控感,比看什么文档都来得直接。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap