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

实验名称:TCP 连接管理

目录

前言

TCP报文段格式

TCP建立连接

TCP释放连接

实验目的

实验原理

实验步骤

1. 启动WireShark,设置抓包状态

2. 访问指定服务器 ,通过Wireshark抓取通信数据报文

3. 分析TCP连接建立的三次握手和连接释放的四次握手过程

原始数据记录


实验目的

1) 掌握TCP连接建立的三次握手过程

2) 理解TCP连接释放的四次握手过程

实验原理

TCP协议工作原理

主要设备、器材:

1) 联网计算机

2) 协议分析软件Wireshark

实验步骤

1) 启动WireShark,设置抓包状态

2) 访问指定服务器 ,通过Wireshark抓取通信数据报文

3) 分析TCP连接建立的三次握手和连接释放的四次握手过程

本文提供抓取的数据包,供大家免费下载,分析

原始数据记录

连接建立的三个TCP数据包

本机IP地址:192.168.22.37

本机MAC地址:04-7c-16-5e-9f-26

连接建立的三个TCP数据包(第一个要求写出完整的帧,第二个和第三个只写TCP部分)

连接建立第一次握手数据包:

编号                                数据包

0000   04 7c 16 2a a9 c3 04 7c 16 5e 9f 26 08 00 45 02  

0010   00 34 72 de 40 00 80 06 00 00 c0 a8 16 25 c0 a8

0020   16 65 c6 be 00 50 f7 32 86 09 00 00 00 00 80 c2  

0030   fa f0 ae 01 00 00 02 04 05 b4 01 03 03 08 01 01   

0040   04 02                                             

连接建立第二次握手数据包:

编号                                数据包

0000   04 7c 16 5e 9f 26 04 7c 16 2a a9 c3 08 00 45 02   

0010   00 34 f4 1e 40 00 80 06 58 c8 c0 a8 16 65 c0 a8   

0020   16 25 00 50 c6 be eb 48 cb de f7 32 86 0a 80 52   

0030   ff ff c5 71 00 00 02 04 05 b4 01 03 03 08 01 01   

0040   04 02                                             

连接建立第三次握手数据包:

编号                                数据包

0000   04 7c 16 2a a9 c3 04 7c 16 5e 9f 26 08 00 45 00  

0010   00 28 72 df 40 00 80 06 00 00 c0 a8 16 25 c0 a8  

0020   16 65 c6 be 00 50 f7 32 86 0a eb 48 cb df 50 10  

0030   04 02 ad f5 00 00                                 

实验结果与分析:

1)对连接建立的第一个数据包的TCP部分逐字段分析,指出每个字段的值及其表示的意义;对第2个和第3个指出序号、确认号、SYN和ACK的值及其表示的意义。

2)理解TCP连接释放的四次握手的每个数据包。

连接建立第一次握手数据包分析

以太网帧

目的地址: 04 7c 16 2a a9 c3                            

源地址:  04 7c 16 5e 9f 26                                 

类型:0800 (IPv4)

IP数据报:

  45 02 00 34 72 de 40 00 80 06 00 00 c0 a8 16 25   

  c0 a8 16 65  

TCP报文段:

  1. 源端口:c6 be( 50878 )   
  2. 目的端口:00 50 :80                                 
  3. 序号:f7 32 86 09
  4. 确认号:0
  5. 数据偏移:占四位 8 –> 1000,4*8=32byte
  6. URG(urgent):0 紧急指针,无紧急数据发送  
  7. ACK(acknowledgment): 0 确认号无效
  8. PSH(push):  0
  9. RST(reset): 0 复位
  10. SYN(synchronization):同步,syn=1,ack=0为连接请求报文段
  11. FIN(finish): 0
  12. 窗口: fa f0 (64240) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为   64240byte
  13. 检验和  :ae 01
  14. 紧急指针:0         

连接建立第二次握手数据包分析

以太网帧

目的地址:04 7c 16 5e 9f 26                            

源地址:  04 7c 16 2a a9 c3                                 

类型:0800 (IPv4)

IP数据报:

  45 02 00 34 f4 1e 40 00 80 06 58 c8 c0 a8 16 65   

  c0 a8 16 25   

                                     

TCP报文段:

  1. 源端口:00 50 :80    
  2. 目的端口:c6 be( 50878 )                              
  3. 序号:eb 48 cb de                                      
  4. 确认号: f7 32 86 0a                                       
  5. 数据偏移:占四位 8 –> 1000,4*8=32byte
  6. URG(urgent):0 紧急指针,无紧急数据发送  
  7. ACK(acknowledgment): 1
  8. PSH(push):  0
  9. RST(reset): 0 复位
  10. SYN(synchronization):同步,syn=1,ack=1表是我方同意建立连接
  11. FIN(finish): 0
  12. 窗口: ff ff (65535) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为   65535byte
  13. 检验和  :c5 71
  14. 紧急指针:0       

连接建立第三次握手数据包分析

以太网帧

目的地址: 04 7c 16 2a a9 c3                            

源地址:  04 7c 16 5e 9f 26                                 

类型:0800 (IPv4)

IP数据报:

    45 00 00 28 72 df 40 00 80 06 00 00 c0 a8 16 25   

    c0 a8 16 65                                       

TCP报文段:

  1. 源端口:c6 be( 50878 )   
  2. 目的端口:00 50 :80                                 
  3. 序号:f7 32 86 0a
  4. 确认号:eb 48 cb df                                       
  5. 数据偏移:占四位 5 –> 0101
  6. URG(urgent):0 紧急指针,无紧急数据发送  
  7. ACK(acknowledgment): 1
  8. PSH(push):  0
  9. RST(reset): 0 复位
  10. SYN(synchronization):0
  11. FIN(finish): 0
  12. 窗口: 04 02 (1026) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为   1026byte
  13. 检验和  :ad f5
  14. 紧急指针:0  

释放链接的三个TCP数据包

这是就有小伙伴会问了,怎么只有三个TCP数据包?不是4次分手吗?

其实在实际的环境中,服务器的2次返回合成一个数据包返回了。

相关文章:

实验名称:TCP 连接管理

目录 前言 TCP报文段格式 TCP建立连接 TCP释放连接 实验目的 实验原理 实验步骤 1. 启动WireShark,设置抓包状态 2. 访问指定服务器 ,通过Wireshark抓取通信数据报文 3. 分析TCP连接建立的三次握手和连接释放的四次握手过程 原始数据记录 实验…...

go语言map底层及扩容机制原理详解(上)

底层数据结构-哈希表 go语言map的底层数据结构是哈希表:通过哈希表来存储键值对,通过hash函数把键值对散列到一个个桶(bucket)中。 什么是哈希表? 在顺序结构以及平衡树中,元素与其的存储位置之间没有对应关系,因此…...

互联网职场说 | “领导找我谈话,原来是给我涨薪,但却只涨了200,还偷偷叮嘱我保密,这次只给我涨了薪”

职场中,一般当领导找你谈话时,心里总是会涌起两种心理活动:问责和表扬。不过很多人第一反应就是有点担心害怕,其次才会想有什么好事临到我了! 一位职场网友分享说,有天领导忽然找她谈话,当时心…...

Android 如何启用user版本的adb源码分析

Android调试桥(ADB, Android Debug Bridge)是一个Android命令行工具,包含在SDK 平台工具包中,adb可以用于连接Android设备,或者模拟器,实现对设备的控制,比如安装和调试应用。和Appium一样,adb也是基于C/S架…...

linux phpstudy 重启命令

[rootLinuxWeb phpstudy]# ./system/phpstudyctl restart 查看命令 1) phpstudy -start 启动小皮面板 2) phpstudy -stop 停止小皮面板 3) phpstudy -restart 重启小皮面板 4) phpstudy -status 查询面板状态 5) phpstudy -in…...

台式电脑屏幕亮度怎么调节?让你的眼睛更舒适!

在日常使用台式电脑时,调节屏幕亮度是一项常见的需求。不同的环境和个人偏好可能需要不同的亮度设置。因此,了解台式电脑屏幕亮度怎么调节是非常重要的。本文将介绍三种常见的方法,帮助您轻松调节台式电脑屏幕亮度,以满足您的需求…...

打造安全的 Linux 环境:实用配置指南

唠唠闲话 一开始接触服务器,我只是把它当博客的托管网站,源文件用 GitHub 备份,所以网站被黑了也没啥关系。但随着使用深入,网站逐渐加入我的日常工作流中,而且有了使用更多服务的需求。在这种情况下,服务…...

神经网络有哪些算法

神经网络算法是人工智能领域的重要组成部分,它通过模拟人类神经系统的结构和功能,实现对复杂问题的处理和分析。以下是对神经网络算法的详细概述,包括常见的算法和它们的特点、应用等,力求达到约2500字的篇幅。 一、神经网络算法概述 神经网络算法是一种基于人工神经元的…...

计算机网络期末试题

第一章 概述 一. 单选题(共13题,36.4分) 1. (单选题) 因特网起源于( )网络。 A. ARPANETB. EthernetC. CATVD. CERNET 我的答案: A:ARPANET;正确答案: A:ARPANET; 2.8分 2. (单选题)人们把( )年作为因特网的诞…...

Unity学习笔记---图层

渲染层级 1,调整Sprite Renderer中的Order in Layer可以调整图层层级。 2,在Edit--Project Setting--Graphics中,调整TransParency Sort Mode为Custom Axis, 并将TransParency Sort Axis中的Z值默认的1改为0,将Y改为…...

【简单探索微软Edge】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...

YOLOv5独家改进:backbone改进 | 微软新作StarNet:超强轻量级Backbone | CVPR 2024

💡💡💡创新点:star operation(元素乘法)在无需加宽网络下,将输入映射到高维非线性特征空间的能力,这就是StarNet的核心创新,在紧凑的网络结构和较低的能耗下展示了令人印象深刻的性能和低延迟 💡💡💡如何跟YOLOv5结合:替代YOLOv5的backbone 收录 YOL…...

概率密度函数pdf的某种解释与洞察

1.一个想法实验 我在想一个数,姑且称之为X,介于0和10之间(含0和10)。如果我不告诉你别的,你会想象X = 0的概率是多少?X = 4?假设我对任何特定的数字都没有偏好,你会想象十一个整数0,1,2,.….,10也是一样。因为所有的概率加起来必须是1,所以逻辑上的结论是给11个选项…...

【OceanBase诊断调优】—— 转储错误(错误代码 4138/ORA-01555)

当读事务很长时,租户进行转储会报 4138/ORA-01555 错误。本文介绍该错误的处理方法。 适用版本 OceanBase 数据库 V2.X 及以后的版本 问题现象 当读事务很长,租户进行转储时会出现以下错误。 Oracle 租户: ORA-01555:snapsho…...

Python面试题【数据结构和算法部分101-130】

Python面试题【数据结构和算法部分101-130】 Python面试题【数据结构和算法部分101-130】 Python面试题【数据结构和算法部分101-130】 问题:如何在Python中实现二分查找? 答案: def binary_search(arr, target):low, high 0, len(arr) - 1…...

Django中的日志处理

日志处理 1.日志级别 级别(Level)表示日志消息的优先级,从低到高分为以下几个级别: DEBUG: 详细的日志信息,通常用于调试。 INFO: 一般的信息性消息,用于说明程序运行情况。 WARNING: 警告消息&#xff0…...

FonePaw Data Recovery for Mac:轻松恢复丢失数据

FonePaw Data Recovery for Mac是一款功能强大的数据恢复软件,专为Mac用户设计,帮助用户轻松恢复因各种原因丢失的数据。该软件支持从硬盘驱动器、存储卡、闪存驱动器等存储介质中恢复丢失或删除的文件,包括照片、视频、文档、电子邮件、音频…...

C语言易错提醒选择题精选

Ⅰ 易错题 1.设有double p;&#xff0c;为变量p声明一个引用名称rp,则定义语句为 double& rpp; 2.已知‘A’一‘Z’的ASCII码为65—90&#xff0c;当执行“char ch14*52&#xff1b;cout<<ch<<endl;”语句序列后得到的输出结H &#xff0c;72对应ASCII码中…...

Android11系统去掉截屏功能

1. 去掉Settings里截屏菜单条目&#xff0c;packages/apps/Settings&#xff1a; diff --git a/res/xml/top_level_settings.xml b/res/xml/top_level_settings.xml old mode 100644 new mode 100755 index a5e4d06..a9420bb --- a/res/xml/top_level_settings.xmlb/res/xml/t…...

测试驱动来学习 Promise

基础功能 测试案例&#xff1a;以同步的方式调用。 /*** v1: 基础功能*/ const p1 new MyPromise((resolve, reject) > {resolve(success)reject(error) })p1.then((value) > {console.log(v1: , value) }) 实现功能&#xff1a;在 status 和 value 的位置暂存值&…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...