前言
在网络安全、计算机网络面试中,TCP 三次握手、四次挥手、连接状态、保活机制、SYN 泛洪攻击属于必考核心知识点。熟练掌握 TCP 底层原理,是理解网络通信、渗透测试、网络攻防、流量分析的基础。本文系统性梳理 TCP 完整核心考点,覆盖所有面试高频问题。
1、TCP 传输头格式
TCP 只有一种类型的 PDU,叫做 TCP 段,TCP 报文头部固定 20 字节,携带选项最大 60 字节,各字段详细含义如下:

- 源端口(16 位):标识客户端发起连接的端口号。
- 目的端口(16 位):标识服务端监听的端口号。
- 发送序列号 Seq(32 位):当前报文段首个数据字节的序号,用于数据排序、去重。
- 确认序号 Ack(32 位):仅 ACK=1 时有效,代表接收方下一次想要接收的数据序号,规则:
Ack = 对方Seq + 数据长度。 - 数据偏置(4 位):TCP 头部长度,单位为 4 字节,用于区分头部与数据区域。
- 保留位(6 位):预留字段,默认全部置 0。
- URG 紧急位:为 1 时代表存在紧急数据,优先传输。
- ACK 确认位:连接建立后所有报文 ACK 必须为 1。
- PSH 推送位:立即提交数据给应用层,不缓存等待。
- RST 复位位:连接异常,强制断开、重置连接。
- SYN 同步位:用于建立连接,同步初始化序列号。
- FIN 结束位:用于断开连接,告知对方数据发送完毕。
- 窗口大小(16 位):流量控制,告知对方本机接收缓冲区剩余大小。
- 校验和(16 位):校验头部 + 数据完整性,防止传输出错。
- 紧急指针(16 位):标识紧急数据的结束位置。
- Options 选项:可变长度,包含 MSS、窗口缩放、时间戳等拓展参数。
核心注意点:
- 区分 ACK 标志位 和 Ack 确认序号,二者不是同一概念;
- 正常通信中,确认号严格遵循
对方Seq+1规则。
2、TCP 三次握手原理
服务端绑定端口、开启监听,进入 LISTEN 状态。

第一次握手(客户端 → 服务端)
客户端发送 SYN=1、Seq=x,进入 SYN_SENT 状态,请求建立连接。
第二次握手(服务端 → 客户端)
服务端收到请求,返回 SYN=1、ACK=1、Seq=y、Ack=x+1,进入 SYN_RECD 半连接状态。
第三次握手(客户端 → 服务端)
客户端收到报文,返回 ACK=1、Ack=y+1,双方同时进入 ESTABLISHED 连接成功状态,可正常传输数据。
通俗理解举个例子:相当于打电话,确认你能说、我能听、我能说、你能听,双向通信正常。

2.1 为什么是三次握手,不是两次 / 四次?
核心目的:验证双方发送、接收能力全部正常。
- 两次握手:服务端确认客户端收发正常,但无法确认客户端是否收到自己的应答,无法确认客户端接收能力,存在隐患、不安全;
- 四次握手:完全多余,没有任何收益,浪费网络资源;
- 三次握手:最少次数,完美验证双向收发能力,兼顾安全与效率。
2.2 三次握手可以携带数据吗?
- 第一次、第二次握手不可以携带数据;
- 第三次握手可以携带数据。
原因:若第一次 SYN 允许携带大量数据,攻击者可海量发送恶意 SYN 报文,占用服务器内存缓冲区,极易触发SYN 泛洪攻击。第三次握手连接基本稳定,不存在恶意攻击风险,因此允许携带数据。
2.3 什么是半连接队列?
- 半连接队列:服务端收到客户端 SYN、未收到最终 ACK,处于
SYN_RECD状态的连接队列; - 全连接队列:完成三次握手、处于
ESTABLISHED状态、等待应用层读取的连接队列。
半连接队列爆满是 SYN 攻击导致服务瘫痪的核心原因。
2.4 TCP 三次握手失败,服务端如何处理?
- 若未收到客户端 SYN:服务端无任何操作;
- 若回复 SYN+ACK 后超时未收到 ACK:超时重传多次后,发送RST 重置报文,释放连接资源。
2.5 ISN 是什么?是否固定?为何随机?
ISN(Initial Sequence Number)即初始化序列号,是 TCP 连接初始化的 Seq 起始值。
- ISN 不固定,每次连接随机生成;
- 若 ISN 固定,攻击者可轻松预测序列号,伪造 RST 报文恶意断开正常连接,造成网络攻击,随机化是为了保障连接安全。
3、TCP 四次挥手原理
TCP 是全双工通信,收发通道独立关闭,因此断开连接需要四次交互。

第一次挥手(主动方→被动方)
主动关闭方发送 FIN=1,停止发送数据,进入 FIN_WAIT_1。
第二次挥手(被动方→主动方)
被动方回复 ACK确认报文,进入 CLOSE_WAIT,此时为半关闭状态:主动方不能发数据,但被动方可以继续发数据。
第三次挥手(被动方→主动方)
被动方数据发送完毕,发送 FIN=1,进入 LAST_ACK。
第四次挥手(主动方→被动方)
主动方回复 ACK,进入 TIME_WAIT(等待 2MSL);被动方收到 ACK 直接进入 CLOSED 释放资源。主动方等待 2MSL 后彻底关闭连接。
3.1 为什么握手三次、挥手四次?
- 握手可以合并报文:连接建立时 SYN 和 ACK 可以合并为一个报文发送,所以三次;
- 挥手不能合并报文:被动方收到 FIN 后,可能还有剩余数据需要发送,必须先 ACK 确认、数据发完再 FIN 关闭,两个动作无法合并,因此必须四次。
3.2 TIME_WAIT 的作用是什么?
- 保证被动方收到最后一次 ACK,避免对方重传 FIN 报文;
- 防止旧连接残余报文干扰新连接,避免新旧连接数据混乱;
- 保证网络中残留数据包全部失效。
3.3 为什么需要等待 2MSL?
MSL 是报文在网络中的最大生存时间。
2MSL = 我方 ACK 最远传输时间 + 对方 FIN 重传最远传输时间。
等待 2MSL 可以百分百确认对方已收到 ACK、无残留报文,保证新连接不受旧数据干扰。
3.4 大量 TIME_WAIT 原因及解决办法
原因:本机作为主动关闭方,产生大量短连接频繁断开,常见于爬虫、接口服务、高并发网站。
解决方案:
- 缩短 TIME_WAIT 超时时间;
- 开启端口地址复用;
- 开启 TCP 快速回收;
- 优化业务,减少频繁创建销毁短连接。
3.5 大量 CLOSE_WAIT 原因及解决办法
原因:程序 BUG。被动方收到 FIN、回复 ACK 后,应用层未调用 close () 关闭连接,导致连接卡死。
解决方案:检查代码逻辑,手动补全 close 释放连接,修复程序漏洞。
4、TCP 连接保活机制
TCP 连接建立后,若长时间无数据交互,连接不会自动断开,依靠保活机制检测连接存活状态。
机制参数(默认)
- 空闲时长:默认 7200 秒(2 小时)无数据则触发探测;
- 探测间隔:每 75 秒发送一次保活探测包;
- 探测次数:默认 9 次无响应,判定连接断开。
工作原理
- 连接长期空闲,服务端主动发送保活探测报文;
- 客户端正常则回复 ACK,连接保持;
- 多次无响应,判定客户端掉线、断网、宕机,主动断开连接,释放端口资源。
作用
防止僵尸连接长期占用端口、内存资源,保证服务器资源高效利用。所有参数均可通过系统内核配置、代码 Socket 接口自定义修改。
5、SYN 泛洪攻击(经典 DDOS 攻击)
攻击原理
SYN 泛洪是针对 TCP 三次握手的经典 DDOS 攻击:
- 攻击者伪造大量 IP,发送 SYN 连接请求;
- 服务端回复 SYN+ACK,进入半连接状态,存入半连接队列;
- 攻击者永不回复最终 ACK,占用半连接队列资源;
- 海量恶意请求打满半连接队列,正常用户无法建立连接,服务瘫痪。
查看攻击命令
netstat -nap | grep SYN_RECV
大量 SYN_RECV 状态即为遭受 SYN 泛洪攻击。
防御方案
- 缩短 SYN 超时时间,快速释放无效半连接;
- 开启 SYN Cookie,不占用半连接队列,验证合法用户;
- 防火墙限流、异常 IP 拦截;
- 关闭无效端口、优化内核参数,提升抗攻击能力。
六、全文总结
TCP 协议是网络通信的基石,三次握手保障可靠建连,四次挥手保障可靠断连,保活机制清理僵尸连接,SYN 泛洪是针对 TCP 缺陷的经典攻击方式。
在网络安全学习与面试中,不仅要熟记流程,更要理解设计原理、异常状态、故障排查、攻击防御。掌握 TCP 全套知识点,是后续学习流量分析、渗透测试、应急响应、网络攻防的必备基础。
最后
关于网络安全技术储备
学好网络安全不论是就业还是做副业赚钱都不错,但要学会网络安全还是要有一个学习规划。最后大家分享一份全套的网络安全学习资料,给那些想学习网络安全的小伙伴们一点帮助!
对于0基础小白入门:
如果你是零基础小白,想快速入门网络安全是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:网安成长学习路线图、SRC&黑客文档、护网行动、黑客必读书单、面试题、学习视频等教程。带你从零基础系统性的学好网络安全!
需要的可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

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

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

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

👉5.黑客必读书单👈
随着互联网技术的飞速发展,网络安全已经成为了当今科技领域的一大热点。这些SQL注入、CCNA、Web渗透、Linux服务器等,以其强大的语言理解和防御能力,正在守护着我们网络世界。 那以下这些PDF籍就是非常不错的学习资源。

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

这份完整版的网络安全学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

792



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



