特别注意
注意android7.0及以上版本,系统即便安装了证书,应用本身是可以选择信任和不信任的。主动权从系统移到的各个应用本身,也就是说如果应用不信任你安装的证书,也是抓不了包的
详细看这里 https://developer.android.com/training/articles/security-config.html
Android7.0 之后默认不信任用户添加到系统的CA证书:
To provide a more consistent and more secure experience across the Android ecosystem, beginning with Android Nougat, compatible devices trust only the standardized system CAs maintained in AOSP.(文档链接)
解决方法如果是调试自己的app则可以在app的配置文件里设置信任。
如果调试的是第三方app则需要手机root然后把证书安装成系统证书。
另外可以使用xposed模块来强制让App信任系统安装的证书,推荐使用virtualxposed
推荐第三种方法
问题描述
使用fiddler时加密的https是需要证书的所以抓包时老是遇到一些问题,比如好不容易把找不到证书的错误解决后又遇到啦全都是tunnel to的情况,这种情况是因为证书文件不对。
还有一种情况是https的连接根据就不显示。fiddler代理https时是自己建啦一个https的本地服务器代理,当请求https连接时会先传到本地的https服务器然后由本地的服务器发送给目标服务器。
如果列表中连tunnel to这些提示都没有的话可以查看下如下设置是不是打勾啦,如果打勾就是隐藏啦tunnel to的显示,去掉这个勾看看是不是有很多tunnel to的提示但是确没有正确的页面,这时原因就找到啦。是因为证书不正确
环境说明
win7 64 ,
fiddler v4.6.20172.31233
使用fillder代理调试手机端的https页面,的时候在系统浏览器中打开https页面会出现一个不安全的证书的提示点继续后才能正常浏览,并且在微信中打开https页面直接就是一个空白的页面,出现这种情况是因为没有安装fiddler的证书(在手机端的证书)
首先需要下载一个证书插件certmarker
CertMaker for iOS and Android 下载地址
https://www.telerik.com/fiddler/add-ons
http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2
下载安装成功
手机端配置
在手机端打开代理地址页面,比如http://192.168.1.2:8888 在页面里面最后有一行有个下载链接选择直接下载就可以,注意下保存的路径在哪,在有的手机上下载完成后可以直接安装,但是有的就不行,我用的是小米note不能直接安装下载成功后找到文件所在路径,点击安装提示无法安装该证书,因为无法读取证书文件
这个时候需要到系统设置里面找到系统安全->从存储设备安装
,然后找到证书所在位置用小米手机的话默认浏览器的下载位置为sd卡的download目录下面,有刚刚下载的fiddlerroot.cer证书文件,选择安装即可。
注意:
另外如果选择安装后有个提示让你输入证书存储密码的时候,是因为你没有设置锁屏密码,先到设置里设置一个锁屏密码然后再安装就可以啦
找到要抓的包后点击查看,特别注意下下面的地方,点击后才会显示解密后的内容,我第一次使用的时候没有注意下面一直都是空白,以为用不了呢
简易代理拦截软件