✍️作者:极客小俊
😈公众号同名: 一个把逻辑思维转变为代码的技术博主
Fiddler Android 数据抓包
Fiddler
不仅可以抓web
页面的HTTP/HTTPS
的数据报文, 也可以抓取我们手机移动端
的数据报文
这里我主要说明的是本地抓取Android 安卓手机
数据报文
前提条件
手机必须处于同一个网络当中, 并且手机网络代理必须设置为fiddler
,当我们的手机经过Fiddler
这一层服务!
那么接下来具体步骤如下:
1.确保手机和PC在同一网络环境下
手机和电脑必须在同一局域网,手机最好也关闭4G/5G
网络流量, 并且使用wifi
,让手机和fiddler
在同一局域网下!
查看本机ip地址
让android手机
的网络进出口指向局域网中fiddler
服务地址, 那么我们这里就必须要知道Fiddler
的ip地址
和端口号(port)
这里Fiddler
的ip地址
就是我们当前电脑中的本机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 拦截证书。要解决此不兼容问题,您可以安装生成与这些平台兼容的拦截证书的证书生成插件
插件下载:https://telerik-fiddler.s3.amazonaws.com/fiddler/addons/fiddlercertmaker.exe
下载之后直接点击安装就可以了,但是要关闭Fiddler
否则无法安装, 然后重启Fiddler
,然后在Fiddler
中重置一下所有证书,点击Fiddler菜单
选择Tools-> Options -> HTTPS -> Actions -> Reset All Certificates
进行重置证书 ,并且手机也要重新再一次的下载并配置证书!
如果还是不行可以尝试 关闭系统防火墙
如图
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏”
一键三连哦!
如果以上内容有任何错误或者不准确的地方,🤝🤝欢迎在下面 👇 留个言指出、或者你有更好的想法,欢迎一起交流学习❤️❤️❤️❤️❤️