当前位置: 首页 > 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.xdnf.cn/news/1094833.html

相关文章:

  • C++最小生成树算法详解
  • 【图像处理基石】图像超分辨率有哪些研究进展值得关注?
  • 【具身智能】本地实时语音识别kaldi在正点原子RK3588上部署
  • 图像匹配方向最新论文--CoMatch: Covisibility-Aware Transformer for Subpixel Matching
  • 自动化Trae Apollo参数解释的批量获取
  • LeetCode热题100—— 152. 乘积最大子数组
  • 7.神经网络基础
  • SpringBoot集成文件 - 大文件的上传(异步,分片,断点续传和秒传)
  • huggingface 笔记: Trainer
  • Airtest 的 Poco 框架中,offspring()
  • 使用Python求解最优化问题:从理论到实践的全方位指南
  • 2025年上半年软件设计师考后分享
  • LLM中 最后一个词语的表征(隐藏状态)通常会融合前面所有词语的信息吗?
  • 跨服务sqlplus连接oracle数据库
  • Flink-1.19.0源码详解6-JobGraph生成-后篇
  • 【Java】【字节面试】字符串中 出现次数最多的字符和 对应次数
  • pytorch chunk 切块
  • 两种方式清除已经保存的git账号密码
  • 11.7 ChatGPT奖励模型完全解读:RLHF核心技术深度剖析与Hugging Face实战
  • MyBatisPlus-03-扩展功能
  • 学习日记-spring-day44-7.9
  • 前端进阶之路-从传统前端到VUE-JS(第四期-VUE-JS页面布局与动态内容实现)(Element Plus方式)
  • 2025快手创作者中心发布视频python实现
  • 基于docker进行渗透测试环境的快速搭建(在ubantu中docker设置代理)
  • 单细胞入门(2)-经典案例分析
  • 分治算法---快排
  • 【TCP/IP】2. 计算机网络与因特网体系结构
  • Linux驱动04 --- 网络编程TCP客户端
  • 【AI News | 20250708】每日AI进展
  • mysql 故障检测与处理