前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Wreshark分析理解TCP三次握手

Wreshark分析理解TCP三次握手

作者头像
用户1679793
发布2021-12-01 09:58:10
2640
发布2021-12-01 09:58:10
举报

1 TCP三次握手势什么意思?

TCP/IP 传输协议的 TCP 层是面向连接的。面向连接意味着,在传输任何数据之前,必须获得并确认可靠的连接。

TCP三次握手是TCP/IP网络中用于在客户端和服务端之间建立连接的过程,这是一个三步过程,要求客户端和服务端在真正的数据通信之前交换同步和确认包。

2 TCP三次握手的元素类型

元素符号

描述

SYN

SYN代表同步序列号(Synchronize Sequence Number),用于发起和建立连接,如果SYN为1,则表示设备希望建立安全连接。

ACK

ACK表示对SYN报文的相应,如果ACK为1,则表示设备收到SYN的报文。

FIN

RIN表示结束连接,如果FIN为1 ,则设备表示断开连接。

Sequence Number

序列号,分配给数据的第一个位的32位数字。它用于发起和建立连接。通常,序列号在一个连接中只使用一次。

Acknowledgment Number

确认好,回应发送过来的Sequence Number确认号码,号码通常比Sequence Number大1。

3 IP报头

IP报头格式的长度为 20 到 60 个字节。它包含路由和交付所需的信息。它由版本、报头长度、总距离、标识、标志、校验和、源IP地址、目的IP地址等13个字段组成。它提供了传输数据所需的基本数据。

Wireshark数据库链路层IP数据包头信息展示:

资料来源:http://networkstatic.net/what-are-ethernet-ip-and-tcp-headers-in-wireshark-captures/

4 TCP三次握手步骤示例

第一次握手:客户端请求连接到服务器,发送一个带有SYN (2087)的段并通知服务器开始通信。

第二次握手:服务器使用指定的 SYN-ACK 信号响应客户端请求,ACK (2087+1)显示收到的段响应,SYN (5012)显示从该段开始的序列号。

第三次握手:在这最后一步中,客户端使用ACK(5012+1)确认来自服务器的响应,并建立连接。

5 在Wireshark中分析TCP三次握手示例

第一次握手

客户端向服务器发送SYN:当客户端与服务器建立连接时,SYN Flag设置为1,并向服务器发送消息,SEQ(Sequence Number)序列号:2230190955

第二次握手

服务器向客户端回复SYN+ACK:服务器收到客户端同步连接请求后,通过设置ACK Flag为1向客户端发送确认,确认号2230190956大于所接收的SEQ(Sequence Number)序列号:2230190955,服务器还将SYN 标志设置为“1”并将其发送给客户端,这里用于SYN的SEQ序列号11178485与客户端SYN的序列号不同2230190955,完成这一步后,就建立了从客户端到服务器端的连接。

第三次握手

客户端向服务器发送ACK :客户端收到服务器的SYN后,将ACK标志设置为“1”,并发送确认号11178485,确认号比服务器SYN序列号大1。

6 TCP完整的通信过程

1 连接建立阶段

2 数据传输阶段

3 连接终止阶段

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-11-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 TCP三次握手势什么意思?
  • 2 TCP三次握手的元素类型
  • 3 IP报头
  • 4 TCP三次握手步骤示例
  • 5 在Wireshark中分析TCP三次握手示例
  • 6 TCP完整的通信过程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档