Wireshark抓包:详解TCP四次挥手报文内容
?
- ?📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ?留言 📝 如有错误敬请指正!
- 📢交流讨论:欢迎加入我们一起学习!
- 📢资源分享:耗时200+小时精选的「软件测试」资料包
- 📢 软件测试学习教程推荐:火遍全网的《软件测试》教程
一、详解tcp四次挥手
刚才用图解释了tcp四次挥手的过程。用wireshark抓一个包,进行详细的分析。
1.客户端发的第一个释放连接的请求
这是抓的包,然后过滤出来的,看下最后的阶段,是要开始释放一个链接了。这里是第一个fin,ack包:
不是说只有fin吗?为啥这里是fin,ack包?
双击点看看下:
tcp报文是一个可靠的协议,它的每一个数据包都要进行确认,每发一个数据包都有一个ack包。表示每发一个包,都要去确认一下的。
?
所以第一个fin,ack包,ack被标记了,其实也是对上一个报文数据的确认。
tcp是一个常规的,每个包都要去确认的这样一个协议。
2.服务器给客户端回应确认消息
?
只有ack位被标记了,其它位没有被标记,因为这就是一个确认消息。
ack包的序号是952。是因为客户端发的fin,ack包希望下一个包的序号是952(确认号是952)
3.服务器发给客户端释放连接的请求
?
再次发送一个fin,ack包,表示我也要释放连接。
fin,ack和ack包的序号、确认号是一样的。
?
因为还是一个服务器发的,所以确认号和序号是一样的。
4.客户端发确认消息
客户端也发了一个ack包。这个包的ack号等于上一个包的序号(seq=5002)加1,也就是5003。
?
这个是别人抓的包,意思都一样
这里就是用wireshark抓包给大家详细的看了下四次挥手的过程。fin,ack包—>ack包---->fin,ack包---->ack包。
后面tcp连接就没有了。
二、完整看到全过程
这个是别人抓的包,可以看到全过程。这个是重点。
三次握手后,发起https的一个连接,中间发的都是正常的数据包,直到客户端发完数据包了,客户端发起一个fin,ack包开始四次挥手,直到连接结束了。
三、提示
以上内容是抓包整理的,2次抓包的内容有些区别,但是图片上写的技术内容准确无误。最后一张完整看到全过程的图片是本文的技术重点。学习时应活学活用,切勿死搬硬套。
最后我邀请你进入我们的软件测试学习交流群:785128166, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
?
这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!