千家信息网

如何理解https与抓包

发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,这篇文章主要介绍"如何理解https与抓包",在日常操作中,相信很多人在如何理解https与抓包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何理解https与抓包"
千家信息网最后更新 2025年11月06日如何理解https与抓包

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

0x00 HTTP之殇

  • 数据明文传输,易嗅探

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

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

由此诞生HTTPS。

0x01 什么是HTTPS
HTTP + SSL/TLS

TLS是SSL的升级版

二图胜千言:

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

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三次握手

2. clienthello:

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

3. serverhello:

可以看出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:

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

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

5. serverkeyexchange和serverhellodone:

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

6. Clientkeyexchange和client change cipher spec:

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

7. server change cipher spec:

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

8. application data:

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

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

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

加密 密钥 消息 算法 协商 对称 公钥 数据 网站 证书 随机数 生成 验证 安全 方式 明文 版本 组件 学习 认证 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全工程师笔试题库 共享服务器如何分区到本地 如何连接到公司点歌服务器 女生如何学习网络技术 中华互联网科技有限公司 陕西服务器机柜品牌云空间 电脑版默纳克万能服务器软件 网络安全50强企业 数据库文件修复工具下载 汕头esop软件开发 数据库设计属于系统设计的范畴 pandas像数据库操作 为什么要网络安全宣传 司法局网络安全等级保护 宁波镇海区商用软件开发推荐 新加坡 软件开发薪资 网站用云服务器价格 网络安全面临的最大困难 dede数据库备份不了 无尽的拉格郎日服务器 谢菲尔德网络安全与人工智能硕士 阿里云服务器数据盘挂载本地 违反网络安全法律法规的事例 信息网络技术与施工 ps4坦克世界服务器是哪个区 如何检查代理服务器配置 深圳清吧微信点餐机软件开发 上海坎纭互联网科技有限公司 朝阳群众网络安全 市政府网络安全建设
0