TCP三次握手-抓包分析

三次握手流程

TCP报文格式
图片转自网络,侵删
图片转自网络,侵删
第一次握手:客户端向服务端请求tcp连接时,首先向服务端发送一个空包,空包里面的flag标志把SYN置1;
在这里插入图片描述
第二次握手:服务端收到SYN握手包,同样给客户端回了一个空包,包里面把ACK和SYN置1;
在这里插入图片描述
第三次握手:客户端收到服务端的ACK包,也返回一个ACK包给服务端,至此,三次握手结束。
在这里插入图片描述

测试工具

Windows端:Wireshark,第三方TCP测试工具
ubuntu虚拟机
把wireshark的捕获打开,过滤条件设置为unbuntu或window的IP,过滤端口为服务端监听端口。在ubuntu上自己写一个客户端程序,连接Windows的服务端(第三方TCP工具)即可,代码就不上了,很简单的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们来解释一下TCP三次握手过程: 1. 客户端向服务器发送一个SYN(同步)包,其中包含一个随机生成的初始序号(ISN)2. 服务器收到SYN包后,会回复一个SYN+ACK(同步+确认)包,其中确认号是客户端发送的ISN加1,并且服务器也会生成一个自己的随机序列号。 3. 客户端再次回复一个ACK(确认)包,其中确认号是服务器发送的ISN加1。 这样,TCP连接就建立起来了。现在我们来分析一下抓包数据。 在抓包工具中,你可以使用Wireshark或者tcpdump来捕获网络数据包。当你开始抓包后,你会看到大量的数据包被捕获和显示。 对于TCP三次握手抓包分析,你需要过滤出与目标IP地址和端口相关的数据包。使用过滤器表达式"tcp.dstport == 目标端口 && ip.dst == 目标IP地址"可以帮助你过滤出特定的数据包。 在抓包的结果中,你应该能够看到三个关键的数据包: 1. SYN包:这是客户端发送的第一个数据包,源IP地址是客户端的IP地址,目标IP地址是服务器的IP地址,源端口是随机生成的,目标端口是服务器监听的端口。 2. SYN+ACK包:这是服务器作为对SYN包的回复发送的数据包,源IP地址是服务器的IP地址,目标IP地址是客户端的IP地址,源端口是服务器监听的端口,目标端口是客户端发送SYN包时的源端口。 3. ACK包:这是客户端作为对SYN+ACK包的回复发送的数据包,源IP地址是客户端的IP地址,目标IP地址是服务器的IP地址,源端口是客户端发送SYN+ACK包时的源端口,目标端口是服务器监听的端口。 通过分析这些数据包的源、目标IP地址、端口号以及序列号和确认号等信息,你可以看到TCP三次握手过程中的交互步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值