关于android手机在mac版charles上抓不到包这个问题困扰了很久,查阅了很多资料,发现是android7.0系统安全策略问题。

Charles抓包正常流程
1.在手机上配置证书

点击后:直接在手机浏览器输入: chls.pro/ssl
ps:最好用UC浏览器 华为自带浏览器会下载一个pem文件,会直接在手机上无法安装

2.在电脑上保存加密文件

ps:这个证书后面会用到

3.设置访问域名和端口

ps:大部分人会设置Host:* port:443 ;但是如果直接点击OK也是没有问题的

以上的步骤在随便一搜都可以找到的,但是,上面是针对ios和一部分android机子可行,android7.0的机子再去用charles抓包时候会出现一下情况:

此时此刻,把目光转移到代码上来,不管你在charles怎么配置都是无济于事的

步骤如下:
1.在项目res目录下新增一个文件夹,命名xml,并且新建一个xml文件,可以命名为network_security_config.xml(其实。名字可以顺便命名,对应就行)

2.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>

PS:请求域名 - 为你项目请求接口所用到的域名
证书名称 - 为上面提到的第二点在charles里面点击”Save Charles Root Certificate..”(路径: Help - SSL Proxying -Save Charles Root Certificate.. )

3.把证书放进res/raw 目录下 ,如果没有此目录,需要新建

ps:此时文件名称应当和上面提到的network_security_config.xml 文件里面证书名称对应

4.在AndroidManifest.xml文件需要加入以下配置:

android:networkSecurityConfig="@xml/network_security_config"

大功告成,配置完成即可抓包。

温馨提示: 抓到看到乱码也是证书导致的
---------------------
原文:https://blog.csdn.net/u011045726/article/details/76064048

Charles配置抓取HTTPS请求的Android配置的更多相关文章

  1. Charles如何抓取https请求-移动端+PC端

    Charles安装完成,默认只能抓取到http请求,如果查看https请求,会显示unkonw或其它之类的响应.所以需要先进行一些配置,才能抓取到完整的https请求信息.下面针对PC端和手机端抓包的 ...

  2. fiddler抓取https请求(android/ios)

    本文转载自:http://blog.csdn.net/songer_xing/article/details/53841401 备注:本人有这样的一个需求,先记录下,以后再进行整理. 在抓包过程中发现 ...

  3. Charles设置抓取https请求

    1.在手机上设置HTTP代理,将手机与电脑连接. 打开手机设置-WLAN,设置代理 2.(iPhone)使用iPhone自带的浏览器打开Safari,并输入地址:http://charlesproxy ...

  4. macOS: mac下配置charles来抓取http请求

    1. 准备charles 下载链接:https://www.charlesproxy.com/download/ 2. 配置charles 2.1)配置http代理.打开Charles软件,配置htt ...

  5. Charles使用part3——安装证书&手机抓取https请求

    一.配置 Charles 根证书 1.进入 Charles->Help->SSL Proxying->Install Charles Root Certificate ,会打开证书, ...

  6. charles抓取https请求包

    说明: 用charles抓取https请求,会出现SSL Proxying disabled in Proxy Settings这样的提示,如下图.要通过charles抓取数据,还需要进行一些简单的设 ...

  7. Fiddler抓取HTTPS请求配置

    由于fiddler安装后默认只能抓取http请求,如果需要抓取https请求需要进行配置.配置方式:Tools--->Options--->HTTPS,勾选CaptureHTTPS CON ...

  8. Fiddler抓取https请求 & Fiddler抓包工具常用功能详解

    Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...

  9. 『言善信』Fiddler工具 — 15、使用Fiddler抓取HTTPS请求

    目录 1.Fiddler抓取HTTPS过程 2.拓展:SSL/TLS证书握手原理 3.Fiddler抓取HTTPS原理总结 4.Fiddler抓取HTTPS设置 步骤1:配置证书 步骤2:勾选设置 5 ...

随机推荐

  1. mysql出现“Incorrect key file for table”解决办法

    本文来自: https://www.cnblogs.com/zjoch/archive/2013/08/19/3267131.html 今天mysql突然出现以下错误: mysql> selec ...

  2. Linux Apache配置https访问

    配置https访问 该环境是rh254课程配套的一个环境,不过配置方法步骤相同. 要求: 使用虚拟主机技术部署两个网站: 网站1: 绑定域名 www0.example.com 目录在 /srv/www ...

  3. web项目通过ajax提交数据太大报错

    通过ajax提交大数据 $.ajax({ url:"", data:{xx:xx} }) 这样子大大的字符串四五个一块提交.导致的提交的请求太大 idea报错 浏览器页面报错 解决 ...

  4. 通信导论-IP数据网络基础(3)

    ICMP(IP辅助协议)--网际控制报文协议 ICMP报文种类:ICMP差错报文(终点不可达.时间超过等5种)和ICMP询问报文(回送请求和回答请求.时间戳请求和回答报文2种) ICMP是一种集差错报 ...

  5. project2

    [概念] 要好好理解并且背下来记住 Java基础,呵呵呵.自己查吧. local host搞错了,整个跑不出来.真尴尬.不理解啊. static原来是全局的意思啊,好吧.以前都忘了,这次该记住了.st ...

  6. How to find SPRO path by t-code name

    e.g:OB58 F1->Technical Information Find Table Name->V_T011 3.SM30 V_T011 Customizing Continue ...

  7. js 加减乘除以及四舍五入 新写法

    1 四舍五入 eg: (1.23).round() = 1.2 (1.2456).round(3) = 1.246 Number.prototype.round = function (count) ...

  8. hive上传下载数据

    ------------------------------------------read me--方式1:适用于工具传输--方式2:适用于手动临时性传输---------------------- ...

  9. RabbitMQ的学习

    生成者就是发送信息,消费者就是接收信息,队列就是存储数据的排队.消息通过你的应用程序和RabbitMQ进行传输,它们只能存储在队列中,队列容量没有限制,你要存储多少消息都可以——基本上是一个无限的缓冲 ...

  10. HTML5学习路线导航

    一.基本标签元素 1.基础标签第一篇 2.基础标签第二篇 3.表单form的使用 4.新增表单验证 二.CSS样式表 4.CSS插入样式表的三种格式 5.六大选择器 6.样式内容详细讲解 7.背景渐进 ...