捕获!三次握手四次挥手~

想要弄清TCP三次握手,四次挥手的过程,最好的办法当然是抓包啦~
QQ作为人均必备软件是很好的对象~
值得注意的是,我们的QQ聊天并不是TCP建立点对点连接的,想想好友列表里的在线好友,一人一个TCP端口号,网卡该冒烟了。。。因此从网络资源考虑,想要实现多人在线“交友”(>.<),只能使用UDP多对多,同时应用层保证可靠传输!!

下面正式开始实验,首先是三次握手,思路步走:

步骤任务
1打开QQ应用程序(当然不能是自动登陆的啦),还有我们的抓包工具Wireshark
2输入QQ密码,准备发车~
3选择当前使用的网络(一般是有线以太网或WiFi),点击Wireshark开始抓包按钮后立刻点击QQ登录…
4登录成功后立刻推退出(就是这么脑残(<.<))
5点击Wireshark停止抓包,验货,终止交(jian)易(ting)

就这么简单,附图如下:
在这里插入图片描述
在这里插入图片描述
这么多包,哪个才是QQTCP建立和断开呢?我们可以使用过滤器哒,输入"tcp.flags.syn == 1 and tcp.flags.ack == 0 and tcp.port == 80",懂我意思吧(<.<)
点击右边的回车键,我不做人啦!JOJO!
在这里插入图片描述
可以看到QQ在登陆时貌似一口气开了三个线程,用了三个端口,建了三个连接
但我们主要关注一个吧,就那个14942的那个,你放学别走!“tcp.port ==14942”
在这里插入图片描述
确认过眼神,让我康康!

三次握手

1.连接请求:
在这里插入图片描述
客户端
相对序列号=0,跟踪正常
相对确认序列号=0,跟踪正常
SYN=1,ACK=0,向服务端连接请求正常
窗口大小,随意…
最大报文段长度MMS=1460,跟踪正常
窗口扩大因子,随意…

2.连接请求应答:
在这里插入图片描述
服务端
相对序列号=0,跟踪正常
相对确认序列号=1,跟踪正常
SYN=1,向客户端请求连接正常
ACK=1,向服务端请求连接应答正常
窗口大小,随意…
最大报文段长度MMS=1460,跟踪正常
窗口扩大因子,随意…

3.第三次握手
在这里插入图片描述
服务端
相对序列号=1,跟踪正常
相对确认序列号=1,跟踪正常
ACK=1,向客户端请求连接应答正常
窗口大小,随意…
没有选项…正常?
窗口扩大因子,随意…

四次挥手

你看这个包包,超逊的啦!
在这里插入图片描述
1.客户端断开请求FIN
在这里插入图片描述
相对序列号=810,FIN一个包,跟踪正常
相对确认序列号=408,跟踪正常
ACK=1,确认服务端最后传来的包
FIN=1,向服务端请求断开

2.客户端断开请求确认FIN_ACK + 服务器断开请求 FIN
在这里插入图片描述
相对序列号=408,FIN一个包,跟踪正常
相对确认序列号=810,不再请求新包?
ACK=1,客户端断开请求确认
FIN=1,服务器端断开请求

3服务端断开请求确认 FIN_ACK
在这里插入图片描述
相对序列号=811?跟踪正常?
相对确认序列号=409?跟踪正常?
ACK=1,服务端断开请求确认
FIN=0,成功断开

4.???
在这里插入图片描述
相对序列号=409?
相对确认序列号=811?
ACK=1,FIN=0?
在这里插入图片描述
这TM就很尴尬了,和我看到过的四次挥手不一样啊。。。
在@cbdog94的帮助下,了解到,原来还有三次挥手这玩意
虽然和今天提取的4个包挥手原理依旧不一样,但这说明还有其他挥手的可能性~

所以是不是觉得被标题骗了呢?
在这里插入图片描述
没事,我们换一个应用,http总可以吧!!!
目标大B站!!!
过程你们也不会看的,我直接放结果了
在这里插入图片描述
标准的三次挥手
至于四次挥手嘛,我真的找不到呀…
个人感觉,对客户而言,通过FIN断开请求表达了明确的断开意愿后,服务器端马上就可以做出切断传输的决定,停止文件传输,因此3次挥手足够切断连结,为节约各种资源,能三次的服务都三次了

等我找着工作了,再来抓你,四次挥手!!!
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值