《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话

整理,保姆,系列,教程,玩转,charles,神器,如何,设置,捕获,https · 浏览次数 : 481

小编点评

**简介** 在网络时代,互联网安全至关重要,网络安全在近日多起电信诈骗事情发酵下的情况下,引起国家,企业,个人对于互联网安全进一步的重视。而之前很多以http协议传输的网站出现的网站信息泄露,个人信息裸露在大数据的泳池中,让我们在遇到一个陌生网站的时候,就会格外考虑其安全性。通过认证SSL证书的以https加密协议访问网站比没有加密的http协议访问网站要安全的多。 **HTTPHTTP:什么是互联网上应用最为广泛的一种网络协议?** HTTP(Hypertext Transfer Protocol)是互联网上应用最为广泛的一种网络协议,用于从WWW服务器传输超文本到本地浏览器的传输协议。 **HTTPSHTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。** **HTTP和HTTPS区别** * **HTTP**是超文本传输协议,信息是明文传输,**HTTPS**则是具有安全性的ssl加密传输协议。 * **HTTP**的连接很简单,是无状态的;**HTTPS**协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比**http**协议安全。 * **HTTPS**需要到ca申请证书,一般免费证书较少,因而需要一定费用。 **Charles抓取HTTP包** Charles 是一个SSL抓取工具,它可以抓取任何支持SSL的网站。 **Charles抓取HTTPS原理** Charles 的主要工作原理就是:对客户端伪装成服务器,对服务器伪装成客户端。 **安装证书** 安装证书是从上边的错误我们可以看出是证书问题,那我们就需要安装一下证书在电脑端,具体操作步骤如下: 1. 打开Charles,点击help-->SSL Proxying-->Install Charles root  Certificate 安装证书,如下图所示: 2. 点击完“Install Charles root  Certificate”后,然后点击“安装证书”,如下图所示: 3. 点击“安装证书”后,选择存储位置“本地计算机”,点击“下一步”,如下图所示: 4. 证书存储位置选择‘将所有的证书都放入下列存储’,然后点击证书存储后的“浏览”,证书存储选择“受信任的根证书颁发机构”,点击“确定”,如下图所示: 5. 点击“下一步”,如下图所示: 6. 点击“完成”,提示导入成功。 **配置SSL代理证书** 配置SSL代理证书安装好后,我们还需要配置Charles,具体操作步骤如下: 1. 打开Charles,点击proxy>SSL Proxying Settings打开如下弹框,勾选ssl代理开关,左侧inclide为需要抓取的代理,右侧为需要排除抓取的代理,如下图所示: 2.右侧exclude排除的,点击add即可添加,host为域名,port为端口号,我们要想抓取https,在include里,点击add,填写需要抓取https的host,port里填写443即可,也可以用*号代替。

正文

1.简介

 在大数据时代,互联网时代,个人信息安全尤为重要,网络安全在近日多起电信诈骗事情发酵下的情况下,引起国家,企业,个人对于互联网安全进一步的重视。而之前很多以http协议传输的网站出现的网站信息泄露,个人信息裸露在大数据的泳池中,让我们在遇到一个陌生网站的时候,都会格外考虑其安全性。通过认证SSL证书的以https加密协议访问网站比没有加密的http协议访问网站要安全的多。由于近几年来各大网站越来越注重安全性都改成了https协议,不像前十几年前直接是http协议直接裸奔在互联网。还有的小伙伴或者童鞋们按照上一篇宏哥的配置都配置好了,想大展身手抓一下百度的包,结果一试傻眼了,竟然毛都没有抓到,怀疑是不是上了宏哥的当了。不是的哈,今天宏哥趁热打铁接着讲解如何抓取https协议会话。 

2.HTTP

HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少.

3.HTTPS

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

4.HTTP和HTTPS区别

http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

5.Charles抓取HTTP包

charles中不安装证书,默认就能抓http类型网址的包信息。这部分宏哥在上一篇中就提到过。如下图所示:

6.Charles抓取HTTPS原理

Charles 的主要工作原理就是:对客户端伪装成服务器,对服务器伪装成客户端。

 

1.客户端向服务器发起HTTPS请求

2.Charles拦截客户端的请求,伪装成客户端向服务器进行请求

3.服务器向“客户端”(实际上是Charles)返回服务器的CA证书

4.Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。

5.客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称秘钥,用Charles的公钥加密,发送给“服务器”(Charles)

6.Charles拦截客户端的响应,用自己的私钥解密对称密钥(Charles拿到了对密钥),然后用服务器证书公钥加密,发送给服务器。

7.服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应

8.Charles拦截服务器的响应,替换成自己的证书后发送给客户端

至此,连接建立,Charles拿到了 服务器证书的公钥 和 客户端与服务器协商的对称密钥,之后就可以解密或者修改加密的报文了。

7.Charles抓取HTTPS包

宏哥安装好Charles后,没有对其进行任何配置,现在可以抓取http的包,然后宏哥访问百度试着抓取一下百度的https包,看一下会出现什么情况。

1.浏览器情况:不能正常访问百度,出现这个类似证书错误的提示,如下图所示:

2.Charles情况:不能抓取百度的https的包,出现unknown的错误,如下图所示:

7.1安装证书

从上边的错误我们可以看出是证书问题,那我们就需要安装一下证书在电脑端,具体操作步骤如下:

1.打开charles,点击help-->SSL Proxying-->Install Charles root  Certificate 安装证书,如下图所示:

2.点击完“Install Charles root  Certificate”后,然后点击“安装证书”,如下图所示:

3.点击“安装证书”后,选择存储位置“本地计算机”,点击“下一步”,如下图所示:

4.证书存储位置选择‘将所有的证书都放入下列存储’,然后点击证书存储后的“浏览”,证书存储选择“受信任的根证书颁发机构”,点击“确定”,如下图所示:

5.点击“下一步”,如下图所示:

6.点击“完成”,提示导入成功。如下图所示:

7.2配置SSL代理

证书安装好后,我们还需要配置Charles的SSL Proxy Settings。具体操作步骤如下:

1.打开Charles,点击proxy>SSL Proxying Settings打开如下弹框,勾选ssl代理开关,左侧inclide为需要抓取的代理,右侧为需要排除抓取的代理,如下图所示:

2.右侧exclude排除的,点击add即可添加,host为域名,port为端口号,我们要想抓取https,在include里,点击add,填写需要抓取https的host,port里填写443即可,也可以用*号代替。宏哥这里在弹出选项卡中,勾选【Enable SSL Proxying】点击【add】,在Host输入【*】表示接收任何主机,在Prot输入【443】最后点击【ok】保存。如下图所示:

3.完成以上步骤基本就已经结束了,这时候我们打开浏览器输入www.baidu,com便可以抓取到了。

(1)浏览器情况:能正常访问百度,如下图所示:

 

(2)Charles情况:能抓取百度的https的包,如下图所示:

 8.小结

其实从头到尾感觉和Fiddler的抓取Https的步骤差不多,首先安装证书,然后进行抓包工具自身的配置,最后就可以成功抓取到Https包了。

Q: HTTPS 为什么安全?

A: 因为 HTTPS 保证了传输安全,防止传输过程被监听、防止数据被窃取,可以确认网站的真实性。

Q: HTTPS 的传输过程是怎样的?

A: 客户端发起 HTTPS请求,服务端返回证书,客户端对证书进行验证,验证通过后本地生成用于改造对称加密算法的随机数,通过证书中的公钥对随机数进行加密传输到服务端,服务端接收后通过私钥解密得到随机数,之后的数据交互通过对称加密算法进行加解密。

Q: 为什么需要证书?

A: 防止”中间人“攻击,同时可以为网站提供身份证明。

Q: 使用 HTTPS 会被抓包吗?

A: 会被抓包,HTTPS 只防止用户在不知情的情况下通信被监听,如果用户主动授信,是可以构建“中间人”网络,代理软件可以对传输内容进行解密。

与《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话 相似的内容:

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(2)-charles安装激活(Mac)最新简单教程【亲测有效】

1.简介 上一篇中宏哥介绍了如何在Windows系统安装激活Charles,那么使用Mac系统的小伙伴或者童鞋们就不高兴了,怎么没有Mac的安装激活教程了。宏哥不能厚此薄彼,今天专门补充一篇在Mac上安装Charles并且将其激活。 2.Mac下载安装 2.1下载Charles 官网下载:https

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(3)-再识Charles

1.简介 上一篇通过宏哥的介绍想必各位小伙伴或者童鞋们对Charles已经有了一个理性地认识,今天宏哥在从Charles的外貌介绍和分享一下,让小伙伴们或者童鞋们再对Charles有一个感性的认识,今天主要是对Charles的界面进行一个详细的介绍。 2.Charles主界面概览 Charles的主

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话

1.简介 前边几篇宏哥介绍了Charles界面内容以及作用。今天宏哥就讲解和分享如何设置Charles后,我们就可以愉快地捕获会话,进行抓包了。因为上一篇许多小伙伴看到宏哥的Charles可以分开看到request和response,而自己的却看不到,因此有点蒙,有点疑惑。同样的版本显示的界面却是不

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话

1.简介 在大数据时代,互联网时代,个人信息安全尤为重要,网络安全在近日多起电信诈骗事情发酵下的情况下,引起国家,企业,个人对于互联网安全进一步的重视。而之前很多以http协议传输的网站出现的网站信息泄露,个人信息裸露在大数据的泳池中,让我们在遇到一个陌生网站的时候,都会格外考虑其安全性。通过认证S

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(6)-Charles安卓手机抓包大揭秘

1.简介 Charles和Fiddler一样不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求。 Charles也能截获 Android 和 Windows Phone 等设备发出的 HTTP/HTTPS 请求。 今天宏哥讲解和分享Charles如何

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(7)-Charles苹果手机手机抓包知否知否?

1.简介 Charles和Fiddler一样不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求。 Charles也能截获iOS设备发出的请求,比如 iPhone、iPad 和 MacBook 等苹果设备。 今天宏哥讲解和分享Charles如何截获苹果

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(8)-Charles如何进行断点调试

1.简介 Charles和Fiddler一样也有个强大的功能,可以修改发送到服务器的数据包,但是修改前需要拦截,即设置断点。设置断点后,开始拦截接下来所有网页,直到取消断点。这个功能可以在数据包发送之前,修改请求参数;在收到应答包,在js解析和浏览器渲染之前,修改返回结果。有了这个功能,开发者就可以

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(9)-Charles如何修改请求参数和响应数据-上篇

1.简介 宏哥之前一直用postman调接口比较多(web端),也非常容易上手和操作。但有时候想要去修改APP的页面展示,造数据又会比较麻烦,你自己造相对还好些,要是让开发造,还得低眉顺眼的去求人。通过今天的学习后,再也不担心这些烦心事。我们可以通过工具Charles就可以实现。可以用以下三种方法修

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(10)-Charles如何修改请求参数和响应数据-下篇

1.简介 宏哥之前一直用postman调接口比较多(web端),也非常容易上手和操作。但有时候想要去修改APP的页面展示,造数据又会比较麻烦,你自己造相对还好些,要是让开发造,还得低眉顺眼的去求人。通过今天的学习后,再也不担心这些烦心事。我们可以通过工具Charles就可以实现。可以用以下三种方法修

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(11)-Charles如何模拟弱网环境

1.前言 张三:“我写的软件好奇怪啊,在网络好的时候一点问题也没有,但是信号差的时候明显卡顿,看来我只能一直蹲在卫生间、电梯或者地铁(信号差)调bug了”。 Charles:“哈哈哈,傻孩子,我就自带弱网工具呀,在Proxy-->Throttle Setting下,使用前要记得勾选Enable Th