TCP第一次握手丢失的抓包

第一次握手丢失

如果要模拟第一次握手的丢失,可以尝试客户端在进行TCP连接发送之前就先关闭服务端的网络,然后客户端通过curl发送数据包给服务器。但是因为此时服务器已经关闭连接没有回复ACK以及FIN完成第二次握手,这样通过tcpdump抓取数据包传输的数据包就可以看出如果网络第一次数据包丢失会发生的事情了。

下面开始模拟

实验场境如下

首先先开启客户端的抓包程序

sudo tcpdump -i ens33 tcp and host 192.168.234.136 and port 80 -w tcp_sys_timeout.pcap

通过上述命令,这条命令是用于在网络接口ens33上进行抓包操作,只捕获与IP地址为192.168.234.136且端口号为80TCP通信数据包,并将捕获到的数据保存到名为tcp_sys_timeout.pcap的文件中。

具体的网络接口以及IP怎么查看请看上一篇博客的描述

LINUX 的TCP抓包使用教程-CSDN博客

然后使用

sudo nmcli network off

关闭服务器的网络,紧接着就要在客户端发送curl连接请求

这一步骤必须要快速进行不然就会出现找不到IP地址的问题

sudo curl http://192.168.234.136

过一段时间之后就会没有到主机的路由器,就说明客户端超时重传结束,断开连接

然后ctrl+c结束tcpdump抓包就能获取TCP的交互过程了

之后使用Wireshark打开Linux下抓的包就如下图所示

我们都知道,http是通过tcp传输的,所以,最开始的三个包就是三次握手建立连接的数据包。

重传了三个数据包就断开了连接,而且不难算出,第一次传输是在1s的时刻,第二次传输是在3s左右,第三次是7s

他们的间隔是1、2、4,是成指数增长的,当超过最大的传输次数客户端就会显示断开连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值