fiddler移动端抓包(含HTTPS)
之前在小记1里面总结了一下自己利用fiddler抓取PC端数据时遇到过的大大小小的坑。今天的话是总结一下自己在抓移动端数据时遇到过的问题,总结一下,方便自己来日回顾🤭,还是老规矩,如果有什么问题欢迎大家指正交流~
一、fiddler设置
首先还是要先回顾一下fiddler的配置以及要抓移动端数据时特殊的设置。
1.关于HTTPS相关的设置
① (详细设置可见小记1)
可将证书导出桌面备用。
② Tools — Options — Connections
注意提示框中所提到的,设置完成后,fiddler需要重启!
以上,fiddler端相关的设置已经完成,如果有遗留或者不对的地方欢迎在评论区指正~
二、关于网络的设置
要想通过fiddler抓到移动端的数据,首先要确保手机和安装fiddler的电脑处于同一局域网下(即同一网段下)。下面总结一下本人的几个尝试:
① 如果是台式机和手机的话,没有什么特殊意外都是处于同一局域网下的,除非手机连的wifi不对。
② 如果是笔记本电脑和手机,首先要确定路由器有没有设置AP隔离,如果设置了AP隔离的话,连接同一WiFi的设备间是无法进行正常通信的,所以此时如果用fiddler是没有办法抓到移动端的数据包的。(我们公司路由就是设置了AP隔离,当初也是没少让我觉得困惑,后来还是直接问了网络部门的同事才恍然大悟,so…建议大家如果是用笔记本电脑不插网线的话,还是先去问一嘴网络部门的小伙伴们比较靠谱😄)
这种情况有两种解决办法:一是插网线,二就是重新自己拉一个路由器😓
假设上述问题你都没有碰到或已经解决了,那么就可以愉快地进行下一步操作啦o( ̄▽ ̄)ブ!
先了解fiddler安装的电脑的IP地址,有两种方式可以查看:
一是fiddler右上角的online:
二是通过cmd/powershell的ipconfig命令查看:
① 打开手机的无线设置,对已经连接的网络进行代理设置,此时需要将fiddler打开,否则设置完代理会提示无法上网。
② 在手机浏览器(最好是chrome浏览器)中搜索 IP地址:端口号 ,出现以下页面,点击证书下载链接,下载证书并安装。
名称随意,点击确定。提示已安装证书即可
此时即可抓取手机中浏览产生的HTTPS数据,但是fiddler并不是可以抓取所有的HTTPS数据包,如果是开发者使用自带证书而不信任外部给手机安装的证书,那么fiddler就无法抓取这部分的数据。
如果是开发自测调试自己的程序,需要关注这部分的内容,涉及重大机密或者隐私数据时是不是可以考虑加上反抓包的考虑设置,从而保证数据传输的安全(当然了,自测的时候可以先不加,不然啥也抓不了😅)。
还有像涉及到微信里面的数据,如果是非h5页面的小程序数据,可以使用微信的开发助手,fiddler大部分是无法抓取的(不够严谨,如果有不同的看法或者是抓取数据的好办法,欢迎一起交流呀~)
三、常见问题汇总
1. 设置完代理后提示无法上网
一般来说,我遇到这种问题只是因为手机和电脑不在同一个网段中,原因就是上面提到过的路由器设置的AP隔离问题。遇到这种问题的时候,有如下几种解决办法:
① 咨询网络部门看是否路由器有设置AP隔离,这是最快排除问题的办法;
② 将笔记本电脑通过网线接入网络;
③ 动手重新拉一个路由器(能解决问题的都是好办法😄)
2. 手机浏览器无法打开证书下载页面
此时,可以将电脑上导出的fiddler证书传输到手机中,然后在手机的无线设置里面,找到安装证书选项,搜索出从电脑导入的fiddler证书,点击,像上述安装步骤一样安装即可。
3. 苹果手机安装证书
苹果手机将证书下载后,步骤与安卓有所不同,需要到设置—通用—描述文件中安装证书,安装完成后,到设置—通用—关于本机—证书信任设置中,将安装好的证书设置信任即可。
4. 证书移除
如果觉得对证书不放心,或者是想要安装其他抓包工具的证书与原有证书有冲突时,我们可以把手机里的证书删除。
① 苹果用户:苹果用户只需要在设置—通用—关于本机—证书信任设置中,将安装好的证书取消信任,或者直接在设置—通用—描述文件中将文件删除即可。
② 安卓用户:一般是在设置—安全—更多安全设置中,会有加密和凭据类似于这种的选项,找到以后,将里面受信任凭据中用户部分的证书删除以及用户凭据中相关证书删除即可。
注:如果当初安装证书时选择的是用于WLAN,证书可能出现无法删除的情形,可以选择删除所有凭据(一般来说仅会删除用户设置的凭据,不会将系统所需其他凭据删除。)