实验名称: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报文段:
- 源端口:c6 be( 50878 )
- 目的端口:00 50 :80
- 序号:f7 32 86 09
- 确认号:0
- 数据偏移:占四位 8 –> 1000,4*8=32byte
- URG(urgent):0 紧急指针,无紧急数据发送
- ACK(acknowledgment): 0 确认号无效
- PSH(push): 0
- RST(reset): 0 复位
- SYN(synchronization):同步,syn=1,ack=0为连接请求报文段
- FIN(finish): 0
- 窗口: fa f0 (64240) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为 64240byte
- 检验和 :ae 01
- 紧急指针: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报文段:
- 源端口:00 50 :80
- 目的端口:c6 be( 50878 )
- 序号:eb 48 cb de
- 确认号: f7 32 86 0a
- 数据偏移:占四位 8 –> 1000,4*8=32byte
- URG(urgent):0 紧急指针,无紧急数据发送
- ACK(acknowledgment): 1
- PSH(push): 0
- RST(reset): 0 复位
- SYN(synchronization):同步,syn=1,ack=1表是我方同意建立连接
- FIN(finish): 0
- 窗口: ff ff (65535) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为 65535byte
- 检验和 :c5 71
- 紧急指针: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报文段:
- 源端口:c6 be( 50878 )
- 目的端口:00 50 :80
- 序号:f7 32 86 0a
- 确认号:eb 48 cb df
- 数据偏移:占四位 5 –> 0101
- URG(urgent):0 紧急指针,无紧急数据发送
- ACK(acknowledgment): 1
- PSH(push): 0
- RST(reset): 0 复位
- SYN(synchronization):0
- FIN(finish): 0
- 窗口: 04 02 (1026) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为 1026byte
- 检验和 :ad f5
- 紧急指针: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: 警告消息࿰…...
FonePaw Data Recovery for Mac:轻松恢复丢失数据
FonePaw Data Recovery for Mac是一款功能强大的数据恢复软件,专为Mac用户设计,帮助用户轻松恢复因各种原因丢失的数据。该软件支持从硬盘驱动器、存储卡、闪存驱动器等存储介质中恢复丢失或删除的文件,包括照片、视频、文档、电子邮件、音频…...
C语言易错提醒选择题精选
Ⅰ 易错题 1.设有double p;,为变量p声明一个引用名称rp,则定义语句为 double& rpp; 2.已知‘A’一‘Z’的ASCII码为65—90,当执行“char ch14*52;cout<<ch<<endl;”语句序列后得到的输出结H ,72对应ASCII码中…...
Android11系统去掉截屏功能
1. 去掉Settings里截屏菜单条目,packages/apps/Settings: 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
基础功能 测试案例:以同步的方式调用。 /*** v1: 基础功能*/ const p1 new MyPromise((resolve, reject) > {resolve(success)reject(error) })p1.then((value) > {console.log(v1: , value) }) 实现功能:在 status 和 value 的位置暂存值&…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
