抓包神器charles的使用

一、charles的安装

下载地址:

https://www.charlesproxy.com/download/

1.windows和mac系统

下载相应的安装文件点击安装即可

2.Linux系统
A.debian/ubuntu/deepin等

(1)添加安装使用的公钥

  1. wget -q -O - https://www.charlesproxy.com/packages/apt/PublicKey | sudo apt-key add

(2)添加仓库地址:

  1. sudo sh -c 'echo deb https://www.charlesproxy.com/packages/apt/ charles-proxy main > /etc/apt/sources.list.d/charles.list'

(3)通过apt-get安装

  1. sudo apt-get update
  2. sudo apt-get install charles-proxy
B.redhat/centos等

(1)添加镜像地址

  1. cat /etc/yum.repos.d/Charles.repo

输入以下内容

  1. [charlesproxy]name=Charles Proxy Repository
  2. baseurl=https://www.charlesproxy.com/packages/yum
  3. gpgkey=https://www.charlesproxy.com/packages/yum/PublicKey

(2)通过yum安装

  1. sudo yum install charles-proxy

二、抓包配置

1.启动charles
2.手机代理设置

(1)打开“设置”->“网络和连接”->”无线网络”

无线网络设置

注:各个手机可能有些许差异

(2)进入无线网络连接列表,进入目前连接的无线网络

无线网络列表

(3)进入连接的无线网络详情,点击”代理设置”

无线网络代理设置

(4)进入代理设置页,选择“手动”,默认是无

手动代理设置

(5)填写代理服务器地址,即安装charles的地址

填写代理服务器地址

注:

  • windows通过网络连接查看,或通过ipconfig命令查看
  • linux或mac通过ifconfig查看
3.通过手机浏览器访问网页或打开某个APP

如,打开”今日头条”

注:在第一次打开时,charles会弹出一个确认框,确认是否允许手机的代理,点击“Allow”即可

4.在charles中查看抓取的内容

抓取内容演示

至此,抓取HTTP请求的数据已经配置完成,但是发现无法抓取HTTPS的内容,抓取的请求和响应都是乱码,那是因为没有设置安全证书的原因。下面将讲解如何安装安全证书。

5.在charles中安装根证书

在charles菜单栏中依次点击 “Help”->”SSL Proxying”->”Install Charles Root Certificate”

![charles安装根证书]

安装根证书

6.在charles中设置设备或浏览器证书下载

手机浏览器上下载根证书

7.在手机浏览器中输入http://chls.pro/ssl ,下载证书

手机浏览器上安装证书

8.将证书设置为信任

将证书设备为信任

9.设置需要抓包目标域名

(1)在charles菜单中依次选择“Proxy”->SSL Proxying Settings..

(2)添加要抓取的域名

注:可以使用通配符*表示所有域名

(3)抓取的https的效果

三、代理到本地开发调试

注:即当在手机上访问m.baidu.com时,实际访问的是映射的地址的内容

1.打开代理到本地的菜单

依次点击”Tools”->”Map Remote”

2.填写相关配置

3.在charles中显示的是映射后的内容