Charles 配置安卓手机
首先需要注意的就是证书的有效时间,过期的证书会导致网络连接失败
安卓配置证书后如果出现“网络不是私密连接”等问题可以参考如下文章:
http://www.cnblogs.com/takechiyo/p/15682433.html
为防止原文实效,现保存如下,著作权仍归原作者所有,转载请注明出处。
请求抓包对于程序员调试代码必不可少,Charles是一个用于抓包的好工具(也可以使用Fiddler),Charles抓包是通过中间人代理实现,在客户端和服务端通信时,Charles会截取客户端发送给服务端的请求,然后伪装成客户端与服务端进行通信,服务端返回数据时,Charles会截取数据伪装成服务端将数据发送给客户端。
Charles的安装和配置
Charles的安装比较简单,根据应用安装过程的提示,安装即可,不再赘述。主要讲一下Charles手机抓包的配置。
首先保证需要抓包的手机和安装Charles的电脑在同一个局域网之中(比如,使用同一个WiFi)。
打开Charles,点击
Proxy-Proxy Settings
,设置端口,Charles会占用该端口启动一个服务。勾选Support HTTP/2
配置手机代理,点开手机连接wifi的高级选项,代理设置为手动,填写IP和端口,端口即为上一步骤中设置的端口,如8888. IP地址为安装Charles电脑的地址,可通过
ipconfig
命令查询。给电脑安装Charles证书,否则打开Charles后电脑浏览器不能正常上网。(原因是Charles伪装成中间人,浏览器不信任Charles的证书,报错“您的连接不是私密连接”)
打开Charles,
Help-SSL Proxying-Install Charles Root Certificate
具体安装过程可参考Charles根证书安装
手机安装Charles根证书
如果需要抓包HTTPS请求并解密,需要在手机上安装Charles根证书,以让手机信任Charles。
- 打开手机浏览器,输入
http://chls.pro/ssl
下载charles证书。 - 打开手机设置-安全与隐私-加密与凭据-从存储设备安装,选择下载的证书文件安装即可。
- 打开手机浏览器,输入
Charles手机证书配置
一般按照上述小节配置就可以实现对HTTPS请求的抓包和数据解密。但是Android 7版本及以上的系统,不再信任用户级的证书,只信任系统级的证书。即便是按照上述操作安装了Charles的根证书,发现HTTPS请求也无法正常解析,会有Unknown
报错,Charles的Note会提示You may need to configure your browser or application to trust the Ch
.
此类场景,需要给Android7及以上的手机安装系统级证书,来实现HTTPS的抓包。
准备工作
- 需要抓包的手机已完成Root。
- 需要安装好Openssl工具(可以在Linux服务器上完成,或者是通过win10的WSL来操作)
- adb工具(下载地址)
生成证书
将通过
http://chls.pro/ssl
下载的证书(一般后缀为.pem
)上传到安装有openssl
的机器上。若证书格式为非.pem结尾,则需要先转换为pem (不确定该做法是否正确)
以下代码为.crt格式转为.pem
openssl x509 -in tmp.crt -out tmp.pem
执行
openssl
命令重命名证书名称openssl x509 -inform PEM -subject_hash -in xxx.pem # 此处xxx替换为具体的名称
该命令会输出一个签名,找到其中的hash值进行复制。如下文中的
2598f6a3
。2598f6a3 -----BEGIN CERTIFICATE----- MIIFRjCCBC6gAwIBAgIGAX2jljHLMA0GCSqGSIb3DQEBCwUAMIGnMTgwNgYDVQQD DC9DaGFybGVzIFByb3h5IENBICgxMCBEZWMgMjAyMSwgTEFQVE9QLU1CNFIyUTJF KTElMCMGA1UECwwcaHR0cHM6Ly9jaGFybGVzcHJveHkuY29tL3NzbDERMA8GA1UE CgwIWEs3MiBMdGQxETAPBgNVBAcMCEF1Y2tsYW5kMREwDwYDVQQIDAhBdWNrbGFu ZDELMAkGA1UEBhMCTlowHhcNMjExMjA5MDkwNDI5WhcNMjIxMjA5MDkwNDI5WjCB pzE4MDYGA1UEAwwvQ2hhcmxlcyBQcm94eSBDQSAoMTAgRGVjIDIwMjEsIExBUFRP UC1NQjRSMlEyRSkxJTAjBgNVBAsMHGh0dHBzOi8vY2hhcmxlc3Byb3h5LmNvbS9z c2wxETAPBgNVBAoMCFhLNzIgTHRkMREwDwYDVQQHDAhBdWNrbGFuZDERMA8GA1UE CAwIQXVja2xhbmQxCzAJBgNVBAYTAk5aMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEArcxNxm3EhvWl7Jk8H5otzU/ElTJivzMfALft45ghGam6Ds0utF0S AgRvfmC7/KtxWnTzokc9ewA440CBe23QvfmJcRVqaJBjvS40MT3y2fWS8BNNgZlS QE4bnUexIdfVWzYXoo80P/mKDSxfTbc+3PPYfUDXDR99GDZKLcZfgMeRkAAEReaj qzjjeDDGj/DEVRZZQeXfESTs/tGaruupzqIENqToLMSQSwTDpIaApEz76Lf5qAP3 XAUnpTnz5E+5n1WRV9oRxBKYVILDrTyejzwh9Koh25gij31knDCGioHqXVbwfg81 3cSlVj79BMjcuGRPwo5rpfzyYV9w5YVaEQIDAQABo4IBdDCCAXAwDwYDVR0TAQH/ BAUwAwEB/zCCASwGCWCGSAGG+EIBDQSCAR0TggEZVGhpcyBSb290IGNlcnRpZmlj YXRlIHdhcyBnZW5lcmF0ZWQgYnkgQ2hhcmxlcyBQcm94eSBmb3IgU1NMIFByb3h5 aW5nLiBJZiB0aGlzIGNlcnRpZmljYXRlIGlzIHBhcnQgb2YgYSBjZXJ0aWZpY2F0 ZSBjaGFpbiwgdGhpcyBtZWFucyB0aGF0IHlvdSdyZSBicm93c2luZyB0aHJvdWdo IENoYXJsZXMgUHJveHkgd2l0aCBTU0wgUHJveHlpbmcgZW5hYmxlZCBmb3IgdGhp cyB3ZWJzaXRlLiBQbGVhc2Ugc2VlIGh0dHA6Ly9jaGFybGVzcHJveHkuY29tL3Nz bCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4wDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQW BBQa42h5Cgu4cdr8ij3pnqk8RuHt7DANBgkqhkiG9w0BAQsFAAOCAQEAEvocaQrm ZxTnSGueTjmsMlDppnfi84pOma9+IY0cKALJOtSCG01WvEzoxd6rXDrMNGRVG6Zd SrkpJTnKp/9L3NAcwX/S1Gt5a18gI0wMCMGfoFYcAA2xvIbOF0UTCi17tTPK4ltQ Bb0IPDUmLzP7yvHspCT+UEE/2B2wgmFiB4RIA01O8eQpSMAlzEfLdpwJwGfFIaWn GpcVotgQRvmOJRBV/fN3AfjOI5sGjSx2/ExW+vbUu98u6PHs1HleVslNDY1o+rE+ qxkQCLIhIoCD1rp8AE1L7OS8iGTju9oT99F/YV21QvtKWJ9YpsgWM14qzv9MzLQ6 N+oMxISSpEr47Q== -----END CERTIFICATE-----
重命名证书文件。
mv xxx.pem 2598f6a3.0 # 2598f6a3为上步中的hash值
使用Adb工具将后缀为0的证书上传到手机
/system/etc/security/cacerts/
目录下。通过数据线将手机连接到电脑上,并打开开发者调试。
将上述后缀为0的证书文件放在
adb
工具的安装目录下,打开windows终端(windows+R 输入 cmd)执行
# 将证书上传到手机上 adb push 2598f6a3.0 /sdcard/Download adb shell su # 将证书复制到/system/etc/security/cacerts/ cp /sdcard/Download/2598f6a3.0 /system/etc/security/cacerts/ # 修改证书权限 chmod 644 /system/etc/security/cacerts/2598f6a3.0
如果执行
cp
命令时出现Read-only file system
错误,需要将system
挂载为可读写。执行命令:mount -o rw,remount /system
如果执行该命令报错
mount -o rw,remount /system /system’ not in /proc/mounts
,执行下一条命令,简单粗暴解决。mount -o rw,remount / chmod 777 /system mount -o rw,remount /system
然后继续执行
cp
命令如果此方法还是不行,则需要安装magisk中的adb root模块,请注意:原始版本的adb_root压缩包有检测不到手机的bug,请安装作者修复后的版本。链接如下:https://github.com/evdenis/adb_root/issues/11#issuecomment-914595084
重启手机,即可对HTTPS完成数据抓包和解密。
参考
- 给Android7及以上的手机安装系统级证书,实现Fiddler或者其他程序的HTTPS的抓包_一碗单炒饭的专栏-CSDN博客_安装系统证书
- 安卓7.0以上手机写入安全证书 - 阅历即魅力 - 博客园 (cnblogs.com)
- mount -o rw,remount /system /system’ not in /proc/mounts_csdn13034551515的博客-CSDN博客
- 使用Charles代理工具导致电脑无法正常访问网站(您的连接不是私密连接)_mengzhiyuan93的博客-CSDN博客_charles 您的连接不是私密连接
Charles 配置安卓手机相关推荐
- 【抓包工具】配置:Charles 配置华为手机 HTTPS CA 证书
目录 一.前言 二.手机开启 USB 调试模式 三.本地下载 Charles 证书保存到手机上 (1)通过电脑在手机存储中新增一个文件夹 (2)Charles 下载证书到本地电脑上 (3)将电脑上的 ...
- uni-app 安装配置安卓手机模拟器
这一篇文章主要是讲一下UniApp如何配置手机模拟器 这该死的MEIZU,本来正常操作,只要打开手机的USB调试和开发者选项,设置成USB的传输文件.Hbuildx就可以自动识别到机器,本来就是简简单 ...
- Fiddler抓包解析https且配置安卓手机CA证书、抓取微信数据包
准备工作 Fiddler v5.0.20173.50948 step1: 点击Tools->选择HTTPS 点击图中的4选择export Root Ceratificate to Desktop ...
- [每天进步一点点~] uni-app 安装配置安卓手机模拟器
1.下载 Android SDK Tools 在 https://www.androiddevtools.cn/ 下载 [Android SDK Tools] Android SDK Tools 下载 ...
- Mac 使用Charles对苹果手机和安卓手机进行抓包
今天给大家分享在Mac下,使用Charles(青花瓷)分别对苹果手机和安卓手机进行抓包的操作流程. 前提:在Mac上安装Charles,网上很多安装包,自行下载. 在此提供官网链接:https://w ...
- Charles 抓取安卓手机https包(安卓<华为>客户端应用,windows环境)
charles下载安装 前提先安装配置好Java环境,官网下载安装Charles:https://www.charlesproxy.com/download/ 安卓手机安装证书 手机连接电脑代理: 首 ...
- 安卓手机Charles抓包显示unknown原因及解决办法
假如你按照网上的教程,在配置好代理的IP地址和端口号,下载并安装了证书,抓包仍然显示unnown的话,你要去找下安卓手机怎么信任证书.ios会直接弹窗.安卓手机不会,以小米10为例,你需要在设置里面搜 ...
- android配置参数详解,安卓手机CPU与GPU等配置参数含义详解【详细介绍】
我们在关注一些手机配置信息的时候,很多手机配置表上常常会标识CPU,GPU,RAM,ROM以及GSM,WCDMA等一系列英文配置参数的数据,而这一些相似的英文配置都代表了什么意思呢?关于这个问题,一起 ...
- android5版本主流手机,你达标没?最受欢迎安卓手机配置:5.5寸/6GB/安卓7.0...
今日,安兔兔发布了最新的7月手机用户偏好报告,鉴于其庞大的用户基础,可以通过这份报告一窥目前安卓手机的最主流配置. 屏幕尺寸方面,5.5英寸屏依然是大家的首选,在安兔兔用户中占比达到33.93%.与上 ...
最新文章
- 电子工程师必须知道的10个网站 !!!
- Leetcode 204. 计数质数 解题思路及C++实现
- 货拉拉周胜馥,这次赌“输”了?
- AOP面向切面编程在Android中的使用
- 【博客话题】技术生涯中的出与入
- android快捷开发之Retrofit网络加载框架的简单使用
- [渝粤教育] 西南科技大学 英美文学 在线考试复习资料
- 使用HttpClient 调用Web Api
- 软件性能测试——瓶颈分析方法,性能测试——瓶颈分析方法
- 项目实战-1读取记事本中的文件,写入到slice切片中。
- 2021高考 丽水成绩查询,2021年丽水中考成绩公布查询时间 丽水中考成绩查询方式入口...
- 高质量程序设计指南-c/c++语言:笔记之C++函数的高级特性
- 老板子华硕A7N8X-X
- 联想 缺少计算机所需的介质驱动程序,联想笔记本缺少驱动应该怎么办
- 【阿里云】视频点播开通与配置
- div 垂直居中的六种方法
- Facebook语音识别野心曝光,测试Aloha,挑战苹果Siri
- 计算机会不会取代人类英语作文,高中英语作文:机器代替人?
- 理解负反馈可以减小输出电阻
- java8中switch不能,switch 语句
热门文章
- 无源光网络(PON)介绍及其应用
- cc-ui|一款基于uni-app框架开发的生态组件库
- 两列作为一个primary key
- Python循环创建变量名
- C语言基础之判断字符类型、字符串的数值转换、串长比较、数组指针、函数参数
- python画不同颜色的直方图_python - 使用matplotlib同时绘制两个直方图
- 如何讨得领导欢心(附三种拍马屁的方式)
- 如何判断笔记本蓝牙硬件坏了_怎么看笔记本蓝牙版本 不是蓝牙4.0?
- c语言第9章实验报告,《经典规范C语言程序设计》实验报告(第九章)文件程序设计.doc...
- Android 打开手机QQ,实现类似于客服功能