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进制转中文

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 客户端是移动端吗_谈单的技巧

    客户端是移动端吗_谈单的技巧1、百度开放平台选择开发者服务申请应用2、zai

  • ManualResetEvent类的用法

    ManualResetEvent类的用法ManualResetEvent类作用1.事件初始状态设为false,task线程在第一个WaitOne()处阻塞。2.manualResetEvent.Set()事件状态设为true,task线程在每一个WaitOne()处都不阻塞。3.manualResetEvent调用Set()再调用Reset(),task线程在第一个WaitOne()处阻塞。4.manualResetEvent.Set()事件状态设为true,task线程在第一个WaitOne()处阻塞然后被释放。5.三个线程异步执行,set()

  • NE问题分析

    一.crash(NE)问题1.找到堆栈信息一般堆栈在Androidlog或者tombstore里面,androidlog里面直接搜libsurfaceflinger或者surfaceflinger定位到log,SW-WDtombstore文件是系统在系统发生NE是抓到的堆栈信息,可能会包含多份文件,找的需要的即可2.解析堆栈backtrace信息,主要看调用栈,我们能从中得到发生问题的具体代码行号,比如:#01pc00000000000642fc/apex/com.android

  • 喊山第二部_demjanov重排

    喊山第二部_demjanov重排原题链接喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。(图文摘自:http://news.xrxxw.com/newsshow-8018.html)一个山头呼喊的声音可以被临近的山头同时听到。题目假设每个山头最多有两个能听到它的临近山头。给定任意一个发

  • spa 单页面_浅谈数学在生活中的应用论文

    spa 单页面_浅谈数学在生活中的应用论文https://blog.csdn.net/huangpb123/article/details/86183453单页Web应用(singlepagewebapplication,SPA):SPA是一种特殊的Web应用,是加载单个HTML页面并在用户与应用程序交互时动态更新该页面的。它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML…

  • 常用图像处理算法()[通俗易懂]

    常用图像处理算法()[通俗易懂]                         &a

发表回复

您的电子邮箱地址不会被公开。

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