1.下载charles
可以根据自己的操作系统,到charles官网下载相应的安装程序
网址 : charles官网
2.抓HTTP请求
2.1. 设置代理(手机和电脑要在同一个网络)
1)查看charles默认端口 Proxy->Proxy Settings 在这个页面会看到HTTP Proxy的默认端口是8888 我们不需要修改,只需要知道有这个值就行。
2)查看本机ip : window ipconfig mac os ifconfig
3)设置手机HTTP代理(这里以iPhone的手机展示):
4)设置代理后保存会charles会弹窗提醒,选择allow按钮
完成了上面几个步骤就可以抓取到HTTP的数据包,是不是很简单,下面讲讲HTTPS的抓取。
3.HTTPS数据包抓取(需要安装SSL证书)
3.1. 设置charles ssl代理
Proxy->SSL Proxy Settings 弹出一个ssl代理设置界面
1).Enable SSL Proxying复选框打上勾
2).添加你想要的设置代理的域名,端口默认443
3.2. 手机上安装证书(iOS模拟器也可以安装证书选择第二个就可以)
1)Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser... ,只会会弹窗一个提示框:
在手机的浏览器输入chls.pro/ssl 。然后根据步骤一步步安装证书,会显示在iPhone手机的描述文件界面。
到这里就可以抓取HTTPS的请求了。
4. HTTPS抓取的一些问题处理
1) SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations
如图:
原因:没有配置host
解决方法:配置host
Proxy->SSL Proxying Setting->SSL Proxying ,点击下载的add,会弹出输入host的输入框
如果想抓取所有的https可以在输入框填*,一般抓取指定的host。port可以添加*。
2)Client SSL handshake failed - Remote host closed connection during handshake
原因:证书没有完全信任
解决方法:完全信任证书
将上面的证书开关打开即可
到这就完了,如果读者在抓包的过程中还有什么问题,欢迎随时叨唠。