TCP连接分析:探寻TCP的三次握手

文章目录

  • 一、实验背景与目的
  • 二、实验需求
  • 三、实验解法
    • 1. 预先抓包监测使用Wireshark工具
    • 2.进行TCP三次握手,访问www.baidu.com
    • 3.分析Wireshark捕获的TCP包

摘要: 本实验使用Wireshark工具,通过抓包监测和分析,深入研究了与百度服务器之间建立TCP连接的三次握手过程。通过捕获的数据包,我们解析了每个阶段的关键信息,从而更好地理解了网络通信的基本原理。

一、实验背景与目的

在网络通信中,TCP三次握手是建立可靠连接的重要步骤之一。本实验旨在通过抓包分析,深入了解与服务器建立TCP连接的过程,并解释涉及的端口和标志。

二、实验需求

1.预先抓包监测使用Wireshark工具

2.进行与百度服务器的TCP三次握手,访问www.baidu.com

3.分析Wireshark捕获的TCP包

三、实验解法

1. 预先抓包监测使用Wireshark工具

在我的虚拟机环境中,我使用的是Kali Linux,并使用虚拟网卡eth0连接网络。若是物理机,则可能是名为"wifi"的网卡。以下是预先抓包的截图:

在这里插入图片描述

2.进行TCP三次握手,访问www.baidu.com

通过浏览器访问www.baidu.com,然后使用Wireshark工具筛选出仅显示TCP连接。这样我们可以找到与百度服务器之间的请求与响应。

在这里插入图片描述

3.分析Wireshark捕获的TCP包

百度使用HTTPS协议,默认端口为443。我们可以从Wireshark捕获的数据中找到与服务器的三次握手过程,这可以通过源IP和目标IP以及端口号进行对应。以下是对应的三个TCP包:

第一个包 (SYN):
源IP: 192.168.197.129,端口: 39654
目标IP: 34.160.144.191,端口: 443
标志: SYN
序列号 (seq): 694186008

第二个包 (SYN+ACK):
源IP: 34.160.144.191,端口: 443
目标IP: 192.168.197.129,端口: 39654
标志: SYN, ACK
序列号 (seq): 1472822364
确认号 (ACK): 694186009

第三个包 (ACK):
源IP: 192.168.197.129,端口: 39654
目标IP: 34.160.144.191,端口: 443
标志: ACK
序列号 (seq): 694186009
确认号 (ACK): 1472822365

在这里插入图片描述
第一个包 (SYN):

看到第一个SYN其位置也是1,这是本机进行第一次TCP请求,并且生成了一个seq为694186008的序列号

在这里插入图片描述
第二个包 (SYN+ACK):

再看第二个回包,SYN与ACK,首先再次生成一个seq为1472822364的序列号,ACK则为第一次请求生成的seq序列号694186008+1=694186009

在这里插入图片描述
第三个包 (ACK):

第三个确认包,即连接成功,seq为第二个回包ACK的值694186009,ACK为第二个回包的seq序号号1472822364+1=1472822365

在这里插入图片描述

如有不详或错误,敬请指出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/61390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录笔记--链表篇

目录 1--虚拟头节点的使用 2--设计链表 3--反转链表 4--两两交换链表中的节点 5--快慢指针 5-1--删除链表倒数第N个节点 5-2--环形链表 5-3--环形链表II 1--虚拟头节点的使用 在链表相关题目中,常新定义一个虚拟头结点 dummynode 来指向原链表的头结点&…

mysql索引、事务、存储引擎

一、索引 索引的概念: 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。使用索引后可以不用扫描全表来定位某行的数据,而是…

python的sort与sorted

一、sort 方法 sort 方法是列表的方法,用于在原地对列表进行排序,即直接修改原始列表,不返回新的列表。 它可以接受两个可选参数:key 和 reverse。 key 是一个函数,用于指定排序的依据; reverse 是一…

XSS检测工具XSStrike源码分析及使用记录

目录 ​编辑 官方说明 主要特点 参数 源码刨析 扫描模式 自带payload扫描

npm install 报错

npm install 报错 npm install 报错 npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: yudao-ui-admin1.8.0-snapshot npm ERR! Found: eslint7.15.0 npm ERR! node_modules/eslint npm ERR! dev eslint&q…

Greenplum实用技巧

一、通过gp_segment_id查看数据倾斜 gp_segment_id是表中的隐藏列,用来标记该行属于哪个segment节点。因此可以基于该隐藏列进行分组查询,获取每个segment的记录数,从而判断表数据的分布是否均匀或有倾斜。 qb#select gp_segment_id, count…

【js】Map遍历方法

Map 结构原生提供三个遍历器生成函数和一个遍历方法。 Map.prototype.keys():返回键名的遍历器。Map.prototype.values():返回键值的遍历器。Map.prototype.entries():返回所有成员的遍历器。Map.prototype.forEach():遍历 Map 的…

文本编辑器Vim常用操作和技巧

文章目录 1. Vim常用操作1.1 Vim简介1.2 Vim工作模式1.3 插入命令1.4 定位命令1.5 删除命令1.6 复制和剪切命令1.7 替换和取消命令1.8 搜索和搜索替换命令1.9 保存和退出命令 2. Vim使用技巧 1. Vim常用操作 1.1 Vim简介 Vim是一个功能强大的全屏幕文本编辑器,是L…

谷歌发布Gemini以5倍速击败GPT-4

在Covid疫情爆发之前,谷歌发布了MEENA模型,短时间内成为世界上最好的大型语言模型。谷歌发布的博客和论文非常可爱,因为它特别与OpenAI进行了比较。 相比于现有的最先进生成模型OpenAI GPT-2,MEENA的模型容量增加了1.7倍&#xf…

Java 数据结构使用学习

Set和List的区别 Set 接口实例存储的是无序的&#xff0c;不重复的数据。List 接口实例存储的是有序的&#xff0c;可以重复的元素。 Set 检索效率低下&#xff0c;删除和插入效率高&#xff0c;插入和删除不会引起元素位置改变 <实现类有HashSet,TreeSet>。 List 和数…

【LeetCode算法系列题解】第6~10题

CONTENTS LeetCode 6. N 字形变换&#xff08;中等&#xff09;LeetCode 7. 整数反转&#xff08;中等&#xff09;LeetCode 8. 字符串转换整数-atoi&#xff08;中等&#xff09;LeetCode 9. 回文数&#xff08;简单&#xff09;LeetCode 10. 正则表达式匹配&#xff08;困难&…

C# Linq源码分析之Take(四)

概要 本文主要对Take的优化方法进行源码分析&#xff0c;分析Take在配合Select&#xff0c;Where等常用的Linq扩展方法使用时候&#xff0c;如何实现优化处理。 本文涉及到Select, Where和Take和三个方法的源码分析&#xff0c;其中Select, Where, Take更详尽的源码分析&…

【日积月累】后端刷题日志

刷题日志 说说对Java的理解JAVA中抽象类和接口之间的区别Java中的泛型 和equals()的区别八种基本数据类型与他们的包装类在一个静态方法内调用一个非静态成员为什么是非法的静态方法与实例方法有何不同重载与重写深拷贝浅拷贝面向过程与面向对象成员变量与局部变量Spring框架Sp…

Spring Bean对象生命周期

文章目录 前言基础通俗理解bean作用域 前言 最近学习spring的一些基础概念&#xff0c;所以就先了解了bean对象的概念&#xff0c;而且发现这个里面涉及到很多的内容&#xff0c;比如在spring中一个bean对象是如何创建以及销毁的这些概念&#xff0c;所以就打算总结一些spring…

微信开发之一键踢出群聊的技术实现

简要描述&#xff1a; 删除群成员 请求URL&#xff1a; http://域名地址/deleteChatRoomMember 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选…

SpringBoot之logback-spring.xml详细配置

《logback官网》 各种指导文件&#xff0c;有空自己去看&#xff0c;比如&#xff1a;我们需要调整的是布局&#xff0c;直接看Layouts。 pom.xml <!-- 环境配置 --><profiles><profile><id>dev</id><properties><spring.profiles.a…

基于java swing和mysql实现的汽车租赁管理系统(源码+数据库+文档+运行指导视频)

一、项目简介 本项目是一套基于java swing和mysql实现的汽车租赁管理系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经…

面试题整理

数据结构与算法 快排 实现原理&#xff1f; 不快原地算法---什么意思&#xff1f; 快排的时间复杂度&#xff1f; 有序数组快排的时间复杂度和解决办法&#xff1f; 快排查找第K个最大元素&#xff1f; &#xff08;target_indexnum.size-k&#xff09; 归并 实现原理&…

麒麟系统上安装 MySQL 8.0.24

我介绍一下在麒麟系统上安装 MySQL 8.0.24 的详细步骤&#xff0c;前提是您已经下载了 mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz 安装包。其实安装很简单&#xff0c;但是有坑&#xff0c;而且问题非常严重&#xff01;由于麒麟系统相关文章博客较少&#xff0c;导致遇到了…

java八股文面试[数据库]——MySql聚簇索引和非聚簇索引区别

聚集索引和非聚集索引 聚集索引和非聚集索引的根本区别是表记录的排列顺序和与索引的排列顺序是否一致。 1、聚集索引 聚集索引表记录的排列顺序和索引的排列顺序一致&#xff08;以InnoDB聚集索引的主键索引来说&#xff0c;叶子节点中存储的就是行数据&#xff0c;行数据在…