使用wireshark分析HTTPS流程的建立

上传人:夏** 文档编号:560346075 上传时间:2023-05-17 格式:DOC 页数:14 大小:1.31MB
返回 下载 相关 举报
使用wireshark分析HTTPS流程的建立_第1页
第1页 / 共14页
使用wireshark分析HTTPS流程的建立_第2页
第2页 / 共14页
使用wireshark分析HTTPS流程的建立_第3页
第3页 / 共14页
使用wireshark分析HTTPS流程的建立_第4页
第4页 / 共14页
使用wireshark分析HTTPS流程的建立_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《使用wireshark分析HTTPS流程的建立》由会员分享,可在线阅读,更多相关《使用wireshark分析HTTPS流程的建立(14页珍藏版)》请在金锄头文库上搜索。

1、使用wireshark分析HTTPS流程的建立摘要: https流程 一、概要为了网站以及用户的安全性,现在很多的网站都是https,大家都知道tcp通过三次握手建立连接,并且还有很多的同学对https连接建立的流程不太明白,包括我自己,通过借助于wireshark这种抓包工具,我们可以尝试着了解一下大概的流程。(图1)本图是客户端(10.0.45.103)访问服务端(114.215.88.85)通过wireshark抓包显示出来的双方交互数据,访问是通过https访问服务器上的一台nginx服务器服务。请关注第一列的No。下文中很多时候会用no表示一次交互。图中可以很明显的看出tcp的三次握

2、手以及之后的TLS加密流程的建立。二、tcp的三次握手通过流程图可以看出(也可以看图1 的19368到19370这三个编号),首先客户端向服务端发起一个SYN的请求,序号(Seq)为0,确认号(ACK)也为0,这代表是本次是由客户端发起的首次请求。本次请求的数据长度为0然后服务端给客户端响应,此时服务端的Seq也是0,值得是服务端的第一回应,并且给客户端说,你的请求我已经收到了(ACK=1),最后返还给客户端以后,客户端的序号+1,并且对服务端的响应做出确认,最后回给服务端,此时ACK=1,Seq=1tcp的握手过程建立成功。三、ssl连接的建立通过以上可以看出,SSL也是建立在TCP的基础上

3、的,经过tcp的三次握手,接下来才是加密信道的建立。客户端和服务端建立安全连接大致经过以下几个步骤1. 客户端:ClientHello2. 服务端:Server Hello,Server certificate,Server Exchange,Server Hello Done3. 客户端:client Exchange4. 客户端:Application Data5. 服务端:New Session6. 服务端:Application Data接下来看这几个步骤中具体的每一个步骤传输的内容ClientHelloclient首先给服务端打招呼,对服务端说hello应用层没什么特别的客户端向服务

4、端发送202个字节的数据,并且客户端此时的 seq num 为1 ,tcp三次握手已经通过了,所以客户端ack num 确认的是服务端的tcp的最后一次信息。由于这次发送的长度是202个字节,所以给服务端说,下一个字节序列号是从203开始的。标志位为ACK和PSH但是这次多了一个 Secure Socket layer层。协议使用的时候,用的是Handshake Protocol,给服务端发消息ClientHello详细的信息如下:Secure Socekts layer层使用的是版本是TLS 1.0HandShake Type的类型,是客户端打招呼 client helloHandShake

5、 protocol 协议使用的是TLS 1.2发送的信息还有客户端在本地生成的随机码(Random)然后客户端声明自己所支持的加密套件(Cipher Suites)这个客户端支持15种加密套件加密套件中表明了使用的对称加密算法,非对称加密算法,摘要算法以及使用的是TLS或者是SSL还有一些其他的信息第一行指明是否进行了压缩以及使用的压缩算法,第二行null表明未进行压缩,以及选用相关的压缩算法或者压缩工具剩下的就是一些扩展的字段了总结下来,客户端向服务端第一次打招呼(client Hello)的时候实际上主要发送了以下主要的信息客户端的随机数客户端所支持的加密套件以及客户端和服务器之间的ses

6、sionId接下来就是服务端对客户端Hello的第一次回应,也就是编号19372可以看到 服务端使用的是443端口,序列号(Sequence number)也是1 ,并且回应客户端说我已经确认收到你的202个自己的数据(203-1),Flags表明本次是服务端反馈给客户端请求的应答(蓝色的文字也写出来了,这是一个队19371编号的应答)从图1可以看出这是一个TCP连接Server Hello接下来不等客户端反应,服务端又给客户端发送了19373的数据,而这个数据就是使用了TLS1.2协议了。摘要信息中说明了这是服务端的的hello,Server hello,服务端秘钥交换,服务端hello d

7、one。接下来看服务端发过来的具体都有什么。传输控制层(transmission control protocol)和上面一样,主要是一些Flags,端口以及数据长度的确认等等,主要看一下安全套接字层的东西(Secure Sockets Layer)中的东西。通过上图,可以看出服务端主要返回四种内容。 Server Hello 服务端的回应客户端的hello信息 Certificate 服务端证书 Server key Exchange 服务器秘钥交换 Server Hello Done 服务器信息发送完毕详细看一下各个Record layer中的具体内容Server Hello在Server

8、 Hello中,服务器返回的服务端的随机数,所选用的TLS 版本,以及服务器最终选用的客户端和服务端交互的加密套件(TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)),最终选用的加密套件是RSA非对称加密算法以及AES对称加密算法,用的是SHA384做摘要,注意,这个值必须是客户端发给服务端的列表中选出来的。实际上如果客户端只能支持版本和安全性比较低的加密套件,这样服务端选择和客户端交互的时候也被迫只能使用低版本的加密套件,其安全性就会降低。除了以上这些,服务端Server Hello时发送回来的还有是否使用了压缩以及一些其他的扩展字段Certifi

9、cateServer Hello以后,服务端会发送公钥证书给客户端Certificates (953 bytes) Certificate Length: 950 Certificate: 308203b23082029aa003020102020101300d06092a864886. (id-at-commonName=,id-at-organizationName=JD,id-at-stateOrProvinceName=BJ,id-at-countryName=CN) signedCertificate version: v3 (2) serialNumber: 1 signature

10、 (sha256WithRSAEncryption) Algorithm Id: 1.2.840.113549.1.1.11 (sha256WithRSAEncryption) issuer: rdnSequence (0) rdnSequence: 7 items (pkcs-9-at-emailAddress=,id-at-commonName=wangtengfei,id-at-organizationalUnitName=section,id-at-organizationName=JD,id-at-localityName=BJ,id-at-stateOrProvinceName=B

11、J,id-at-countryName=CN) RDNSequence item: 1 item (id-at-countryName=CN) RDNSequence item: 1 item (id-at-stateOrProvinceName=BJ) RDNSequence item: 1 item (id-at-localityName=BJ) RDNSequence item: 1 item (id-at-organizationName=JD) RDNSequence item: 1 item (id-at-organizationalUnitName=section) RDNSeq

12、uence item: 1 item (id-at-commonName=wangtengfei) RDNSequence item: 1 item (pkcs-9-at-emailAddress=) validity notBefore: utcTime (0) utcTime: 16-11-22 06:38:18 (UTC) notAfter: utcTime (0) utcTime: 17-11-22 06:38:18 (UTC) subject: rdnSequence (0) rdnSequence: 4 items (id-at-commonName=,id-at-organiza

13、tionName=JD,id-at-stateOrProvinceName=BJ,id-at-countryName=CN) RDNSequence item: 1 item (id-at-countryName=CN) RDNSequence item: 1 item (id-at-stateOrProvinceName=BJ) RDNSequence item: 1 item (id-at-organizationName=JD) RDNSequence item: 1 item (id-at-commonName=) subjectPublicKeyInfo algorithm (rsaEncryption) Algorithm Id: 1.2.840.113549.1.1.1 (rsaEncryption) subjectPublicKey: 3082010a0282010100be56d1a2b725cf5d6fa1997c83b221. modulus: 0x00be56d1a2b725cf5d6fa1997c83b221de8452658b1e7c86. publicExponent: 65537 extensions: 4 items algorithmIdentifier (sha256WithRSAEncryption) A

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号