使用wireshark分析HTTPS流程的建立.docx
《使用wireshark分析HTTPS流程的建立.docx》由会员分享,可在线阅读,更多相关《使用wireshark分析HTTPS流程的建立.docx(15页珍藏版)》请在三一办公上搜索。
1、使用wireshark分析HTTPS流程的建立摘要:https流程一、概要为了网站以及用户的安全性,现在很多的网站都是https,大家都知道tcp通过 三次握手建立连接,并且还有很多的同学对https连接建立的流程不太明白,包 括我自己,通过借助于wireshark这种抓包工具,我们可以尝试着了解一下大概 的流程。19369 21 1937B KM19371 蛔19372 2664 1937319374 龄!19375 2G&419376 266419377 2664 1937B 2&4 19415 267J 3 5416 2&M 19445 炒 19顿 26SA 195B9踮知mzis 10
2、nfl.fl5B103 1U.21& TLSmI.ZU50X1 114.215.83. 10-C.45.103 KP. 4E-. JS3 TLSyl.25N Sdq-066 OJ.59622 SyN, AK|Ac虹 1蜜砌 Len-0 Wi-UM S*K_PE-1 h&-12854 5622-441 AEK如ql Ack-l Hln-&57eiB L-B256 ClienT HtllO珈 445*59622 ACK Seq-1 Ack-263 Nlm-157-W Len-011TO70 125651 12575G 132851 19U15 1龄53 236813 21JS5710fl.d5.1
3、03 ie.B.4B.ie3 114.215 琏* 114.215. W.B.4B.ie3 45.103 1U.215.S8- 10nfl.fl5nl03 U4.21S.SS. ie.H.45.S3111.215 务, 1U.21&.SS- J.0 0.35 103 16岛盟.通 1U.21&.SS- 111.215 遂 ie_0.45.ia31U.215 用 10-C.45.103 114.215.SS-TLSvl.2TLSyl.ZTLSl.2TLSvl.2TCPKPTCFTCPKPTCF4-45 Srvftpi-saiAj S*rvar KaySsrwr HaIIo QontM.6 C l
4、ient Key ExcEnm Changit Ciphe-n Spec Helles Aquertg Hello FkweM 海心Dg296 Nsu Sessiw TikeiChance Cijphen 5t)eCj Mcrypted Hthakt Messss#263Data54 522-441 (AK SAq-17 khlS4m W5n-G5m55 |KP Keep-Jliw 59fr22-JM3 ACK| Seq-816 &k1 鲍3 KLn-65?M Lcn-166 TCF 昨邮-Allg AK 443-596Z2 ACK 5aq-lB43 Ak-B17 Wln-17?2B Len-
5、B SLE-B16 5RE-B1755 IKP Keep-All 5听KK 5eq-?16 Ack-lS15 W1Y5?睥 Len-1砧KP Keep-Aliv AJCK 443-59622 ACK Seq-1843 心BLF bfln-1792Q Len-fl SLE-aih SfiE-fil755 TCF X。邮-Allg S9fr21-443 ACK Sq-B16 Ai=k-lS43 KlnWHBe Lan-1(图1)本图是客户端(10.0.45.103)访问服务端(114.215.88.85)通过wireshark 抓包显示出来的双方交互数据,访问是通过https访问服务器上的一台ng
6、inx 服务器服务。请关注第一列的No。下文中很多时候会用no表示一次交互。图中可以很明显的看出tcp的三次握手以及之后的TLS加密流程的建立。二、tcp的三次握手通过流程图可以看出(也可以看图1的19368到19370这三个编号),首先客 户端向服务端发起一个SYN的请求,序号(Seq)为0,确认号(ACK)也为0,这 代表是本次是由客户端发起的首次请求。本次请求的数据长度为0 然后服务端给客户端响应,此时服务端的Seq也是0,值得是服务端的第一回应, 并且给客户端说,你的请求我已经收到了( ACK=1),最后返还给客户端以后,客户端的序号+1,并且对服务端的响应做出确认,最后 回给服务端,
7、此时ACK=1,Seq=1tcp的握手过程建立成功。三、ssl连接的建立通过以上可以看出,SSL也是建立在TCP的基础上的,经过tcp的三次握手,接 下来才是加密信道的建立。客户端和服务端建立安全连接大致经过以下几个步骤1. 客户端:ClientHello2. 月艮务端:Server Hello, Server certificate, Server Exchange, Server Hello Done3. 客户端:client Exchange4. 客户端:Application Data5. 服务端:New Session6. 月艮务端:Application Data接下来看这几个步骤
8、中具体的每一个步骤传输的内容ClientHelloTif-tIFfr19371 2664.0ea213w.e.4i.ieii4,2is.aa.s&,TLS1,2拒&口技nt Hfrlitrclient首先给服务端打招呼,对服务端说hello应用层没什么特别的* TrjnEndssion Control Protocai, Src Port:椅FH, Ost Port: M3&至平 1Ac It:ten: 2&2Source Porti 59&22Part: 335tre-am intfex: 29G1TCP 知册nt Lm: 2GWnuniBe*: 1 re 1st ivs目 numbc rH
9、e就 sequence nitinber: 203 (felatiVE 5eq(jHC4 number)会d料i巨色七1(e*巨Lwt土讨由Header Length; /妙 bylesFligti 018 (PS% ACK)Window Rz自 ul us:ClcuIdted hrir-doN size: G5700UlMOw sil ii-allfig fidt&ri 4ChfiGtcsum: 9撕? unvei-fied JCliecs: Unveni-f led U rrat p1 2 ccrd Layer; HandshaKe 户口to匚口1: Client tfellotwtent
10、 Type; Hand弥朴巴(22)详细的信息如下:氾ketw layer-TLSyl r j瑚yw: He-寸m导女 FeWcM;HelleContEfit Type Handshl (22)Vspsion: JLS l.e (M3M)Lcng,th: 197 Hwndshmk白 Protocol: CH&rit H&lloHmndshm如 T/P土 Client H&lld (土)Length: 193Version: TL& 1.2 (日湖观3)* 购FldMtMT 4Jnlx Tine:岫 25, 2039 12 ;55: ie.&090&0900。访。赫Random ByE四!打卸
11、11639bb24978j7ldOfc&42叫0d7jd82f5j5cfl29f99b.5esion ID Lensth: 12:s;sion IC:奖曲d*网dm6钮Me把觇5町EM蝴1龄9曲WNdd 1砧M .,.Cipher Suite: TLSCipheE Suite : EL5Cipher Suite: TL5Cipher Suite: TL5Cipher Suite: TL5Clphtr Suite; ILSCipher ultei TLSCipher $ui fCipher- Suite: ILSI三 Fkli dm I I 4 j-Q , E. 4ECUHE_E CD5fl._
12、WlTK_AE5_lZ3j5ft_5HAi 56 (G0?b)EC&HE_R5fi_KIRi_A E5_12HA256 (HhBW f)EC&HE_ECDSA._WITB_CHM:HA;0_PQLY15&5_5HA25& (0KHE_R SA_W.nH_CHAHA2a_ POLY 130 5_-5HA2 5 5 -0MCC a8 )EC1E_ECDShERSA_lfnHES2S6_GtM_SHA3S4 灿由油)EC&HE EtDSA. wETw_AEi tBC_SHA (&匚的,)芭网*上装i就敢曲(技啊)ECIHE_R5A_WITH_AE5_l 2B_C SC_SHA (取匚用u厂门山i匚
13、口匚息 lfttis-i ai=匚 iRt rnr 匚us /Secure Socekts layer层使用的是版本是TLS 1.0HandShake Type的类型,是客户端打招呼client helloHandShake protocol 协议使用的是 TLS 1.2发送的信息还有客户端在本地生成的随机码(Random)然后客户端声明自己所支持的加密套件(Cipher Suites )这个客户端支持15 种加密套件加密套件中表明了使用的对称加密算法,非对称加密算法,摘要算法以及使用的 是TLS或者是SSL还有一些其他的信息j- - ObJ Compression Methods (1 me
14、thod)Compression Method: null (0)Extensions Length: 90Extension: Extended Master SecretExtension: renegotiation_in-FoExtension: ellipticcurvesExtension; ec_pQint_FormatsExtension: SessionTicket TLSExtension: next_protocol_negotiationExtension: Application Layer Protocol NegotiationExtension: status_
15、requestExtension: signature algorithms第一行指明是否进行了压缩以及使用的压缩算法,第二行null表明未进行压缩, 以及选用相关的压缩算法或者压缩工具剩下的就是一些扩展的字段了总结下来,客户端向服务端第一次打招呼(client Hello)的时候实际上主要发 送了以下主要的信息客户端的随机数客户端所支持的加密套件以及客户端和服务器之间的sessionId 接下来就是服务端对客户端Hello的第一次回应,也就是编号19372, Tran sals slon Control Protocol s Src Port:皿 3. D 或 Port: 536Z2 a S
16、eqz L Ack:卫 3. Lm: eSguirce Port: 443DesWwtig Pprt:并622Stream index; 26TCP SegJMnt Lan: fiSsquance nufiitieri 1 (rlatiwa sequence nustier)AcknoHledgwnt rumtcr:网3(relitive ack numberHeader Lengtni 2& hyt-es Flag告:Bk91B (JU:K)Hlndcw size ualu?: 1123CilcuJtftH windw size! 15744Hlndw sin KillJia fKtop:
17、128Checksum: 6妁3词unverifiedChck&Lii Statui Ur verified=(SEtyAtK dnal/sis.)CThiM is an 七心 thw s籍巨口。七 In fr9ng: 1?3711J The RTT te AjCK the 5 日驯。nt was; 9. 421219 second &(iRTT: 0.e4?347M0 队8网5可以看到 服务端使用的是443端口,序列号(Sequence number)也是1 ,并 且回应客户端说我已经确认收到你的202个自己的数据(203-1),Flags表明 本次是服务端反馈给客户端请求的应答(蓝色的文字
18、也写出来了,这是一个队 19371编号的应答)从图1可以看出这是一个TCP连接Server Hello接下来不等客户端反应,服务端又给客户端发送了 19373的数据,而这个数据就 是使用了 TLS1.2协议了。摘要信息中说明了这是服务端的的hello,Server hello,服务端秘钥交换,服务 端hello done。接下来看服务端发过来的具体都有什么。传输控制层(transmission control protocol)和上面一样,主要是一些Flags, 端口以及数据长度的确认等等,主要看一下安全套接字层的东西(Secure Sockets Layer)中的东西。 Secure S-o
19、ckets LayerTLSvl.2 Record Layer:TLSvl.2 Record Layer:TLSvLN Record Layer:TLSvL2 Record Layer;Hndlike Protocol: Server HelloH目ndh可Protocol: CertificateHandshake Protocol:Handshake Protocol;Senve-r Key ExchangeServer Hello Done通过上图,可以看出服务端主要返回四种内容。Server Hello服务端的回应客户端的hello信息. Certificate服务端证书 Server
20、 key Exchange服务器秘钥交换 Server Hello Done服务器信息发送完毕详细看一下各个Record layer中的具体内容Server HelloJ Handshake Protocol: Server HelloHandshake Type: Server Hello (2)Length: 70Version: TLS 1.2 (0x0303)RandomSession ID Length: SCipher Suite: TL5_ECDHE_RSA WITAES 25S GCM SHA384 (Swc030)Compression Method: null (0)Ext
21、ensions Length: 30Extension: renegotiation_infoExtension; ec_paint_-Farmat5Extension: SessionTicket ILSExtension; neKt_prQtQCQl_negQtiation在Server Hello中,服务器返回的服务端的随机数,所选用的TLS版本,以及 服务器最终选用的客户端和服务端交互的加密套件(TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030),最终选用的加密套 件是RSA非对称加密算法以及AES对称加密算法,用的是SHA384做摘要,注意,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 wireshark 分析 HTTPS 流程 建立
链接地址:https://www.31ppt.com/p-5010646.html