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

news2024/11/29 5:43:09

文章目录

  • 一、实验背景与目的
  • 二、实验需求
  • 三、实验解法
    • 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.coloradmin.cn/o/951854.html

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

相关文章

Richtek立锜EPS助力转向系统方案

Richtek立锜EPS助力转向系统方案包含一个集成的位置控制模块,用来接收一个外部系统(泊车模块)的角度请求以实现控制EPS系统自动转向的功能。外部交互接口用作与外部泊车模块进行CAN通讯,以支持泊车模块的控制状态的切换和输入角度…

nextTick原理

nextTick 是 Vue 提供的一个异步方法,用于在 DOM 更新之后执行回调函数。它的原理是利用 JavaScript 的事件循环机制来实现异步执行。 具体来说,当我们调用 nextTick 方法时,Vue 会将传入的回调函数添加到一个队列中。在下一个事件循环中&am…

Linux Input子系统

一、基本概念 按键、鼠标、键盘、触摸屏等都属于输入(input)设备,Linux 内核为此专门做了一个叫做 input子系统的框架来处理输入事件。本质属于字符设备。 1. input子系统结构如下: input 子系统分为 input 驱动层、input 核心层、input 事件处理层&…

重庆旅游攻略

重庆旅游攻略 白天 鹅岭二厂 (1)地铁线路: 1号线鹅岭站 川美涂鸦一条街 (1)地铁线路: 黄桷坪正街 湖广会馆 3. 长江索道 需要预约 门票:单程20元,往返30元 4. 重庆动物园 …

Mysql 事物与存储引擎

MySQL事务 MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中, 要删除一个人员,即需要删除人员的基本资料,又需要删除和该人员相关的信息,如信箱, 文章等等。这样&#…

MMSegmentation训练自己的语义分割数据集

全流程,训练语义分割数据集 数据标注json转mask 运行源码MMSegmentation模型选择运行部分 数据标注 # 安装 pip install labelme # 启动labelme labelme然后 ctrl N 开启多边形标注即可,命名类为person 之后会保存到同目录下json文件: js…

ioctl、printk及多个此设备支持

一、ioctl操作实现 ioctl(Input/Output Control)是一个在 Unix-like 操作系统中的系统调用,用于控制设备或文件的各种操作。它允许用户空间程序与内核空间进行交互,执行一些特定的设备控制、状态查询或其他操作,而不必…

Java“魂牵”京东商品详情描述数据,京东商品详情API接口,京东API接口申请指南

要通过京东的API获取商品详情描述数据,您可以使用京东开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例,展示如何通过京东开放平台API获取商品详情: 首先,确保您已注册成为京东开放平台的开发者,并创…

Springboot整合MyBatisPlus框架操作MySQL

1、MyBatis-Plus概述 MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 【技术储备】 拥有 Java 开发环境以及相应 IDE…

elasticsearch8.9.1集群搭建

目录 1.官网文档 2.安装步骤 2.1 环境准备 2.2 添加用户 2.3 修改文件profile文件 2.4 修改elasticsearch.yml 2.5 修改 sysctl.conf 3.启动 3.1 切换到kibana 3.2 启动elasticsearch 3.3 启动kibana 3.4 验证节点情况 1.官网文档 elasticsearch文档:ht…

漏洞发现-web应用发现探针类型利用

关于在真实环境下面,这个漏洞该如何发现 这里老师把它分成了三块第一类是 #已知cms 如常见的dedecms,discuz,wordpress等源码结构,这些都是网上比较知名的php源码的cms的名称,这是我们在国内常见的几个程序&#xf…

常见的数据结构之队列

一、介绍 队列(Queue)是一种常见的数据结构,用于存储和管理一系列数据元素,其中元素按照 先进先出(First-In-First-Out,简称FIFO)的原则进行插入和删除。 队列可以类比为现实生活中排队等候的场景,例如在超市收银台排队购物的顾客队列。 二、队列的基本操作 2.1 出…

接口优化通用方案

目录 批量异步、回调缓存预取池化并行锁粒度索引大事务海量数据 批量 批量思想:批量操作数据库 优化前: //for循环单笔入库 for(TransDetail detail:transDetailList){ insert(detail); } 优化后: batchInsert(transDetailList); 异步、回…

CSAPP的Lab学习——DataLab

文章目录 前言一、bitXor(异或)二、tmin(最小的二进制补码)三、isTmax(判断是否为最大值)四、allOddBits(判断奇数位是否都是1)五、negate(计算相反数)六、is…

Pycharm保存自定义布局

1.启用特定窗口 在View->Tool Windows下可以启用特定窗口,窗口标签会出现在左边(图中红框处),下边或右边,可以拖动摆放位置 2.保存 在windows->layout下可以选择保存布局 1.图中第一个选项:选择或…

如何用bat文件调用与它在同一文件夹下的某个exe程序

第一个方案: 如果bat文件与某个exe程序在同一文件夹下的。那直接写那个 程序文件名字就行了。 两种写法。比如是 test.exe程序 一种 test.exe 二种 start test.exe 第一种批处理会等待test.exe程序执行完后才会运行下面的语句 第二种不会等待 这个写绝对路径好用 另…

Java实现根据商品ID获取京东商品详情数据,1688商品详情接口,1688API接口封装方法

要通过京东的API获取商品详情数据,您可以使用京东开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例,展示如何通过京东开放平台API获取商品详情: 首先,确保您已注册成为京东开放平台的开发者,并创建一…

JDK的组成、作用

JDK:java development kit java的标准开发工具包 jre:java runtime environment 运行基于java语言编写的程序必不可少的运行环境用于解释和执行java的字节码文件(.class文件)普通用户(无开发需求)下载jre…

python的asyncio事件循环

一、介绍 asyncio是Python标准库中的一个异步编程框架,它提供了一个事件循环(event loop),用于协调异步任务的执行和结果的返回。在asyncio中,事件循环是一个非常重要的概念,它是异步编程的核心。 事件循…

3.4 可视化图表

电子表格中的图表可以使数据的表现更加直观、形象,帮助用户准确掌握数据间的逻辑关系。本节主要介绍了图表的构成元素,图表的类型,如何对图表区域进行管理等内容,针对不同的数据类型,创建成简单的图表,或创…