fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

04-27 1195阅读 0评论

相信很多测试小伙伴们都遇到以下问题,fiddler在抓取手机端的接口时,会出现tunnel to,从而导致无法获取接口的详细内容。找了网上的各种方法(修改注册表、https配置或者修改FiddlerScript文件)等,都无法彻底解决这个问题。其实原因是安卓8.0以下的版本无法完全信任fiddler的根证书,所以导致无法通过fiddler代理获取接口。

    • 解决方法:
      • 1.将手机获取root权限(推荐使用模拟器);
      • 2.将Fiddler证书导出;
      • 3.安装Openssl;
      • 4.然后通过Openssl先将Fiddler证书格式(.cer)转换为.pem格式;
      • 5.再通过Openssl 计算出.pem文件的哈希值;
      • 6.将.pem文件重命名,名字为刚才计算的哈希值,格式为o文件(例:"{哈希值}.0");
      • 7.然后将重命名后的文件放到Android设备的“/system/etc/security/cacerts/”目录下;
      • 8.将文件权限修改为可读可写可执行命令为:chmod 777 {哈希值}.o ;
      • 9.重新安装Fiddler证书,然后就会发现证书安装在系统下了,这样我们就成功了。

        解决方法:

        1.将手机获取root权限(推荐使用模拟器);

        获取root权限这里我们就不多说了,有很多种方法,推荐使用模拟器,省去了很多操作且不会对我们手机有影响(手机root有可能会变砖);此处我们使用的是雷电模拟器,自带adb和root权限。

        2.将Fiddler证书导出;

        打开fiddler-点击工具栏的TOOLS-选择options-选择HTTPS-actions-点击Export Root certificate to Desktop。 然后我们返回到桌面就会发现桌面有个FiddlerRoot.cer文件。

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        3.安装Openssl;

        此处我们需要先安装Openssl,官网下载地址:Oenssl官网

        安装完成后需要把Openssl的bin目录添加到系统path的环境变量中;打开cmd窗口输入openssl,出现如下图代表安装成功啦。

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        4.然后通过Openssl先将Fiddler证书格式(.cer)转换为.pem格式;

        接着,我们在cmd窗口输入openssl x509 -inform der -in FiddlerRoot.cer -out fiddler.pem;(注意:需要在对应目录下,要不会报错找不到目录)。

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        成功后我们可以再桌面看到一个fiddler.pem文件。

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        5.再通过Openssl 计算出.pem文件的哈希值;

        继续在cmd窗口输入openssl x509 -inform PEM -subject_hash_old -in fiddler.pem | findstr /R /N "^" | findstr /R /B "1:" 然后回返回哈希值。

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        6.将.pem文件重命名,名字为刚才计算的哈希值,格式为o文件(例:“{哈希值}.0”);

        我们将刚才计算出来的哈希值(e5c3944b)复制一下,将.pem文件重命名为e5c3944b.o文件。

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        7.然后将重命名后的文件放到Android设备的“/system/etc/security/cacerts/”目录下;

        接下来,我们打开雷电模拟器,将文件复制到/system/etc/security/cacerts/目录下;

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        (注意:有些小伙伴可能会报错,提示需要以读写的方式重新挂载系统,如果和我一样用的是雷电模拟器,那只需要在软件设置-性能设置中将磁盘共享改为System.vmdk可写入;也可以通过mount命令来改变挂载,这里就不过多叙述了,需要的可以自行搜索一下)

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        8.将文件权限修改为可读可写可执行命令为:chmod 777 {哈希值}.o ;

        复制完成后,我们要看下文件的权限是否为所有用户都为可读、可写、可执行的权限。

        如果不是我们需要用adb命令来更改文件权限;(简略的说下,首先用adb shellj进入内部,然后用chmod 777 e5c3944b.o进行赋权。这里需要用root权限来执行命令)

        如下图这样就代表拥有全部权限了。

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        9.重新安装Fiddler证书,然后就会发现证书安装在系统下了,这样我们就成功了。

        然后就是我们下载fiddler证书(如果手机已安装需要卸载重新进行安装)。安装完成后,来查看下证书安装的位置。如下图,证书已经成功安装在系统下。这是我们再去进行抓包,会发现tunnel to已经消失啦。微信的接口也可以看到!

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        fiddler安卓抓包显示tunnel to无法抓包的解决方法(解决后微信小程序接口也能抓取)

        感谢大家的观看,如果对您有所帮助,点个赞和收藏再走吧!比心


免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,1195人围观)

还没有评论,来说两句吧...

目录[+]