2022自学系列🚀Fiddler抓包教程(7) Fiddler Android 数据抓包 🦞 (图文汇总)

722 阅读6分钟

作者:极客小俊
把逻辑思维转变为代码的技术博主

Fiddler Android 数据抓包

Fiddler不仅可以抓web页面的HTTP/HTTPS的数据报文, 也可以抓取我们手机移动端数据报文

这里我主要说明的是本地抓取Android 安卓手机数据报文

前提条件

手机必须处于同一个网络当中, 并且手机网络代理必须设置为fiddler,当我们的手机经过Fiddler这一层服务!

那么接下来具体步骤如下:

1.确保手机和PC在同一网络环境下

手机和电脑必须在同一局域网,手机最好也关闭4G/5G网络流量, 并且使用wifi,让手机和fiddler在同一局域网下!

查看本机ip地址

android手机的网络进出口指向局域网中fiddler服务地址, 那么我们这里就必须要知道Fiddlerip地址端口号(port)

这里Fiddlerip地址就是我们当前电脑中的本机ip地址

那么查看我们电脑的 ip地址方法 如下:

win+R 调出运行然后输入 cmd打开命令行终端窗口,输入ipconfig, 找到其中的IPv4地址即为本机ip

如图

可以对照一下当前所安装的Fiddler中的ip地址是否一致,你可以直接在fiddler上 将鼠标放置于 Online 工具上就会显示本机ip地址,如果一样那么久可以确保一会设置手机和电脑在同一个局域网内!

Fiddler设置端口与允许远程连接

Fiddler中我们还要设置远程连接权限端口号

找到Fiddler菜单栏中的Tools ----> Options---->Connections

勾选Allow remote computers to connect(允许远程计算机连接) 然后设置一个端口,也可以默认为8888

如图

以上所有Fiddler设置之后最好是重启一下Fiddler,才可以让配置生效!

2.android手机设置网络代理

在确定了手机fiddler在同一局域网下之后, 那么我们来到android手机的设置选项下,找到WLAN

例如:

然后点击你当前所在的wifi网络环境下的名称

例如

然后选择代理

如图

把其中的改为手动

然后返回到上一步,输入Fiddler本地ip和设置Fiddler端口号

如图

那么到此android手机的网络代理设置 就到此为止, 其他不同型号的android手机设置大同小异,以此类推!

3.android手机配置证书

在抓取android手机数据包的时候 跟 web端也是一样,都需要配置证书,否则是无法正常进行抓包的!

之前已经在我们的android手机上配置好了Fiddler的代理服务了,那么现在就可以通过ip+port的方式来访问Fiddler 从而下载对应的证书!

方法如下:

android手机上打开(自带)的浏览器,输入刚刚配置的ip+port来下载证书,

例如:192.168.0.109:8888, 如果不出意外的话就会出现如下界面:

我们点击FiddlerRoot certificate(根证书)下载到android手机上!

如图

继续点击下载

温馨提示

这个时候可能有些android手机会出现以下问题,会出现 无法安装证书 因为无法读取证书文件的字样

解决方案

在下载之前,你可以手动修改证书的后缀名,修改为.crt 就可以了!

当我们下载的时候,就可以点击编辑按钮,进行文件名的编辑, 最后保存!

如图

然后再手机的下载管理中 找到刚刚下载好的证书 并且打开它

如图

最后点击保存即为 安装

完成android手机证书的安装!

那么如果你要查看安装的证书, 那么可以在手机中 打开设置-->其他设置-->设备与隐私-->信任的证书然后点击用户,就可以查看到刚刚所安装好的Fiddler证书

如图

其他手机可以在设置中搜索信任进行查找,大同小异!

注意(Notice)😞

每连一台电脑所安装的fiddler提供的证书都是不一样的,要记住这个道理 那么测试完一台电脑之后,如果要在另外一台电脑上测试,记得在证书管理里删除之前的fiddler证书,因为这个之前的fiddler证书只对应之前那台电脑里面所安装的fiddler,没法用于连其他的fiddler, 因此换一台电脑,测试必须重新配置一下手机证书

我们通过上面的android基本配置就全部结束了,现在可以愉快的android手机抓包测试了😃

4.开始android抓包

在正式抓包之前,我们还设置一下Fiddler中的请求过滤

我们通过Fiddler菜单栏中的Tools--->Options-->HTTPS修改..from all processes这一项

把它设置为from remote clients only 只抓远程客户端请求, 方便我们查看手机抓包数据!

如图

那么现在打开你的android手机并且运行手机中的一些app就可以被fiddler所截取到数据包了:

如图

注意:

如果还是无法正常抓取数据包,并且手机也无法加载数据的情况下,那么可能还是跟证书不正确有关系

解决方案

删除所有证书再执行下面的操作!

那么我们可能需要安装一个插件 CertMaker for iOS and Android

插件介绍

iOS devices and Android devices may not work with the default HTTPS interception certificates used by Fiddler. To resolve this incompatibility, you may install a Certificate Generating plugin that generates interception certificates compatible with those platforms.
译为:
iOS 设备和 Android 设备可能无法使用 Fiddler 使用的默认 HTTPS 拦截证书。要解决此不兼容问题,您可以安装生成与这些平台兼容的拦截证书的证书生成插件

插件下载:telerik-fiddler.s3.amazonaws.com/fiddler/add…

下载之后直接点击安装就可以了,但是要关闭Fiddler否则无法安装, 然后重启Fiddler,然后在Fiddler中重置一下所有证书,点击Fiddler菜单选择Tools-> Options -> HTTPS -> Actions -> Reset All Certificates进行重置证书 ,并且手机也要重新再一次的下载并配置证书!

如果还是不行可以尝试 关闭系统防火墙

如图

如果觉得有帮助到你的话,就请在来个 "点赞"👍 "评论"✍️ "收藏"💙 支持一下!

大家的支持必然是我坚持创作下去的动力! 🔋 🔋 🔋

如果以上内容有任何错误或者不准确的地方, 欢迎在下面 👇 留个言指出、或者你有更好的想法,欢迎一起交流学习 💕💕💕