Charles Android 抓包失败SSLHandshake: Received fatal alert: certificate_unknown
前提:
Android使用Charles抓取Https请求的报文时,Android和Charles都正确安装了证书之后出现抓包失败,报错SSLHandshake: Received fatal alert: certificate_unknown,如下图所示:

原因:
安卓7之后调整了安全策略会导致部分手机抓包失败,请参考此链接:https://android-developers.googleblog.com/2016/07/changes-to-trusted-certificate.html
文中提到默认情况下,针对API Level 24及更高版本的应用程序不再信任用户或管理员添加的CA用于安全连接。意思就是就算你在手机上安装了受信任的证书也是没卵用的。
解决办法 一:
前提你的手机上已经正确安装了Charles证书:
在你的AndroidManifest.xml文件中添加如下配置:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
在res目录下新建一个xml文件夹,之后在res/xml/路径下新建文件network_security_config.xml
res/xml/network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="true">你要抓取的域名</domain>
<trust-anchors>
<certificates src="user"/>//信任用户自己安装的证书
</trust-anchors>
</domain-config>
</network-security-config>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
解决办法 二:
手机上是否有装证书都可以使用下面的方法:
在你的AndroidManifest.xml文件中添加如下配置:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
在res目录下新建一个xml文件夹,之后在res/xml/路径下新建文件network_security_config.xml
res/xml/network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="true">你要抓取的域名</domain>
<trust-anchors>
<certificates src="@raw/证书文件名"/>
</trust-anchors>
</domain-config>
</network-security-config>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
在res目录下新建一个raw文件夹,将手机上安装的证书文件放入res/raw/目录下,证书格式:pem,ca等(chales的话就是将你在手机浏览器打开http://charlesproxy.com/getssl下载的证书放入即可),步骤2中的证书文件名,就是你放入res/raw/目录下文件的名字
配置完重新运行项目,就可以看到报文了!
更多配置方法请参考Google-Android
转载:https://blog.csdn.net/mrxiagc/article/details/75329629
Charles Android 抓包失败SSLHandshake: Received fatal alert: certificate_unknown的更多相关文章
- [Charles]SSLHandshake: Received fatal alert: certificate_unknown
---------------------- 转载请注明出处 http://www.cnblogs.com/dzblog/p/8119712.html --------------------- 今天 ...
- 【答疑解惑】为什么你的 Charles 会抓包失败?
作为一名 Web 开发工程师,天天都会和网络打交道.Charles 作为一款网络抓包工具,几乎成了 Web 开发的标配. 本文是我深度使用 Charles 后总结而成,不同于其它介绍 Charles ...
- HttpCanary——最强Android抓包工具!
迎使用HttpCanary——最强Android抓包工具! HttpCanary是一款功能强大的HTTP/HTTPS/HTTP2网络包抓取和分析工具,你可以把他看成是移动端的Fiddler或者Char ...
- Charles 手机抓包
Charles 手机抓包 请求抓包对于程序员调试代码必不可少,Charles是一个用与抓包的好工具(也可以使用Fiddler),Charles抓包是通过中间人代理实现,在客户端和服务端通信时,Char ...
- Android抓包方法(三)之Win7笔记本Wifi热点+WireShark工具
Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等 ...
- Android抓包方法(二)之Tcpdump命令+Wireshark
Android抓包方法(二) 之Tcpdump命令+Wireshark 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等.学会抓包分 ...
- Android抓包方法(一)之Fiddler代理
Android抓包方法(一) 之Fiddler代理 前言: 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等. 不管是之前做HTML5手机 ...
- Android抓包方法(转)
Android抓包方法(转) 作者:Findyou 地址:http://www.cnblogs.com/findyou/p/3491014.html 前言: 做前端测试,基本要求会抓包,会分析请求数据 ...
- vue-cli建立的项目如何在手机端运行以及如何用charles来抓包
刚开始自己在config文件夹下的index.js中的dev下的host写成的是localhost,但是发现自己不能在手机端访问,并且也不可以在charles进行抓包处理,后来把localhost改成 ...
随机推荐
- 阿里云SLB上http强制跳转到https问题处理
背景: 最近一客户有一个需求,需要将外网所有http访问请求强制跳转到https,公网出口使用阿里云SLB,证书放在SLB上,SLB后端实例为ECS(webserver)web服务使用nginx, 网 ...
- 数据结构(python语言)目录链接
第一章 准备工作 课时0:0.数据结构(python语言) 基本概念 算法的代价及度量!!!
- VC++之运算符重载简单小结
封装继承和多态是面向对象三大基本支柱.在面向对象系统中有两种编译方式:静态联编和动态联编静态联编:也叫早期联编:指系统在编译时就决定如何实现某一动作,提供了执行速度快的优点.动态联编:也叫滞后联编:指 ...
- MFC MDI 工程禁用win7任务栏(taskbar)多视图缩略图(preview)功能
花费了好几天,google上的把搜索关键字都想烂了终于搜出了答案 app的init函数中在创建mainframe之前调用 EnableTaskbarInteraction(FALSE);
- 剑指offer:从头到尾打印链表
目录 题目 解题思路 具体代码 题目 题目链接 剑指offer:从头到尾打印链表 题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 解题思路 首先题目实际给出的要求是返回ve ...
- 6for Java
class Check{ public boolean validate(String name, String password){ if(name.equals("xuzhaoni ...
- BZOJ4416 SHOI2013阶乘字符串(状压dp)
当n大到一定程度(>21)时一定无解,并不会证. 如果要取出一个排列,显然应该让每一位在序列中的位置尽量靠前.于是设f[S]表示存在S子集中这些字母所组成的所有排列的最短前缀的长度,枚举当前排列 ...
- 2017 Multi-University Training Contest - Team 2 TrickGCD(组合数学)
题目大意: 给你一个序列An,然后求有多少个序列Bn 满足Bi<=Ai,且这个序列的gcd不为1 题解: 考虑这样做 枚举一个因子k,然后求出有多少个序列的gcd包含这个因子k 然后把结果容斥一 ...
- 【题解】SDOI2008莎拉公主的困惑
挺有趣的恩:洛谷P2155 在纸上打打草稿,写出n!个数,从先往后,遇到不互质的就筛掉——发现一个奇妙的性质!:筛掉的次数.顺序好像是周期性出现的呢~ 而且更加妙妙的是,好像还是m!一轮..那么因为n ...
- BZOJ1927 [Sdoi2010]星际竞速 【费用流】
1927: [Sdoi2010]星际竞速 Time Limit: 20 Sec Memory Limit: 259 MB Submit: 2582 Solved: 1601 [Submit][St ...