勿忘初心做自己 发表于 2024-12-4 14:05:04

Wireshark抓包:详解TCP四次挥手报文内容

 一、详解tcp四次挥手

刚才用图解释了tcp四次挥手的过程。用wireshark抓一个包,进行具体的分析。
1.客户端发的第一个释放毗连的请求

这是抓的包,然后过滤出来的,看下末了的阶段,是要开始释放一个链接了。这里是第一个fin,ack包:
https://i-blog.csdnimg.cn/blog_migrate/31ecae049a04fcdeecf81c11c2e99caf.png
不是说只有fin吗?为啥这里是fin,ack包?
双击点看看下:
https://i-blog.csdnimg.cn/blog_migrate/500a5b57a45246b1c2ba6a7326d1b321.png
tcp报文是一个可靠的协议,它的每一个数据包都要进行确认,每发一个数据包都有一个ack包。表现每发一个包,都要去确认一下的。
https://i-blog.csdnimg.cn/blog_migrate/69f4b6bf5fc3f32180fa8eec1a545826.png
所以第一个fin,ack包,ack被标记了,其实也是对上一个报文数据简直认。
https://i-blog.csdnimg.cn/blog_migrate/7aea5180e843d8b3727e84d93081b36a.png
tcp是一个通例的,每个包都要去确认的这样一个协议。
2.服务器给客户端回应确认消息

https://i-blog.csdnimg.cn/blog_migrate/17a14be2a9446d24b716ce8391318099.png
https://i-blog.csdnimg.cn/blog_migrate/7dfb2640a9b47bd8128af8d163dfa850.png 只有ack位被标记了,其它位没有被标记,因为这就是一个确认消息。
ack包的序号是952。是因为客户端发的fin,ack包盼望下一个包的序号是952(确认号是952)
https://i-blog.csdnimg.cn/blog_migrate/8c4e576447cc090420457d80440c0b32.png
 3.服务器发给客户端释放毗连的请求
https://i-blog.csdnimg.cn/blog_migrate/38a05ffa51d191cbd2351b8b408b4f6c.png
再次发送一个fin,ack包,表现我也要释放毗连。
https://i-blog.csdnimg.cn/blog_migrate/aa62d4773ecf67e422e073da66f8f3a8.png fin,ack和ack包的序号、确认号是一样的。 
https://i-blog.csdnimg.cn/blog_migrate/b4fd91de6aa7145c97c39f3c4ca63c33.png
因为还是一个服务器发的,所以确认号和序号是一样的。
https://i-blog.csdnimg.cn/blog_migrate/1c60a0611512dd99cbf0e7f3fdec7464.png
4.客户端发确认消息

客户端也发了一个ack包。这个包的ack号等于上一个包的序号(seq=5002)加1,也就是5003。
https://i-blog.csdnimg.cn/blog_migrate/5cd68d2fd3b90b862139276c5b51562b.png
这个是别人抓的包,意思都一样
这里就是用wireshark抓包给大家具体的看了下四次挥手的过程。fin,ack包—>ack包---->fin,ack包---->ack包。
后面tcp毗连就没有了。
二、完整看到全过程

https://i-blog.csdnimg.cn/blog_migrate/e88cadd4bcccb2fcc72003f710052721.png
这个是别人抓的包,可以看到全过程。这个是重点。
三次握手后,发起https的一个毗连,中间发的都是正常的数据包,直到客户端发完数据包了,客户端发起一个fin,ack包开始四次挥手,直到毗连结束了。
三、提示
以上内容是抓包整理的,2次抓包的内容有些区别,但是图片上写的技能内容正确无误。末了一张完整看到全过程的图片是本文的技能重点。学习时应活学活用,切勿死搬硬套。
 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Wireshark抓包:详解TCP四次挥手报文内容