Charles抓包指南

Charles抓包指南1.进入Charles官网下载。2.安装Charles后,进行注册。help—>register—>input—>ok!RegisteredName:https://zhile.ioLicenseKey:48891cf209c6d32bf43.运行Charles,并进行配置。手机设置代理后,浏览器访问:chls.pro/ssl会下载证书,然后进入手机设置-安全设置-导入证书即可。小米手机需要第三方浏览器打开链接进行下载,否则下载的.

大家好,又见面了,我是你们的朋友全栈君。

1.进入Charles官网下载。

2.安装Charles后,进行注册。

help—> register—>input—>ok!

Registered Name:  https://zhile.io

License Key:  48891cf209c6d32bf4

3.运行Charles,并进行配置。

主界面

设置代理

设置代理

安装证书

查看证书

设置信任证书

设置ssl代理

代理所有https请求

手机安装charles证书

手机设置代理后,浏览器访问:chls.pro/ssl 会下载证书,然后进入手机设置-安全设置-导入证书即可。
小米手机需要第三方浏览器打开链接进行下载,否则下载的.crt后缀的证书导入会报错。

4.抓包发现部分https抓包会失败,显示unknown,是因为Android7.0以后不允许导入系统证书,所以用户证书不被信任,为了解决此问题,需要手机root后操作。

目前手里有华为和小米两款手机,华为不能root,小米已经root过,所以这里用小米做测试。

adb root
# 输出信息如下
adbd cannot run as root in production builds

手机下载超级adb应用后,运行闪退,报错依旧,后来看了一些文章,发现是因为Magisk引起的,所以进入Magisk设置–>关闭Magisk Hide功能后重启手机,再次运行命令,手机会提示超级用户授权,点击同意即可。

5.导入系统证书。

连接root后的做如下手机操作。

# 以root权限执行
adb root
# 解决目录read only关键命令行
adb disable-verity
# 重启
adb reboot
# 以root权限执行
adb root
# 重新挂载
adb remount
# 设置读写
adb shell mount -o rw,remount /system

导入Charles证书。

保存证书

# 计算证书Hash
chaos-MacBook-Air:Downloads chao$ openssl x509 -subject_hash_old -in charles-ssl-proxying-certificate.pem
40d7e030
-----BEGIN CERTIFICATE-----
MIIFVjCCBD6gAwIBAgIGAXN0gzEOMA0GCSqGSIb3DQEBCwUAMIGvMUAwPgYDVQQD
DDdDaGFybGVzIFByb3h5IENBICgyMiBKdWwgMjAyMCwgY2hhb3MtTWFjQm9vay1B
aXIubG9jYWwpMSUwIwYDVQQLDBxodHRwczovL2NoYXJsZXNwcm94eS5jb20vc3Ns
MREwDwYDVQQKDAhYSzcyIEx0ZDERMA8GA1UEBwwIQXVja2xhbmQxETAPBgNVBAgM
CEF1Y2tsYW5kMQswCQYDVQQGEwJOWjAeFw0wMDAxMDEwMDAwMDBaFw00OTA5MTgw
MzEzNDFaMIGvMUAwPgYDVQQDDDdDaGFybGVzIFByb3h5IENBICgyMiBKdWwgMjAy
MCwgY2hhb3MtTWFjQm9vay1BaXIubG9jYWwpMSUwIwYDVQQLDBxodHRwczovL2No
YXJsZXNwcm94eS5jb20vc3NsMREwDwYDVQQKDAhYSzcyIEx0ZDERMA8GA1UEBwwI
QXVja2xhbmQxETAPBgNVBAgMCEF1Y2tsYW5kMQswCQYDVQQGEwJOWjCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAISZbUtS2dArL2JIZPPMH3Gu4tjGB5rC
W2zuYayC7KOPJx0WtJ0VrJA6hbwjPbc52BrJn7o98OH8PfNPbbb6W4B+DNjpWnpG
tj9TNpJwriiId26XGD6+AKoilOXhSli40E2DHPtFfpFnn2RSws/KYGV4v7G2DnmJ
MqiHqDgJrtKzV48eLdQ8mvmqnHzLIW3K/c4qh8Wi/7F0084FH5+8zWJkSAR9HTJ/
SGA4FdGX7r2rkp833EPLkq/Lv7Rtn4SqTeKrmYv3liEoYhmt9gead1ILCNwGo+hR
C8zgLVVObudr9tzzV4xPsIZO4KQC30HcYy5BnN/30UK042z1TE3bKIECAwEAAaOC
AXQwggFwMA8GA1UdEwEB/wQFMAMBAf8wggEsBglghkgBhvhCAQ0EggEdE4IBGVRo
aXMgUm9vdCBjZXJ0aWZpY2F0ZSB3YXMgZ2VuZXJhdGVkIGJ5IENoYXJsZXMgUHJv
eHkgZm9yIFNTTCBQcm94eWluZy4gSWYgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBwYXJ0
IG9mIGEgY2VydGlmaWNhdGUgY2hhaW4sIHRoaXMgbWVhbnMgdGhhdCB5b3UncmUg
YnJvd3NpbmcgdGhyb3VnaCBDaGFybGVzIFByb3h5IHdpdGggU1NMIFByb3h5aW5n
IGVuYWJsZWQgZm9yIHRoaXMgd2Vic2l0ZS4gUGxlYXNlIHNlZSBodHRwOi8vY2hh
cmxlc3Byb3h5LmNvbS9zc2wgZm9yIG1vcmUgaW5mb3JtYXRpb24uMA4GA1UdDwEB
/wQEAwICBDAdBgNVHQ4EFgQUEcZalndwT27NBqs/yZiI8G8pmZ0wDQYJKoZIhvcN
AQELBQADggEBAEE0RkbcI0fXkxKRWOAP/AhtlBRZLH185vKYlNN9cbmvHQRPwWHD
nGWU++bdhL4fEMYHBlg9nNwo4fddUcz+LXOunCBVmK92mxPi8hMr8p675nvdUO3Z
hK0oxz5yHqOWCeM0i425q+Ah0LV73OCiLkG+Wx5xQwiaIjwCFahb7xJtrHe3fWti
qkQ7O6pjTkEoe4reUVM1PlhMW/Bvxekp8SuFtY61e7tD6gNh7IvgKmA1CYa4aa2D
U5tIqr1mr/B3NeH03PQ/eGeZXNhvpHjIfwaZqccq22O+I7l16bK23ES0382Nv7dY
cYR0r8YHvENbJF7X50q0D/bDOY1S/YPoku8=
-----END CERTIFICATE-----
# 重命名证书
chaos-MacBook-Air:Downloads chao$ mv charles-ssl-proxying-certificate.pem 40d7e030.0
# 将证书push到系统证书目录
chaos-MacBook-Air:Downloads chao$ adb push 40d7e030.0 /system/etc/security/cacerts
40d7e030.0: 1 file pushed, 0 skipped. 0.0 MB/s (1931 bytes in 0.057s)
# 移除系统证书,别执行!!!
chaos-MacBook-Air:Downloads chao$ adb shell rm /system/etc/security/cacerts/40d7e030.0

上述操作完成后,进入手机设置->更多设置->系统安全->加密与凭据->信任的凭据 找到导入的证书并开启。

6.抓包。

数据抓包

数据格式是ProtoBuf,可以看到数据中有很多\347\234\213\346\235\245的字符串,其实是8进制中文,为了方便查看,用go写了个工具,看看效果吧。

8进制转中文

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135276.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea2021.12永久激活-激活码分享

    (idea2021.12永久激活)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月30日
  • ScheduledExecutorService 使用

    ScheduledExecutorService 使用ScheduledExecutorService,我平时没有用过,他的最大优点除了线程池的特性以外,可以实现循环或延迟任务。ScheduledExecutorService,是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,也就是说,任务是并发执行,互不影响。需要注意,只有当调度任务来的时候,ScheduledExecutorService才会真正启动一个线程,其余时间ScheduledExecutorService都是出于轮询任务的状态。先来个简单的延迟任务调…

    2022年6月2日
  • Java中Scanner用法总结

    Java中Scanner用法总结最近在做OJ类问题的时候,经常由于Scanner的使用造成一些细节问题导致程序不通过(最惨的就是网易笔试,由于sc死循环了也没发现,导致AC代码也不能通过。。。),因此对Scanner进行了一些总结整理。Scanner类简介Java5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何

    2022年7月20日
  • 交叉验证方法汇总【附代码】(留一法、K折交叉验证、分层交叉验证、对抗验证、时间序列交叉验证)

    交叉验证方法汇总【附代码】(留一法、K折交叉验证、分层交叉验证、对抗验证、时间序列交叉验证)交叉验证是什么?在模型建立中,通常有两个数据集:训练集(train)和测试集(test)。训练集用来训练模型;测试集是完全不参与训练的数据,仅仅用来观测测试效果的数据。一般情况下,训练的结果对于训练集的拟合程度通常还是挺好的,但是在测试集总的表现却可能不行。比如下面的例子:图一的模型是一条线型方程。可以看到,所有的红点都不在蓝线上,所以导致了错误率很高,这是典型的不拟合的情况图二的蓝线则更加贴近实际的红点,虽然没有完全重合,但是可以看出模型表示的关系是正确的。图三,所有点都在蓝线上,这时候

    2022年10月27日
  • 百度离线地图使用_高德地图网页版

    百度离线地图使用_高德地图网页版前言介绍:主要是基于v3.0的API版本进行的离线,纯内网可操作,基本上实现了现有90%以上的功能点,能兼容jpg和png格式的瓦片图层,实现了原生和基于Vue两个版本,实现的功能点概要如下:地图示例:地图展示同时加载两个地图设置地图最大及最小级别移动地图缩放地图拖拽地图设置地图显示范围获取地图显示范围测距地图控件:工具条、比例尺控件地图类型缩略图控件添加版权控件添加自定义控件覆盖物示例:添加/删除覆盖物折线上添加方向箭头添加动画标注点设置点的新图标设

    2022年10月21日
  • 滚动条的颜色_Java滚动条里面怎么添加控件

    滚动条的颜色_Java滚动条里面怎么添加控件对里面样式的介绍:语法:scrollbar-face-color:color参数:color: 指定颜色。说明:设置或检索滚动条3D表面(ThreedFace)的颜色。(演示)语法:scrollbar-highlight-color:color参数:color: 指定颜色。说明:设置或检索滚动条3D界面的亮边(ThreedHighlight)颜色。(演示)语法:scrollbar-arro…

    2022年10月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号