Https原理:

a.Https == Http + SSL(TSL),SSL是网景公司的命名,TSL为OSI组织接手名的命名

b.要解决的问题:传统HTTP协议可能有三大风险:

b.1 被截获并获取内容(因为是明文传输)
               b.2 被修改内容(无校验)
               b.3 被伪装(无身份识别)

因此Https引入了三个方案解决上述问题:

b.1 传输数据加密,防止被截获
               b.2 服务器身份证书(特殊情况下也有客户端身份证书),防止被伪装
               b.3 握手过程中传递hashcode进行数据检验,防修改

c.握手原理及传输原理

握手包括四次通信(C表示客户端,S表示服务器)
               c.1 C-->S
                   协议版本,如TLS1.0 
                   随机数R1
                   加密方法
                   压缩方法
               c.2 S-->C
                   确认协议版本
                   随机数R2
                   确认加密方法
                   服务器证书(证书含有公钥)
                c.3 C-->S
                   随机数R3(要使用服务器公钥加密,防止被窃听),此处有一个注意点:是一个非对称加密,客户端用服务器的公钥加密的内容,在服务器端用私钥解密即可得到该R3,其他人拿到数据是得不到R3的。
                   编码改变通知(明文要变为密文)
                   握手结束通知(发用于检验的hash值,由前述内容生成)
               c.4 S-->C
                   编码改变通知
                   握手结束通知(发用于检验的hash值,由前述内容生成)
                   传输就是普通的对称加密数据传输

抓包工具对https的实现

常用抓包工具Fiddler和Charles抓取Https包的原理是相近的,都是做了一个中间转发。以Fiddler为例,对于客户端来讲,Fiddler就是服务器,对服务器来讲,Fiddler伪装客户端。详情来讲,对于C中提到的四个过程,Fiddler既做客户端,又做服务器。如何做到让客户端和服务器均信任呢?关键在于证书,客户端需要安装Fiddler的证书,这样,从客户端发往Fiddler的命令就是全透明的,其c.3中加密随机数R3也是用Fiddler的证书中的公钥进行的加密。Fiddler拿到客户端明文信息之后,以客户端的格式向服务器进行通信,拿到服务器下发的客户端所关心的数据,再以Fiddler与客户端协商的加密算法发给客户端即可。

注:一个伪随机很容易被猜出,来源不同的三个伪随机就接近真的随机数了(源于ssl协议的握手中随机数应用原理)

Https原理总结及抓包Https的工作原理相关推荐

  1. Wireshark抓包分析交换机工作原理

    [实验名称] 交换机工作原理 [实验目的] 1.熟悉Linux虚拟网络环境: 2.熟悉Linux中network namespace的基本操作: 3.熟悉Linux中虚拟以太网设备Tap和veth p ...

  2. Charles抓包https

    Charles抓包https 灰灰是只小贱狗 2018.05.08 10:46 字数 762 阅读 7800评论 3喜欢 3 抓取HTTPS请求包,对数据进行排查检验 1.安装Charles 2.电脑 ...

  3. charles抓包https证书下载

    charles抓包https 概述 在charle和手机端都安装证书,其他和http请求一样 原理: 看过来 1.charles证书下载 下一步 下一步* 打开电脑端设置 ![在这里插入图片描述](h ...

  4. HTTP/HTTPS 请求与防抓包

    TCP/IP分层 TCP/IP的分层共分为四层:应用层.传输层.网络层.数据链路层: 应用层:向用户提供应用层服务时的通讯活动(ftp.dns.http) 传输层:网络连接中两台计算机的数据传输(tc ...

  5. Charles 抓包 Https 配置指南

    一.说明 在做客户端开发的时候大家一定经常用到抓包工具去抓接口排查调试,非常的简捷方便.Charles 是一款非常好用的抓包工具,我在日常开发中也很喜欢用其进行接口联调.问题排查. 以前的客户端接口请 ...

  6. Charles抓包https(测试app的双向认证)

    HTTPS抓包 HTTPS的抓包需要在HTTP抓包基础上再进行设置 设置前抓包HTTPS是这样的 设置后抓包HTTPS长这样 以下为在HTTP抓包基础上进行HTTP抓包的进一步设置步骤: (1)安装S ...

  7. 手机抓包HTTPS (Fiddler Packet Capture)

    手机抓包HTTPS (Fiddler & Packet Capture) 以前写了一个小游戏(消灭病毒)的刷金币小脚本,使用需要获取openid ,就需要抓微信的HTTPS包 一直都是用Fid ...

  8. fiddler在ios10.3系统抓包https失败原因解决

    一直是按照以往的设置抓包,设置代理ip,通过Safari下载安装证书,抓包https怎么显示证书无效呢?难道证书被apple设为黑名单了?google后发现,IOS10.3以后,安装了证书不是默认启用 ...

  9. Charles 抓包工具教程(二) Charles 抓包HTTPS请求

    本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ Charles 抓包HTTPS请求 一.MacOS 安装 Chares 证书 二. ...

最新文章

  1. 效率提升多倍, 推荐值得收藏40 个命令总结
  2. Android Audio代码分析7 - stream type
  3. Server 2008 R2多用户远程桌面连接授权,解决120天过期问题
  4. Contest Hunter CH6201 走廊泼水节 最小生成树 Kruskal
  5. Express Session 的基本使用
  6. 开发人员kpi怎么写_为什么开发人员应该知道怎么写
  7. photoshop cs5快捷键的用法总结
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的个人博客系统
  9. 回到顶部 jquery
  10. python 超高精度除法_Python十进制-除法,舍入,精度
  11. 脚本故事 - 2003年11月
  12. word提示“无法创建工作文件,请检查临时环境变量”的解决办法
  13. Android 第一行代码(第2版).pdf 网盘
  14. ISO14000标准与ISO9000标准异同(转载)
  15. 【实用案例】R语言gdm函数实现地理探测器分析
  16. ca盘显示无证书_ca证书提示没有正确的安装驱动程序
  17. 大学计算机基础通俗易懂教材,大学计算机基础(21世纪高等学校计算机规划教材)...
  18. 华尔街见闻:泰格马克引领未来AI《见面》之旅
  19. 基础理论知识复习(上)
  20. 富途出海淘金:泡沫翻涌 焦虑不止

热门文章

  1. 微调(linear probing和 full finetune)技巧
  2. 在word中更改所有字母和数字的格式
  3. 乐视能在电视机行业复制小米的成功吗?
  4. node 进入网站服务器,node怎么启动服务器?
  5. 谷歌浏览器本地访问跨域问题解决
  6. Elmedia Player Pro for Mac(视频播放器)
  7. c语言作业 求1到n的阶乘和,C语言,计算1到n的阶乘求和问题
  8. DeepDecision: A Mobile Deep Learning Framework for Edge Video Analytics
  9. SpringCloud: 路由网关(zuul)
  10. HEC-HMS和HEC-RAS快速入门、防洪评价报告编制及洪水建模、洪水危险性评价等应用