HTTPS(ssl)协议以及wireshark抓包分析与解密

 SSL协议栈位置介于TCP和应用层之间,分为SSL记录协议层和SSL握手协议层。其中SSL握手协议层又分为SSL握手协议、SSL密钥更改协议和SSL警告协议。SSL握手协议作用是在通信双方之间协商出密钥,SSL记录层的作用是定义如何对上层的协议进行封装。SSL记录协议将数据块进行拆分压缩,计算消息验证码,加密,封装记录头然后进行传输。

SSL握手:

1、  初始化阶段。客户端创建随机数,发送ClientHello 将随机数连同自己支持的协议版本、加密算法和压缩算法发送给服务器。服务器回复ServerHello将自己生成的随机数连同选择的协议版本、加密算法和压缩算法给客户端。

2、  认证阶段。服务器发送ServerHello的同时可能将包含自己公钥的证书发送给客户端(Certificate),并请求客户端的证书(Certificate Request)。

3、  密钥协商阶段。客户端验证证书,如果收到Certificate Request则发送包含自己公钥的证书,同时对此前所有握手消息进行散列运算,并使用加密算法进行加密发送给服务器。同时,创建随机数pre-master-secret并使用服务器公钥进行加密发送。服务器收到这个ClientKeyExchange之后解密得到pre-master-secret。服务器和客户端利用1阶段的随机数,能够计算得出master-secret。

4、  握手终止。服务器和客户端分别通过ChangeCipherSpec消息告知伺候使用master-secret对连接进行加密和解密,并向对方发送终止消息(Finished)。

HTTPS(Hypertext TransferProtocol over Secure Socket Layer,基于SSL的HTTP协议),端口443,需要向CA申请证书,通过SSL握手建立安全通道,利用协商密钥对数据进行对称加密通信。

HTTPS (Hypertext Transfer Protocol Secure) 是HTTP协议的一个安全版本,通过SSL/TLS协议加密数据,提供数据传输的安全性和隐私保护。当你使用Wireshark抓包分析HTTPS流量时,你会看到实际的网络通信被包装在一个加密套接字中,这使得直接查看数据内容变得困难。 抓包分析HTTPS的主要步骤如下: 1. **启动Wireshark**:首先,打开Wireshark,并确保已经安装了SSL/TLS解密插件(如SSL dissector),以便正确解析加密流量。 2. **选择接口和过滤器**:选择你的网络接口,通常选择“Any”来捕获所有流量,然后添加过滤器`tcp.port == 443`,这样只会显示HTTPS流量。 3. **截取流量**:开始抓包,等待一段连接时间,确保捕获到完整的HTTPS会话,包括三次握手(TCP连接建立)和后续的数据交换。 4. **解密流量**:Wireshark会自动对SSL/TLS包进行解密,但解密过程可能会因为证书问题、私钥缺失等原因失败,这时可能需要手动导入相应的证书或信任链。 5. **查看会话信息**:在捕获的包中,你可以看到TLS/SSL连接的详细信息,如版本、加密算法、认证方法等。HTTP请求和响应会被转换为明文显示。 6. **分析数据**:通过查看HTTP请求头和响应头,可以了解请求的URL、方法、HTTP状态码以及任何附加的身份验证信息。 相关问题: 1. 如何在Wireshark中导入自定义的SSL证书来解密HTTPS会话? 2. HTTPS握手过程中,三次握手具体指什么? 3. Wireshark如何处理SSL/TLS连接失败的情况?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值