前言
Charles 是一款HTTP代理服务器/HTTP监视器/反向代理服务器,当程序通过Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)
以上是Charles官网的介绍,Charles总的来说就是一个http监视软件,它通过设置系统代理从而帮你转发http或者tcp(socket)请求,如果你有需求的话,这样你可以非常清晰的看到你所有的请求报文。在服务端的同学肯定会有强烈需求,这报文信息是和客户端同学交si流bi非常有效的凭证。不仅如此Charles还自带非常强大的功能,可以例如模拟弱网请求,设置断点更改报文然后发送,域名映射等等。本文分享Charles的简单使用。
p.s. 因为缺少win环境,所以操作环境是macos,win差不多相同,唯独资源需要自己找找
安装
- 下载这个连接,然后打开,一直点下一步,期间会让你输入密码,输入即可,这是一个脚本,需要权限写入应用文件夹
- 激活步骤里面有秘钥,大家可以选择性激活体验,如果不用秘钥也可以使用只不过有应用启动等待15秒
macOS下安装软件确实挺傻瓜的….没啥需要介绍的….
需要说明的是,Charles它可以监听你这台设备下的所有请求,也可以代理设置区域网下其他设备的请求(最常见的是抓取移动设备的app),下面分别介绍如何配置
当前设备配置代理(装Charles的电脑)
- 确认开启macos的代理,也可以在设置-网络-高级-代理-网页代理(http)代理
如果想要修改端口可以在charles菜单栏proxy-proxy settings进行设置
- 这个时候你已经可以进行简单的http的请求解析了,但是如果需要抓取https的话,还需要为你的电脑安装证书,这个证书可以使得浏览器信任charles。
help-ssl prcxying-Install Charles Root Certificate
。(ssl是https的使用的加密协议)
- 找到这个证书,然后把这里所有东西都始终信任, cmd+s保存关闭的时候会提示输入密码,输入密码就好了
- 设置ssl代理范围,Charles菜单栏选择proxy-SSL Proxying Setting
- 首先勾选启动代理,然后添加需要代理的host,把host设置成通配
*
,然后端口443(https端口)
届时所有的http和https请求你都可以监听并且正常解析了, 我们测试一下
界面介绍
这个界面整体来说比较通俗移动,随便点一点就知道大概功能
抓取局域网设备(已移动设备安卓系统为例)
首先的大前提,就是要抓取的设备在同一个区域网这样才可以成功代理上,如果不在一个区域网那怎么办?答案是想办法弄到一个区域网上去,开热点,usb共享网络,内网穿透之类的,这个是大前提,否则下面的不用看了。
- 抓取局域网设备核心步骤依然是设备设置系统代理,然后安装charles证书,唯独有区别的是,当前装charles设备代理的端口是localhost(127.0.0.1)的8888端口.而区域网其他设备它自己有自己的localhost,它不能设置成localhost,而需要设置成装charles这台设备的区域网ip。
- 打开移动设备-设置-wlan-长按ssid-选择修改-代理选择手动-代理服务器输入装了charles电脑的ip,端口8888,其他的不用设置直接点保存
- 此时charles会弹出远程代理,是否监听这个远程主机,点击allow。如果你不小心点了拒绝或者后面想要管理,你可以去charles菜单栏proxy-access conrtol settings里面进行管理。
- 此时其实你已经可以抓取移动设备上浏览的简单的http请求,但是https快速推进的时代,很少有单纯的http网站,你没安装https证书极有可能一个网站都访问不了,并且频繁提示不信任证书,所以我们依然要像上面一样安装一下证书。安装证书有两种方式,第一种是想在电脑一样安装把证书下载下来然后传到手机,第二种就方便一些,访问一个charles搭建的内网网站即可下载,我们选择第二种
- 在手机上访问
chls.pro/ssl
,然后点击安装输入一下密码就好了
- 最后手机访问知乎,在charles就可以看到知乎的https的报文信息啦(配置完如果没有请求,建议重启一下charles)
后言
简单的配置和基本的功能界面介绍就是这样,文章已经很长了,所以个别功能就没有很详细的做介绍,一方面是界面很通俗易懂说明大概功能大家点几下就可以get到,有空会分享一些我常用的功能来解决我工作上的一些痛点。
(转载本站文章请注明作者和出处 没有气的汽水)
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐ ├ 文章已经完啦, 想要第一时间收到文章更新可以关注↓ ┤ └┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘
Post Directory
下面是评论区,欢迎大家留言探讨或者指出错误哈