fiddler 手机 https 抓包

fiddler手机抓包原理

fiddler手机抓包的原理与抓pc上的web数据一样,都是把fiddler当作代理,网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角色,所以可以解密https

下面开始手机抓包设置教程

设置fiddler抓包

File—–>勾选capture traffic

设置抓https和解密https

Tools—–>fiddler options—–>https—–>capture https traffic—->decrypt https traffic—>Ignore server certificate errors

由于我们只抓手机的,所以这里选择 from remote clients only

connections—–>allow remote computers to connect 

由于是手机连接代理,所以勾选allow remote computers to connect 

给fiddler安装certmaker插件

由于默认的证书不符合android和ios的证书要求,所以,需要下载certmaker插件,双击安装后,重启fiddler。注意这一步很重要,必须使用certmaker插件,不要使用默认的证书生成器,否则抓不到包。 

设置手机代理

手机与pc在同一个网段

首先保证手机与pc在同一个局域网中 

鼠标移动到fiddler右上角的Online,查看pc的ip,192.168.1.106 

手机ip是,192.168.1.101,跟pc在同一个网段。 

设置手机代理

找到连接的无线,设置代理,代理ip要与online中的ip一致 

手机安装根证书

在浏览器中,输入http://192.168.1.106:8888, 点击最下边的FiddlerRoot certificate,确定安装。

效果

至此全部都设置完了,我们来看下效果,以手机web版qq为例,截图是空间“赞”的请求 

后续的问题

同理,也可以抓取手机qq app版、支付宝、淘宝等,不过手机qq有些走的http2协议,所以抓不到,这种情况就得用wireshark抓包了,不过抓取后,解密是个问题。 

wireshark抓手机qq app版的赞请求

抓不到https包

很多网友问我,按照教程来了,但是抓不到包,关于这个问题,这里统一答复。

fiddler抓不到的情况分析

fiddler并不是支持全部协议

fiddler并不支持全部协议,目前已知的有http2、tcp、udp、websocket等,如果应用走了以上协议,那么fiddler肯定是抓不到的。

http2:因为fiddler是基于.net framework实现的,因为.net framework不支持http2,所以fiddler无法抓取http2


证书写死在app中,fiddler不能抓取

fiddler抓包的原理是中间人攻击,也就是说,两头瞒,欺骗客户端&&欺骗服务器端,如果https证书写死在app里,也就是说,app不信任fiddler颁发给它的证书,app只信任自己的证书,fiddler没法瞒客户端了,因此fiddler也就抓取不到包了。 

再多说几句,如果是自己开发的app,开发调试方便起见,可以使用类似wireshark的工具导入服务器证书,抓包解密。


修正不能抓取包问题

除了上述已知不能抓包的情况,其他情况都应该能抓取。以下是排查,修正问题的步骤。


确认能否抓到手机浏览器的百度首页

因为百度是https加密的,所以如果配置正确肯定是可以抓到的。注意,我这里说的是三个条件,手机&&浏览器&&百度网页的首页,这些条件,都得满足 。 

手机浏览器的百度首页这个样子。 

 


重新安装证书

如果抓不到,可以确定是配置有问题。核实fiddler使用certmarker插件并且在手机上也安装了;如果已安装,则重新安装。 如果还不work,那么,重新生成证书,电脑和手机都重新安装,然后重启fiddler。一般来说,重新安装手机上的证书就解决问题了。

抓取 手机百度app 登陆请求效果图 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值