TCP协议三次握手的抓包模拟

三次握手(Three-way Handshake),是指建立一个 TCP 连接时,需要客户端和服务器总共发送3个包。

第一次握手([SYN], Seq = x)

客户端发送一个SYN标记的包,Seq初始序列号x,发送完成后客户端进入SYN_SEND状态。

第二次握手([SYN,ACK], Seq = y, ACK = x + 1)

服务器返回确认包(ACK)应答,同时还要发送一个SYN包回去。ACK = x + 1,表示确认收到(客户端发来的Seq值 + 1),Seq = y, 表示让客户端确认是否能收到。发送完成后服务端进入SYN_RCVD状态。

第三次握手([ACK], ACK = y + 1)

客户端再次发送确认包(ACK),ACK = y + 1, 表示确认收到服务器的包(服务端发来的Seq值 + 1)。客户端发送完毕后,进入ESTABLISHED状态,服务端接收到这个包,也进入ESTABLISHED状态, TCP握手结束。

 

这里我使用一台windows和一台kali虚拟机来测试

1.首先在windos虚拟机上安装web服务器功能(为了后续建立连接)

2.开启kali虚拟机并打开wireshark准备抓包

 

3.直接终端探测一下windows系统的80端口

4.wireshark抓包结果如下

1.当前客户端(192.168.187.134)向服务器(192.168.100.245)发送SYN标记的包,seq=0

2.服务器(192.168.100.245)返回一个[SYN,ACK]的流量包给客户端(192.168.187.134)

3.客户端(192.168.187.134)收到后再次发送一个ACK确认包给服务器(192.168.100.245),双方正式建立连接

4.在windows系统我们可以在终端使用netstat -ano命令查看端口情况

可以看到状态为ESTABLISHED,ESTABLISHED表示建立连接,两台机器正在通信 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值