广告
返回顶部
首页 > 资讯 > 前端开发 > html >如何理解https与抓包
  • 458
分享到

如何理解https与抓包

2024-04-02 19:04:59 458人浏览 八月长安
摘要

这篇文章主要介绍“如何理解https与抓包”,在日常操作中,相信很多人在如何理解Https与抓包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解https与抓包”的疑惑

这篇文章主要介绍“如何理解https与抓包”,在日常操作中,相信很多人在如何理解Https与抓包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解https与抓包”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

 0x00 HTTP之殇

  • 数据明文传输,易嗅探

  • 数据完整性无验证,易篡改

  • 网站身份无认证,易假冒

由此诞生HTTPS。

0x01 什么是HTTPS
HTTP + SSL/TLS

TLS是SSL的升级版

二图胜千言:

如何理解https与抓包

作用:防嗅探,防篡改,身份认证

0x02 https握手过程
建立https连接(明文),再用对称加密传输数据。

tcp三次握手

C->S:[client hello] C发送hello消息(协议版本,随机数c,加密组件列表等)给S,请求建立SSL会话。

S->C: [server hello]返回响应(确认加密组件,随机数s等)。

S->C: [certificate]返回响应certificate(网站证书)。

S->C: [server key exchange]指定密钥协商(交换)协议(密钥协商方式),发送密钥协商(交换)算法的公钥给C。

S->C: [server hello done]发送serverhellodone,开始C的密钥协商。

C->S: [clienTKEyexchange]C生成密钥协商(交换)算法公私钥,发送公钥给S,此时C和S可以协商出相同的密钥pre master secret,现在C和S可以通过c,s,pre master三个随机数算出对称加密的密钥。(这里本人还看到一个版本是C生成pre master secret 后用密钥交换/协商算法加密发送到S,本人认为不需要发送,S通过C发送的密钥协商的公钥和自己生成的一个随机数xs可以自己计算出这个pre master secret。还有一个版本是对称加密的密钥是C用S的证书公钥加密给S用私钥解密获得,这里本人认为此对称密钥S也可由c,s,pre master自己生成不需要C发送。)

C->S: [changecipherspec]通知S此消息以后C以加密方式发送数据。

C->S: C用生成的对称密钥加密之前所有握手消息hash,发送给S解密验证hash。

S->C: [changecipherspec]通知C此消息后S以加密方式发送数据。

S->C: S用对称密钥加密之前所有握手消息hash,发送给C进行解密验证hash。

开始对称加密传输数据……(Application Data)

0x03 抓包分析https握手流程
以浏览器打开https://www.52pojie.cn为例

1. dns解析和tcp三次握手

如何理解https与抓包

2. clienthello:

如何理解https与抓包

可以看出浏览器发送了支持的协议版本TLS1.2,32字节随机数c,加密组件cipher等信息给S。

3. serverhello:

如何理解https与抓包

可以看出S选择了TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384加密组件,解释如下:
密钥交换算法,用于决定客户端与服务器之间在握手的过程中如何认证,用到的算法包括RSA,Diffie-Hellman,ECDH,PSK等,这里选择了ECDHE。

加密算法,用于加密消息流,该名称后通常会带有两个数字,分别表示密钥的长度和初始向量的长度,比如DES 56/56, RC2 56/128, RC4 128/128, AES 128/128, AES 256/256。这里选择了AES。

报文认证信息码(Mac)算法,用于创建报文摘要,确保消息的完整性(没有被篡改),算法包括MD5,SHA等。这里选择了SHA384。

PRF(伪随机数函数),用于生成“master secret”。

S还发送了32字节随机数s。

4.certificate:

如何理解https与抓包

第一个cert是52pojie网站的证书,第二个cert是颁发者trustasia机构的证书。

如何理解https与抓包

这里可以获得证书的详细信息

5. serverkeyexchange和serverhellodone:

如何理解https与抓包

可以看出使用ECDH密钥交换算法,指定椭圆曲线secp256r1,还有发送了DH算法协商的公钥给C。

6. Clientkeyexchange和client change cipher spec:

如何理解https与抓包

这里C发送了DH算法协商的公钥给S,以及加密了握手消息给S进行验证。

7. server change cipher spec:

如何理解https与抓包

服务端使用Ticket方式存储session状态,在Server Change Cipher Spec之前就需要发送New Session Ticket消息,这部分就不细说了。这里S加密握手消息给C进行验证。

8. application data:

如何理解https与抓包

这里可以看出双方握手完毕,以后的消息都进行对称加密,已经无法看出明文了。

0x04 其他
由于握手流程导致https速度比http慢,本人认为其带来的安全性更为重要,而速度虽然较慢,但是用户几乎感觉不到,而且有很多优化措施可以提升速度。
有了https并不能完全保证网站安全,安全是多因素,多环节的,即使有https,某个‘短板’就可以沦陷一个网站,并且https自身也非安全,如著名的心脏出血漏洞。
https也非绝对防止MITM,如伪造证书,导出明文密码等。

到此,关于“如何理解https与抓包”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 如何理解https与抓包

本文链接: https://www.lsjlt.com/news/84494.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解https与抓包
    这篇文章主要介绍“如何理解https与抓包”,在日常操作中,相信很多人在如何理解https与抓包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解https与抓包”的疑惑...
    99+
    2022-10-19
  • Fiddler抓包之【 抓取https请求 】详解教程
      目录:导读 引言 概况 基本原理 抓HTTPS的原理 HTTPS请求两类 Fiddler抓包要求 总结 写在最后 引言   在日常测试中,不管是功能测试还是接口测试,避免不了抓包。抓包工具有很多,这里只讲fiddler的使用,并且...
    99+
    2023-09-14
    软件测试 fiddler fiddler抓包 https 服务器
  • Android开发如何防止被Fiddler抓取HTTP/HTTPS数据包
          Android开发过程中需要网络访问获取数据,一般都是通过HTTP/HTTPS请求服务器获取数据;      但是HTTP/HTTPS请求很容易被别人使用一些像Fi...
    99+
    2022-06-06
    https HTTP fiddler android开发 Android
  • android 7.0以上 https使用charles抓包 提示 unknow 解决方案
    关于android7.0以上https抓包问题,在charles都配置好的情况下依然提示unknow,解决方案如下 一、在res->xml下新建 network_security_config....
    99+
    2023-09-10
    android https 网络协议
  • 详解IOS如何防止抓包
    目录抓包原理防止抓包一、发起请求之前判断是否存在代理,存在代理就直接返回,请求失败。二、我们可以在请求配置中清空代理,让请求不走代理SSL Pinning(AFN+SSL Pinni...
    99+
    2022-05-30
    IOS 防止抓包
  • Flutter配置代理抓包如何实现
    今天小编给大家分享一下Flutter配置代理抓包如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。背景在开发Flutte...
    99+
    2023-07-05
  • nodejs如何抓包工具
    这篇文章主要介绍nodejs如何抓包工具,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.在你的电脑桌面新建一个reptileDemo文件夹。然后进入文件夹,然后在改文件夹目录下打开...
    99+
    2022-10-19
  • AndroidApp如何防止抓包
    目录前言正文补充:使用证书校验总结前言 App安全非常重要,尤其是数据安全。但是我们知道通过Charles等工具可以对App的网络请求进行抓包,如果我们的数据没有进行加密,这样这些信...
    99+
    2022-11-13
  • wireshark如何抓组播包
    要在Wireshark中抓取组播包,你可以按照以下步骤进行操作:1. 打开Wireshark软件。2. 在Wireshark的界面上...
    99+
    2023-08-18
    wireshark
  • ubuntu如何使用wireshake抓包
    ubuntu使用wireshake抓包的方法:1、首先需要安装wireshark,可在终端命令行中使用“apt-get update”命令更新源文件后,再通过“apt-get install wireshark”命令安装wireshark;...
    99+
    2022-10-09
  • wireshark抓包后如何分析
    wireshark是一款流行的网络数据包分析工具,它可以用于抓取网络数据包并进行分析。下面是一些分析抓包数据的常见步骤:1. 打开w...
    99+
    2023-09-14
    wireshark
  • wireshark抓包数据如何看
    在Wireshark中查看抓包数据,可以按照以下步骤进行操作:1. 打开Wireshark软件,并选择要查看的网络接口进行抓包。2....
    99+
    2023-08-18
    wireshark
  • Flutter配置代理抓包实现过程详解
    目录背景工具准备配置Flutter代理方式一、http请求库配置代理web_socket_channel配置代理方式二、重写原生方法背景 在开发Flutter中,我们经常需要对网络...
    99+
    2023-02-13
    Flutter配置抓包 Flutter 配置 抓包
  • 如何理解HTTPS加密算法
    本篇文章为大家展示了如何理解HTTPS加密算法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言我们将会详细介绍RSA和ECDHE算法的原理以及在HTTPS密钥交换中的应用。非对称秘钥交换1RSA算...
    99+
    2023-06-03
  • 如何使用tcpdump命令抓包
    如何使用tcpdump命令抓包 一、前言二、tcpdump命令使用 一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡,小伙伴们,让我们一起来学习如何使用tcpdump命令抓包。如果文...
    99+
    2023-08-31
    tcpdump 网络 服务器
  • 微信小程序抓包与逆向+微信小程序反编译教程+解包教程+解包工具
    免责声明 做视频的初衷是为了学习交流,是想让自己在分享过程中学习到更多的东西 本人发布的视频、环境、软件、脚本、文章、资料等,都只用于学习交流安全技术,请不要用于任何非法用途, 否则后果自付 部分技术...
    99+
    2023-09-20
    微信小程序 小程序 微信
  • Java如何使用Fiddler抓包工具
    这篇文章将为大家详细讲解有关Java如何使用Fiddler抓包工具,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一. 下载安装Fiddler这里强烈建议大家在官网上下载安装,在此附上链接https://w...
    99+
    2023-06-29
  • (详解)如何为模拟器安装Burpsuite证书并抓包
    ✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :网络协议分析-抓包 📃新人博主 :欢迎点赞收藏关注,会回访! Ὂ...
    99+
    2023-09-11
    网络 https 服务器
  • 详解Go如何快速实现驱动层流量抓包
    本篇文章给大家带来了关于golang的相关知识,其中主要给大家聊聊golang中怎么实现驱动层流量抓包,感兴趣的朋友一起来看一下吧,希望对大家有帮助。一、驱动抓包应用层抓包我们可以使用Fiddler、Httpdebugger、Charles...
    99+
    2023-05-14
    Golang
  • python如何使用libpcap库进行抓包及数据处理
    今天小编给大家分享一下python如何使用libpcap库进行抓包及数据处理的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。p...
    99+
    2023-07-04
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作