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. eas账号是什么意思_刚开始做抖音带货和好物推荐,如何布局抖音种草账号矩阵?...
  2. 上映 10 天,票房就突破 10 亿的《海王》真的有那么好看?
  3. 解决mysql-5.5导入数据报错
  4. hi3559 h264
  5. 如何将django部署从顶级目录迁移到子目录下(NGINX UWSGI DJANGO)
  6. JS 将负数转化为正数
  7. zookeeper集群搭建配置zoo.cnf
  8. 13.2.7 中间件
  9. BASIC-1 闰年判断
  10. 新云网、5G、Wi-Fi 6 Plus,探秘2021通信展上的锐捷网络黑科技
  11. 我密集面试了若干位Java后端的候选人,给广大程序员的一点建议
  12. Nodejs cluster模块深入探究
  13. 如何创建GOOGLE ADS的MCC经理账户,有什么好处?
  14. 支付宝快捷支付接入问题
  15. PyTorch: TORCHVISION.TRANSFORMS
  16. 【Kepware与S71500连接 返回协议错误0X81解决方案】
  17. 世事洞明职场“行”(上篇)——刘墉力作《我不是教你诈》花絮采撷
  18. css background-attachment属性详解
  19. linux so 文件 执行,Linux .so库的使用
  20. 打开计算机网络自动连接,电脑网络自动连接如何设置

热门文章

  1. 深度学习 Fine-tune 技巧
  2. XP系统优化简单实用技法收藏
  3. Autodesk Maya 2024.1.0 三维动画建模软件官方中文正式版
  4. 3dcaptcha php,php Captcha验证码类
  5. 街霸:隆(Ryu)建模及模型下载
  6. ORM是什么?及ORM框架是什么?
  7. 智慧公厕改造方案!中期科技ZONTREE美丽县城智慧厕所的设计案例
  8. 初入Python-提升PV数(提升浏览量)
  9. 米家扫地机器人扫到一半停了_米家扫地机器人1S,一件可协助你打扫的家居艺术品...
  10. JUnit测试模拟JoinPoint