App抓包利器:Charles以及App爬⾍⼼得
整理不易,欢迎关注:AI悦创,如果你想快速⼊门点击此阅读:
:AI悦创
1. 前⾔
介绍移动端 app 抓包主流⼯具 Charles,以及具体使⽤⼼得,如何抓包普通的 http 的请求,和更⾼级的加密的https 的请求以看到明⽂数据。再介绍 Charles 使⽤期间的注意事项,常见的坑等。
期间涉及到如何给⼿机端安装 Charles 的 ssl 的 CA 证书,如何配合 XPosed,JustTrustMe 等框架、⼯具,插件等去实现绕过 ssl 证书绑定从⽽破解 https,如何选择合适的可以⽤上 JustTrustMe 的安卓模拟器或者安卓真机。
2. 简介
之前有需求是,想要抓取 app 内的数据包,以便于分析 app 调⽤了哪些 api,请求和响应分别是什么。
⽽ app 中 api 的请求,包括 http 和 https 的数据包。
市⾯上也有很多⽤来抓包的⼯具:
:之前Windows系统中⽤过,功能也还是很强⼤的:/
:Windows系统中很强⼤的抓包⼯具,之前也简单⽤过:lerik/fiddler爬虫软件 app
后来也⽀持 Linux
所以Mac也可以⽤了
⼀个运⾏在命令⾏下的嗅探⼯具:/
:Man-In-The-Middle Proxy的简称,免费和开源的交互式代理⼯具:/
关于Mac中的抓包⼯具,最后经过折腾和⽐较,发现的Charles很好⽤。
经过⼀段时间的使⽤,有些⼼得和经验,整理如下供参考。
即:
此处主要介绍,⽤于Mac中⽹络抓包的⼯具:Charles
⽬前主要被⾃⼰⽤来去配合抓包安卓的app中的⽹络请求,尤其是部分app内部⽤https通信,此处⽤Charles配合其他⼯具,实现绕开https,抓包看到https的明⽂数据。
3. 如何抓包 app
此处介绍如何⽤ Charles 去抓包 app,包括:
相对简单的普通的http
加密的⽐较复杂的https
3.1 普通 http 请求
此处接着介绍,如何⽤ Charles 抓包 app 中普通的 http 的请求。这个相对⽐较简单,不复杂。所以下⾯的相关配置也都是通⽤的。核⼼逻辑:
电脑:Mac 或 Windows万用表input是什么意思
Charles 中设置 HTTP 代理
设置代理的端⼝
⼿机等移动端中设置 Charles 的代理
Wifi 中设置⼿动代理
IP 地址
端⼝
下⾯详细解释如何操作:
3.2 ⽤ Charles 抓包 app 中普通 http 包的流程(并配置) 3.2.1 PC 端设置 Charles 的 HTTP 代理
partialview是什么意思
Proxy -> Proxy Settings -> Proxies -> HTTP Proxy
Port:
4455
默认是8888
可以改为⾃⼰想要的任意端⼝
(默认已)勾选:
Support HTTP/2
Enable transparent HTTP proxying
3.2.2 给移动端⼿机中设置 WiFi 代理为 Charles 简答:
确保电脑和⼿机是同⼀个⽹络
注意:
电脑端是要有线⽹络
后续会有详细解释如何操作
⼿机端可以是 Wifi ⽆线⽹
然后设置⼿机端 Wifi 代理为 Charles 所在电脑的 IP 和 Charles 的 HTTP 代理的端⼝详解:
去给⼿机端设置 Wifi 代理为 PC 端的 Charles
基本思路:
设置 -> 点击当前Wifi进⼊详情页 ->代理从⽆改为⼿动 -> 输⼊ IP 和端⼝jdbc获取数据库连接
代理 IP:Charles 所在电脑的 IP
此处的有线⽹络的IP是:
10.108.129.125
代理端⼝:Charles 中 HTTP Proxy 设置的端⼝
此处:4455
举例:
Android
iOS
三角函数计算器app关于⼿机端设置 Wifi 代理的详细介绍,参见后续章节:
3.2.3 Charl开启抓包
Charles 中点击录制按钮:
3.2.4 ⼿机中开始使⽤ app
⼿机中打开和使⽤你的(要抓包的)app
⽐如⽤浏览器打开⽹页,打开和使⽤某个你要抓包的app(其内部会访问⽹络,调⽤服务器接⼝,获取数据等)⽐如此处打开⽹易云⾳乐
3.2.5 Charles 可以正常抓包
接着就可以⽤ Charles 愉快的抓包和分析 http 的请求了:width inherit

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。