Android Charles抓包

下面是 Mac 使用 Charles 抓包工具抓包;

 

1.下载安装 Charles 

打开下面网址:https://xclient.info/s/charles.html

点击下载即可,如果打不开,搜索 xclient.info ,打开后搜索 Charles 即可;

 

我下载版本为:4.2.8;

 

下载完毕,会提示输入密码,密码为: xclient.info

Android Charles抓包_第1张图片

 

打开如下图,将软件移入 applications 即可,注意下面有一个名称为 Crack 的文件夹:

Android Charles抓包_第2张图片

 

在应用程序中找到 Charles ,右键选择包内容,依次打开 contents==>java==>charles.jar ,如下图所示:

Android Charles抓包_第3张图片

 

回到上面的 Crack 文件夹中,发现里面也会有 charles.jar ,将此 jar 文件替换掉上面包内容的jar,替换完毕,退出即可;

 

安装完毕。

 

2.设置端口号

注意:

在此之前,请关闭所有代理(软件之类的),电脑 WiFi 和手机 WiFi 保证连接的是同一个;此条非常重要,否则抓包直接导致失败。

 

安装完毕,打开 Charles,点击 Proxy==>Proxy Settions... ,如下图所示:

Android Charles抓包_第4张图片

 

点击后会出现一个弹窗,设置端口号,设置 Port,我设置为了 8888,点击 OK,如下图所示:

Android Charles抓包_第5张图片

 

3.设置域名

打开 Proxy==>SSL Proxying Settings... ,如下图所示:

Android Charles抓包_第6张图片

 

点击后会出现一个弹窗,在里面可以筛选我们项目的域名,如下图所示,我已经添加了一个域名:

Android Charles抓包_第7张图片

 

点击 Add,会出现一个输入域名的弹窗,在 Host 中填入域名,我加入的域名为:c.y.qq.com ,填写完毕,点击 OK;

注意:这是我项目中的域名,请自行查看自己项目中的域名,并填写;如下图所示:

Android Charles抓包_第8张图片

 

4.设置主机名和端口,安装证书

点击 Help==> SSL Proxying==> Install Charles Root Certificate on a Mobile Device or Remote Browser,如下图所示:

 

点击后会出现下面的弹窗:

1:主机名:192.168.232.85

2:端口号:8888

3:证书地址:chls.pro/ssl

Android Charles抓包_第9张图片

 

打开手机,打开网络详情,点击右上角修改按钮(不同按钮可能操作不一样),如下图所示:

Android Charles抓包_第10张图片

 

点击之后,点击高级选项==>手动代理,代理服务器主机名为上面的主机名,端口为上面的端口号,依次填入并保存。

Android Charles抓包_第11张图片

 

接下来打开手机浏览器,输入上面的证书地址,并下载下来;

下载完毕后开始安装证书,打开设置==>安全==>高级==>加密与凭据==>从SD卡安装证书;(不同的手机位置可能不同,但是找到安装证书就可以)

然后安装我们刚下载的证书:我的证书在 Browser ==> 其他 文件夹中,请自行找到自己的证书文件夹地址并安装;

 

5.项目配置

将上面的证书放在项目的 res ==> raw 文件夹中(没有请创建),如下图所示:

Android Charles抓包_第12张图片

 

在 res ==> xml ==> http.xml(没有请创建),里面代码为:



    
        c.y.qq.com

        





        
        
            
        
    

上面给出了两种方法,在文章最后会对这两种方法给出解释;

 

最后在 AndroidmManifest.xml 文件中的 application 中加入下面代码:

android:networkSecurityConfig="@xml/http"

如下图所示:

Android Charles抓包_第13张图片

 

注意:

如果项目不需要抓包了,或者需要上线测试,请删除 AndroidmManifest.xml 中的配置,以免带来不必要的麻烦和 bug 。

 

6.测试抓包

打开 APP ,并请求依次网络,就可以看到 Charles 中的记录了,可以看到请求成功,方式为 get ,网速延迟等,如下图所示:

Android Charles抓包_第14张图片

 

点击 Contents 就可以看到接口返回内容了,如下图所示:

Android Charles抓包_第15张图片

 

抓包结束;

 

 

在上面的 《5.项目配置》 里面,http.xml 中有两种方法;

第一种方法:手机安装证书,直接使用 user 即可,不需要在项目中配置证书了。

第二种方法:不需要手机安装证书,直接在项目中配置证书。

 

你可能感兴趣的:(Android,理论知识,Android,Charles抓包,Charles抓包,android,抓包)