您的位置:首页 > 理论基础 > 计算机网络

[笔记]如何通过Charles抓取https协议请求

2016-12-23 18:30 288 查看
前段时间为应对苹果App Store对网络请求必须为https的要求,公司专门立项对现有网络请求进行了https的支持和切换。

抓包工具比如Charles如果不进行相关的配置,是抓不到https的请求包的,怎么配置?

首先安装Charles,公司QA友情提供的安装包是:

Charles安装包下载地址:https://pan.baidu.com/s/1skHVzpN 密码: 1mra

安装后将charles.jar包替换安装目录lib下同名jar包

配置步骤如下:

1.PC端安装证书

1.1在Charles面板顶部导航栏,点击Help->SSL Proxying->Insall Charles Root Certificate,将弹出如下页面:



1.2 证书下载成功后会弹出下图提示框,点击安装证书:



1.3 在弹出的新页面中,选择“受信任的根证书办法机构”然后点击确定:



至此,PC端证书安装完毕。

1.4 捕获https协议请求。点击Charles面板顶部导航栏的Proxy->SSL Proxying Settings:



1.5 在弹出框中勾选Enable SSL Proxying然后点击Add。弹出下图对话框,Host 表示要抓取的 ip 地址或是链接,*代表捕获所有的请求,Port 填写 443 即可。



2.移动端安装证书

设置手机代理为电脑ip,打开手机浏览器,输入:charlesproxy.com/getssl 会弹出如下界面:

iOS:如下图,点击Install即可。



Andr:如下图:输入证书名(任意取个名字),点击确认设置完成。



至此,Charles就可以抓取手机上的https协议请求了。

对Andr手机来说,上面是理想情况。如果你在安装证书的过程中,没有出现上述输入证书页面,首先可以考虑换个手机浏览器。

如果换了浏览器,虽然出现了证书下载成功的提示,但是没出现上述输入证书页面,类似如下情况:



点击下载后,出现:



点击打开,出现:



此时说明证书已经下载成功了。打开手机设置->高级设置->安全->受信任的凭证,在用户Tab栏,可以看到Charles的证书文件。

点击,就会弹出上述的输入证书名称的页面了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: