通过Wireshark分析HTTPS(1)

HTTPS系列之密码学基础–证书及签名 中对证书以及签名进行了介绍。本为基于此介绍https的建立过程。

Wireshark

过滤器

捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中
显示过滤器(DisplayFilters):用于在捕捉结果中进行详细查找

捕捉过滤器在抓抱前进行设置,决定抓取怎样的数据;显示过滤器用于过滤抓包数据,方便stream的追踪和排查。

捕捉过滤器仅支持协议过滤,显示过滤器既支持协议过滤也支持内容过滤。

语法
捕捉过滤器

在这里插入图片描述捕捉IP为10.4.1.12或者源IP位于网络10.6.0.0/16,目的IP的TCP端口号在200至10000之间,并且目的IP位于网络 10.0.0.0/8内的所有封包。
在这里插入图片描述

显示过滤器
协议过滤

在这里插入图片描述过滤http2协议: http2
在这里插入图片描述

内容过滤

在这里插入图片描述过滤get请求:tcp[20:3] == 47:45:54(16进制形式,tcp头部一般是20字节,所以这个是对payload的前三个字节进行过滤)
在这里插入图片描述

分析一次https连接

还是这篇文章https://www.bilibili.com/read/cv7495834
在这里插入图片描述
通过wireshark分析其中的一次https连接,过滤规则是ip.addr == 27.115.124.159
在这里插入图片描述

三次握手

(1)客户端发起SYN请求 seq = 0
(2)服务器端进行确认 Ack=1 向客户端发起连接请求 seq = 0
(3)客户端进行确认Ack = 1 经典的三次握手

Client Hello

(4)客户端发送client hello
在这里插入图片描述
(5)服务器端进行确认ACK

Server Hello

(6)服务器端发送Server Hello,生成一个随机数
在这里插入图片描述
(7)客户端进行确认Ack = 1411 Seq = 518
(8)服务器端进行确认
(9)客户端进行确认

Server Certificates

(10)服务器端发送证书Certificate
(11)客户端进行确认

Server Hello Done

(12)服务器密钥交换 Server Key Exchange Server Hello Done

(13)客户端进行确认

ClientKey Exchange Message

(14)客户端进行密钥交换 Change Ciper Spec
在这里插入图片描述

CiperSpec Exchage

(15)服务器端给出session ticket
(16)客户端进行确认
在这里插入图片描述

http请求

(17)http get请求GET /so/zz.gif?url=https%3A%2F%2Fwww.bilibili.com%2Fread%2Fcv7495834&sid=e6352779c080ceddc1bc4c6bbe047b69&token=e46338552974779vcc0/8d0aceerd/dm HTTP/1.1\r\n
(18)服务器端进行响应 200
(19)客户端进行确认

断开链接

(20)服务器端 Close Notify
(21)客户端进行确认
(22)服务器发起FIN请求 冰对客户端进行确认
(23)客户端进行确认
(24)释放连接

https的连接建立过程可参见下图:
在这里插入图片描述

写在最后

一次简单的https请求竟然有如此复杂的流程,而这一切对用户是透明的,向http设计者致敬。更对https的内容,欢迎关注我的微信公众号。
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

helloworddm

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值