charles 结合移动端APP 配置及协议抓包
以下针对真机(或模拟器)进行抓包的配置和使用。
注意:在抓包使用时,一定要保证手机(或模拟器)和本地安装了charles的电脑要处于同一网络中(通俗就是说用同一wifi)
配置步骤:
1、找到WLAN-->点击进入
2、
长按,会自动弹出选项(如果有不一样的也被着急,我这使用的是模拟器)
3、
点击修改网络-->勾选高级选项-->选择代理-->手动代理;
这时候会看见提示说让输入代理服务器主机名、和代理服务端口了;(这里就需要输入安装 了charles的本地电脑的ip了,端口需要约定一个固定的,记住别和其他的冲突就行)
注意:这里的端口的作用,就相当于是和charles通信的渠道一样。后面是需要在charles里面也配置一样的才能实现代理抓包
4、保存后,网络就配置完成了;
接下来,配置charles:
5、首先找到菜单proxy,选中proxy setting一项;
6、设置端口8888,(注意!!!:这里的端口号需要设置和刚刚配置手机网络时的端口一样,这样才能获取数据;)
7、以上:就完成了配置
如下:就是对手机(或模拟器)的移动端APP的抓包的结果
====================================================================
=====================================================================
注意:如果遇到https请求协议的,该如何进行配置和抓包呢? 那么这就得需要对当前本地电脑安装信任证书,另手机也对应安装证书,否则无法正常抓取到:
具体可以看看我这篇:配置https的文章:https://www.cnblogs.com/QiKa/p/13027618.html
步骤:
1、菜单中找到 proxy --> SSL proxy setting --> 勾选Enable SSL Proxying --> locations 在里面 添加一个 host 为 * 的 通配符 即可通配所有域名
(否则charles抓包时会存在过滤掉某些请求的情况,host和port填上*,表示匹配抓取所有的请求)
注意:只要进行抓取https的请求,就要这样去勾选上并启用,否则你就可能出现抓不到的情况
2、ssl代理配置了,还需要安装一下证书,否则会出现抓包时报设备不被信任问题:
先:本地电脑上安装证书:在菜单中找到 Help ---> SSL Proxying --->Install Charles Root Certificate.(安装导入证书:跟随提示完成就可)
然后:手机(或模拟器)安装证书的方法:(注意:charles、fiddler抓包工具的配置方法都通用)
第一种就是刚刚那样在电脑的charles上:help--.>>ssl proxying -->>export charles root certificate and private key…导出证书,然后发送到手机设备上,然后选择安装;
第二种就是手机电脑保证网络代理连接上之后,在charles上选择:help--.>>ssl proxying -->>install charles root certificate on a mobile device or remote browser
然后手机(或模拟器)上:打开任意浏览器并访问地址:chls.pro/ssl(会自动弹出下载证书)
这还不算完,此时手机上下载的证书文件是个.pem 格式的,需要手动更改为.crt 格式)
最后:
系统设置→安全→从SD卡安装,找到证书的位置并选择即可安装证书(各个手机位置不一样,视情况而定)--完成!