01、前言
面试中我们经常会被问到TCP协议的三次握手和四次挥手的过程,为什么总喜欢问这个问题呢?
其实我们平时使用的很多协议都是应用层协议,比如HTTP协议,https协议,DNS协议,FTP协议等;而应用层协议都是要基于传输层的两个协议之上的,也就是TCP协议和UDP协议。我们在使用应用层协议遇到一些问题需要去分析定位的时候,会需要涉及到底层协议的连接问题上。所以,作为测试掌握这两个底层协议的工作原理是非常有必要的!
UDP协议作为一个不可靠的传输层协议,工作过程相对比较简单!所以我们就重点来大家讲一下TCP协议。
02、Wireshark抓包分析TCP协议
为了更好的学习和理解TCP协议的连接和断开连接的过程,我们来引入一个非常适合用来学习网络协议的抓包工具Wireshark。这个抓包工具可以详细看到每一层网络报文的详细信息。
03、TCP协议的三次握手过程
TCP建立连接需要经历三次握手,具体过程如下:

那么,这个过程我们配合抓包工具来看看具体的案例;如下图是访问某个HTTP请求用wireshark抓到的报文,前面的三个报文就是TCP的三次握手过程:SYN包,SYN ACK包,ACK报文。

展开看详情:
第一次握手的报文如下:这是客户端发起给服务器的报文,用于请求建立连接。

可以看到TCP报文里有一个Flags位:
当Syn位标记为1的时候,表示这个报文是一个请求链接的报文;
自己的序号(sequence number):0
第二次握手的报文如下:这是服务器回复给客户端的报文,用于确认并同意连接请求。

可以看到TCP报文里的Flags位:
Syn位也标记为1,表示这个报文是一个同意建立链接的报文;
ACK位也标记为1,表示是一个对上一个报文的确认报文;
Sequence number:自己的序号;
acknowledgment number:表示对上一个请求报文的确认号,所以是在上一个报文的序号+1
第三次握手:是客户端发给服务器的,是对上一个同意连接请求的确认。

Flags里的ACK位标记为1,表示是一个对上一个报文的确认报文;
Sequence number:自己的序号,在上一个报文的基础上+1;
acknowledgment number:表示对上一个请求报文的确认号,在上一个报文序号的基础上+1.
至此,三次握手完成!接下来就开始发送HTTP的请求了。

04、TCP协议的四次挥手过程
当数据传输结束了,客户端和服务器之间就开始断开连接了。断开连接需要经历四次挥手,具体过程如下:

同样,我们用wireshark工具来进行详细过程的报文的分析:

我们同样展开看下详细的报文内容:
第一次挥手:当数据传输首先结束的端(比如客户端),会率先发起结束断开连接的请求:

Flags位的 Fin位标记为1,说明这是个一个断开连接的请求的报文。
这时候我们发送这个请求的端已经停止发送数据了!但是还可以接受数据。
第二次挥手:对上一个断开连接请求的报文进行确认。并同时,停止接受数据。

所以,我们能看到这个报文的ACK位标记为1,并且acknowledgment number是对上一个报文的序号+1,表示对上一个报文的确认。
第三次挥手:服务器端也结束数据发送了,所以也会发起一个断开连接的请求。

这是个服务器发起FIN报文,请求断开连接,同时,服务器也会停止发送数据。
第四次挥手:是客户端对服务器断开连接请求的进行确认。

所以这个flags位是ACK位标记为1。此时,客户端也停止接受数据了。
至此,服务器和客户端都停止发送和接受数据了!四次挥手就完成了。
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取
读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)
👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)


👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

👉5.黑客必读书单👈

👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~
读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)


3823

被折叠的 条评论
为什么被折叠?



