当前位置: 首页 > news >正文

Wireshark抓包实验之TCP连接

Wireshark抓包实验

TCP连接的三次握手机制

进入Wireshark筛选抓包

在这里插入图片描述

很明显,SYN标志位为1,那就是第一次A-B,第二次B-A就是B会发送请求建立连接和确认给A,第三次A再确认,连接建立

报文结构

在这里插入图片描述

从上往下分别对应TCP五层模型的物理层、数据链路层、网络层、传输层。

三次握手

在这里插入图片描述

我们主要观察传输层的报文结构,带[]的是Wireshark这个软件自己添加的解释,可以不用去管。

Source Port: 50408:源端口50408

Destination Port: 7680:目的端口7680

Sequence Number: 0 (relative sequence number):seq(字节编号)为0(这个是相对字节编号,是Wireshark为了方便我们观察弄的)

Sequence Number (raw): 483252459:原始的字节编号就是一个随机数483252459

Acknowledgment Number: 0:ack(确认号)为0(第一个还是相对确认号)

Acknowledgment number (raw): 0:带raw的才是数据原始的随机数,这个ack的随机数是上一个seq的随机数加一,就是期待值,当然这里为0,因为第一次连接是没有ACK确认位的。

1000 .... = Header Length: 32 bytes (8):TCP包头的长度,为32字节。

Flags:标志位,这里第一次连接只有SYN置为1。

Window: 64240:窗口大小。

Checksum: 0x9645 [unverified]:校验和。

Urgent Pointer: 0:紧急指针,置为0就是没有,相当于一个优先级。


我们来观察第二次连接:

在这里插入图片描述

和第一次的变化就是多了个ACK确认位,置为了1。从B-A的seq仍然是一个随机数,ack的值为A-B的seq加1,就是483252460。表示B希望A下一次发过来的字节编号为483252460。SYN和ACK位都置为1。


第三次:

在这里插入图片描述

这里的变化就是没有SYN了因为在第三次连接的时候只需要A向B确认连接就OK了,然后seq为第二次的ack字节编号,就是期待值。ack为B-A的seq+1,就是A希望B下一次发过来的seq为2270738566。标志位只有ACK为置为了1。

TCP断开连接的四次挥手机制

抓包:

在这里插入图片描述

还是一样的,主要观察传输层的结构:

在这里插入图片描述

一般来说,第一次挥手是没有ACK确认位,那为什么这里会有呢,其实就是对上一次连接的时候,就是还在传输数据的时候,对数据的确认,所以这里的ACK和挥手没有什么关系,可以不用去管它。

FIN位置为1,表示A向B请求断开连接,告诉B我要断开连接了,不会再发送数据了,但是我还可以接收数据,seq依然位为一个随机数。


第二次挥手:

在这里插入图片描述

ACK位置为1,ack=上一次的seq+1。


第三次挥手:

在这里插入图片描述

B再向A发送一个FIN置为1的包,告诉A我也准备断开连接了,不会再发送数据了。seq还是一个随机数。


第四次挥手:

在这里插入图片描述

A向B发送一个ACK置为1的确认包,ack为上一次的seq加1。

http://www.lryc.cn/news/583097.html

相关文章:

  • 使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建
  • 数据管理新范式:基于Docker的私有云存储系统构建指南
  • 7.9 note| dfs
  • 【Linux】Rocky Linux 安装 Docker 与 Docker-Compose
  • 【vLLM 学习】Eagle
  • 多代理混战?用 PAC(Proxy Auto-Config) 优雅切换代理场景
  • 选哪个数据恢复软件?六款深度数据恢复软件介绍
  • 数据基础练习
  • 【Linux】权限的概念及理解
  • 进程于线程-3
  • 代码审计-springel表达式注入
  • JSP动态网页开发基础
  • 前后端集合如何传递
  • 主流大模型Agent框架 AutoGPT详解
  • thinkphp使用redis抢单实例
  • 如何将华为手机中的照片传输到电脑
  • 超越公有云:在裸金属服务器上构建低成本、高性能的静态资源服务
  • 【RK3568+PG2L50H开发板实验例程】FPGA部分 | Pango 的时钟资源——锁相环
  • 川翔云电脑:突破硬件极限,重构设计生产力范式
  • 使用DDR4控制器实现多通道数据读写(十九)
  • Amazon S3 对象存储服务深度解析:存储原理、应用场景与实战指南
  • 1.1 ARMv8/ARMv9安全扩展
  • ReactNative【实战】轮播图(含组件封装 ImageSlider)
  • 洛谷P1044 栈(学习向)
  • react16-react19都更新哪些内容?
  • clickhouse 各个引擎适用的场景
  • 【TCP/IP】2. 计算机网络与因特网体系结构
  • 手机文件夹隐藏工具,一键保护隐私
  • 数据库性能优化指南:解决ORDER BY导致的查询性能问题( SQL Server )
  • Dify 文本语意识别与自动补全工作流