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

这篇具有很好参考价值的文章主要介绍了《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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类型网址的包信息。这部分宏哥在上一篇中就提到过。如下图所示:

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

6.Charles抓取HTTPS原理

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

 

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

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.浏览器情况:不能正常访问百度,出现这个类似证书错误的提示,如下图所示:

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

7.1安装证书

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

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

7.2配置SSL代理

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

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

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

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

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

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话,Charles,https,网络协议,http,测试工具,网络

 8.小结

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

Q: HTTPS 为什么安全?

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

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

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

Q: 为什么需要证书?

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

Q: 使用 HTTPS 会被抓包吗?

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

  -每天学习一点,今后必成大神-

往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):

Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试

Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南

Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架

Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架

Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程文章来源地址https://www.toymoban.com/news/detail-812975.html

到了这里,关于《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包