关于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. unique_ptr

    [unique_ptr] unique_ptr 不共享它的指针.它无法复制到其他 unique_ptr,无法通过值传递到函数,也无法用于需要副本的任何标准模板库 (STL) 算法.只能移动unique ...

  2. jmiter性能测试

    1. Jmeter简介Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测 ...

  3. MySQL实现批量检查表并进行repair与optimize的方法

    这篇文章主要介绍了MySQL实现批量检查表并进行repair与optimize的方法,结合实例形式分析了MySQL批量修复与优化表的相关技巧,需要的朋友可以参考下 本文实例讲述了MySQL实现批量检查 ...

  4. php 配置xdebug

    https://blog.csdn.net/Alan8865/article/details/81331252

  5. Python设计模式 - UML - 定时图(Timing Diagram)

    简介 定时图也是一种交互图,用来描述对象或实体随时间变化的状态或值,及其相应的时间或期限约束.定时图应用较广,并不局限于软件工程领域. 定时图侧重与时间线相关的值或状态的改变,这些改变可能来自于收到消 ...

  6. Ubuntu---grep

    摘要:我们已经学过正则表达式了,所以现在开始学习 grep 也是水到渠成的事情. 简介:grep 是 Linux 中最常用的“文本处理工具”之一,grep 与 sed.awk 合称为 Linux 中的 ...

  7. mongod.service: control process exited, code=exited status=1

    Cent OS 7上需要把mongoDB添加到systemd,否则会出现上面的错误 将mongoDB添加到systemd # vim /usr/lib/systemd/system/mongod.se ...

  8. VBA 删除Excel中所有的图片

    Sub DeletePic()     Dim p As Shape     For Each p In Sheet1.Shapes         If p.Type = Then         ...

  9. nginx学习笔记(三)

    nginx变量 有一些内建变量是支持改写的,其中一个例子是 $args. 这个变量在读取时返回当前请求的 URL 参数串(即请求 URL 中问号后面的部分,如果有的话) 我们看一个通过修改 $args ...

  10. 一个简单地template模板

    之前的项目中用到了artTemplate模板,感觉挺有意思,于是查看相关资料,自己动手写了个简单地template模板插件.虽然会有一些不足,但也是自己的一番心血.主体代码如下 /* * 一个简单地t ...