Wireshark抓包分析TCP的三次握手

一、TCP三次握手连接建立过程

    Step1:客户端发送一个SYN数据包(SYN=1,Seq=X,ACK=0)给服务端,请求进行连接,这是第一次握手;

    Step2:服务端收到请求并且允许连接的话,就会发送一个SYN+ACK的数据包(SYN=1,Seq=Y,ACK=X+1)给发送端,告诉它,可以通讯了,并且让客户端发送一个确认数据包,这是第二次握手;

   Step3:服务端发送一个ACK数据包(SYN=1,Seq=Z,ACK=Y+1)给客户端,告诉它连接已被确认,这就是第三次握手。TCP连接建立,开始通讯。

二、抓包过程 

我们以访问网站:fanyi-pro.baidu.com为例,在Edge下使用开发工具查看网络对应的IP:

得到网站对应的IP为:180.101.49.50  端口号为80

在过滤器中输入过滤表达式:

ip.addr==180.101.49.58&&tcp.port==80

 图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。

三、分析

在分析之前可以开启或关闭Wireshark工具的默认相对序列号,以此显示实际序列号,比如在包1中产生的实际序列号为:2159471844,开启默认序列号为0,按需更改:

1.第一个握手数据包

 SYN=1:标志位置1,表示请求建立连接

 Seq=2159471844:随机序列号

 Ack=0:初始建立连接值为0,表示当前没有接收到数据

 2.第二个握手数据包

 SYN=1:标志位置1,表示请求连接

 Seq=2865270383

 ACK=2159471844:请求包中的随机顺序号X+1

3.第三次握手的数据包

  SYN:标志位,表示已经收到记录

  Seq =2159471845  :随机顺序号Z

  Ack = 2865270384:请求包中的随机顺序号Y+1

  就这样通过了TCP三次握手,建立了连接。开始进行数据交互

数据包的关键属性如下:

 其中,对于我们日常的分析有用的就是前面的五个字段。

它们的含义是:

SYN表示建立连接,

FIN表示关闭连接,

ACK表示响应,

PSH表示有DATA数据传输,

RST表示连接重置。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无敌菜小包包

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值