手把手教你用Charles抓包

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一块儿天天进步一点点服务器

平常开发过程当中不免要进行抓包,查看服务端返回的数据是否正常,而Charles可谓是抓包利器了。微信

下载安装地址:www.charlesproxy.com/网络

原理浅析

配置好之后,Charles实际上让电脑成了一个中间代理服务器,咱们手机上的全部请求都会通过电脑,被Charles拦截,而后Charles把本身假装成手机向咱们的远程服务器地址发送请求,因此Charles能记录咱们发送的请求信息;工具

而等服务端响应请求时,其实是响应了Charles的请求,Charles得到服务端的请求之后,又转发给咱们的手机,因此Chaerles能得到服务端响应的详细信息。spa

使用Charles

普通http抓包

安装好Charles后启动,咱们就能看到不少的请求信息了,由于Charles启动的时候默认是抓取Mac的全部网络请求的:3d

image

若是要关掉,能够在顶部菜单栏Proxy-->macProxy勾选去掉代理

那咱们要抓手机应用的网络请求呢?code

首先咱们须要让手机的全部网络请求都通过装有Charles的Mac电脑,要达到这个效果只须要给手机的网络设置一个代理,代理IP就是Mac的IP,代理的端口就是Charles中设置的端口cdn

贴心的是,Charles还提供了查询本机IP的工具:顶部菜单help-->Local IP Address,就能很方便的获取本机的IP地址blog

image

拿到电脑的IP地址之后,咱们还须要知道代理的端口,Charles默认的端口是8888,这个也能够查看和设置。打开顶部菜单Proxy-->Proxy Setting

image

接下去就是设置手机的网络代理了,设置方式也很简单。

  • 打开手机当前链接的WI-FI详情页,能够找到一个代理的选项
  • 而后选择手动,就会出现主机名端口的选项,分别填入上面查到的IP地址和端口号保存便可
  • 这时电脑端的Charles就会弹出一个提示,大意是选择是否监听抓包之类的,选择Allow便可

记过以上简单几步,charles就能抓手机的包了。

Https抓包

如今不少了网页连接都是Https的了,而上面的设置只能抓Http的请求。要想抓Https请求,咱们还须要几步设置才行。

Https的一个特色是请求时会校验证书,而从文章开头咱们简单介绍的charles的原理中咱们也能大概知道,只须要在Http抓包的基础上增长一个Https的证书就能够实现Https抓包了。这个Https证书包括2个:

  • 一个是Charles自己须要配置一个Https证书,这样Charles才能和服务端正常的通讯
  • 再一个就是手机端的Https证书了,这样手机才能和Charles正常通讯
  • 实际上,至关于Charles从普通的Http代理服务器变成了Https服务器
(1)Charles安装Https证书

首先打开顶部Charles菜单:Help-->SSL Proxying,能够看到有不少选项

  • 选择Install Charles Root Certificate,也就是安装Charles的根证书
  • 在打开的钥匙串里面,选择Charles Proxy CA,双击打开,选择始终信任便可

image

(2)手机安装Https证书

仍是上面的同一个菜单入口,此次就要根据手机不一样选择不一样了

image

选择对应手机型号之后,就会出现一个提示框,里面有下载证书的地址http://chls.pro/ssl,手机上打开对应的连接便可下载安装

(3)Charles设置

手机安装好证书之后,打开Charles的菜单:Proxy-->SSL Proxying Settings

通过以上几步,Charles就能够进行Https抓包啦!

其余

使用完Charles之后,手机上记得把代理去掉,否则手机就没办法上网了哦


欢迎关注个人微信公众号,和我一块儿天天进步一点点!
复制代码

AntDream
相关文章
相关标签/搜索