Wireshark使用以及https

Wireshark使用以及https

首页角色扮演无情剑客更新时间:2024-06-20

在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://www.bilibili.com/read/cv7495834&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的内容,欢迎关注我的微信公众号。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved