问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

网络协议-TCP的四次挥手

发布网友 发布时间:2024-09-26 02:09

我来回答

1个回答

热心网友 时间:2024-12-02 03:34

前言

TCP位于传输层,是一个可靠的连接服务,为了准确的传输数据,TCP采用了三次握手,四次挥手策略. 这里讲的是四次挥手(也叫四次握手)。

TCP首部格式

TCP首部数据格式,通常是20个字节再加可变字段,其中有6个特殊的标识bit,分别是URG,ACK,PSH,RST,SYN,FIN等,位置见下图

| 标识位 | 含义 | | --- | --- | | URG | 紧急指针有效 | | ACK | 确认序号有效 | | PSH | 接收方应该尽快将这个报文段交给应用层 | | RST | 复位,关闭异常连接 | | SYN | 同步序号用来发起一个连接 | | FIN | 发端完成发送任务 | ...

本文中用到的标识位是 ACK FIN, 使用的时候bit位设置为1,否则默认为0. 也用到了32位序号(Sequence number)和32位确认序号(Acknowledgment number),这里是用来存放双发的初始序列号(ISN)的.

大写的ACK FIN代表标志位, 小写的seq代表Sequence number, 小写的ack代表Acknowledgment number,

四次挥手通俗的说

以客户端先断开的话

客户端: 我数据发送完了,可以关闭连接了.

服务端: 收到了,等我发送完数据.

服务端: 我数据发送完了,我也可以关闭连接了.

客户端: 收到了.

随后服务端关闭连接, 客户端等指定时间后也关闭了连接.

正常的说

以客户端先断开为例:

在四次挥的过程中,会使用ACK FIN,seq和ack.

第一次握手(客户端): 发送请求,TCP中设置FIN=1 ,seq设置为本机的ISN.

第二次握手(服务端): 收到客户端的数据之后,发送请求,TCP中设置ACK=1 ,seq设置为本机的ISN,并将ack设置为客户端的ISN+1

第三次握手(服务端): 等服务端数据传送完成之后, 发送请求, TCP中设置ACK=1 FIN=1, seq设置为本机的另一个ISN(叫ISN2) ,ack设置为客户端的ISN+1

第四次握手(客户端): 客户端收到返回信息后, 发送请求, TCP中设置ACK=1 , seq设置为本机的ISN+1 ,ack设置为服务器的ISN2+1

服务端关闭连接,客户端等待2MSL时间之后再次关闭.

图如下

示例如下 20.1.0.1是我的电脑,20.1.0.128电脑上的一个虚拟机

在128上使用tcpmp监听ens33(虚拟机网卡)的80(nginx)端口

tcpmp-iens33port80andhost20.1.0.1-S-n

在1电脑上使用telnet请求20.1.0.128的80端口

telnet20.1.0.12880

之后Ctrl+C之后

tcpmp监听日志如下

Ctrl+C的数据

10:33:19.377458IP20.1.0.1.58633>20.1.0.128.http:Flags[P.],seq2066280967:2066280968,ack3607501457,win2053,length1:HTTP10:33:19.377573IP20.1.0.128.http>20.1.0.1.58633:Flags[.],ack2066280968,win229,length010:33:19.377855IP20.1.0.128.http>20.1.0.1.58633:Flags[P.],seq3607501457:3607501766,ack2066280968,win229,length309:HTTP:HTTP/1.1400BadRequest

四次挥手的数据

10:33:19.378017IP20.1.0.128.http>20.1.0.1.58633:Flags[F.],seq3607501766,ack2066280968,win229,length010:33:19.378079IP20.1.0.1.58633>20.1.0.128.http:Flags[.],ack3607501767,win2051,length010:33:19.382138IP20.1.0.1.58633>20.1.0.128.http:Flags[F.],seq2066280968,ack3607501767,win2051,length010:33:19.382234IP20.1.0.128.http>20.1.0.1.58633:Flags[.],ack2066280969,win229,length0针对四次挥手的攻击FIN FloodRST Flood

...

结束语

尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

如果您喜欢我的文章,可以[关注]+[点赞]+[评论],您的三连是我前进的动力,期待与您共同成长~

作者:ZOUZDC链接:https://juejin.cn/post/7028963866063306760
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见和同性发生关糸了 梦见和同性朋友发生亲密关系 学生党如何科学护肤? 学生党该怎么基础护肤? 有什么美容护肤的技巧适合学生党? 怎么@全部成员啊? 新洲摩尔城一楼小吃租金多少 武汉王家湾有哪些广场 你好 请问 晚上6点开始 学瑜伽 可以吗? 因为我想在下班时间去 锻炼锻 ... 电脑联网有哪些条件台式电脑无线上网需要具备哪些条件 简述tcp三次握手 四次挥手 dnf怎么双开 双开方法详解 dnf双开怎么让小号跟着跑图 汪宝生主演的哪些电影是根据年代划分的? 装了翻版软件怎么办 WinXP的序列号??? 舌苔很厚是什么原因 白厚腻苔是什么原因 舌苔厚是什么原因呢 舌苔厚腻发白是什么原因 舌苔厚白腻是什么原因引起的 解决舌苔厚白腻的方法 最无法接受的电视剧大结局,第四部全网傻眼,你知道是哪一部吗? 主板 联想 NOK AMD K15AMD 和 A8 5500 能配 影驰GTX650 骨灰黑将版吗... 外地小车在杭州开,需要办什么手续吗? 茶叶水泼到墙上怎样才能让墙变白 外地私家小轿车进广州有什么限制吗?入城费有没有年票的?大概多少钱?去... 刮痧后有什么注意事项 求一段CSS样式代码;要求是Table的标签样式,实现Table标签奇数行显示一个... 十大收益最好的 维修最好用万用表型号? 网络通信——TCP “三次握手“、“四次挥手“ 详解 ...因为要学习,一天没多少时间运动,只有一个小时可以运动,请问哪... 一小时等于多少秒python ...的朋友来说一下,怎么样啊?准备买铁投·御湖兰庭了 攀枝花天星湖旁边,大家比较推荐哪个盘啊? 想回老家攀枝花买一套房子,大家有推荐吗?最好户型大一点的。 ...配套这些丰富一点的房子,坐标攀枝花,大家有什么推荐吗? ...在现在的工作地成都买,还是买在老家攀枝花。大家有什么建议吗... 铁投·御湖兰庭这个项目说的是自带五星级皇冠假日酒店,真的吗? 拼多多先用后付取消订单需要给费用吗?退货规则 求 匪我思存的 《东宫》 谁有?TXT 要完整版带番外的~ 鹤翔庄气功动功完整版东宫完整版 谁有《束缚东宫》完整版啊啊啊。。???还有番外+后传。。请发到我邮箱... 匪我思存 夜色 东宫 一天一夜是多少个小时? 怎样让家长与学校配合,共同教育好孩子? 作为家长应当如何配合学校和老师的工作 涓埃的拼音狐涓埃的拼音是什么 《驱魔少年》好看吗,? 驱魔少年和银魂哪个好看?死神和火影呢?家庭教师又是什么?