WireShark抓包分析TCP三次握手过程,TCP报文解析

news2024/10/1 7:42:43

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》

使用WireShark工具抓取TCP协议三次握手的数据包,分析TCP三次握手过程,分析TCP报文中各个字段的作用。

      • 第一步:访问百度
      • 第二步:过滤TCP协议的数据包
      • 第三步:数据包分析
      • 第四步:数据报文分析

第一步:访问百度

1)打开wireshark,开启抓包,然后打开浏览器访问百度,触发TCP三次握手。

2)打开cmd,ping www.baidu.com 拿到百度的IP地址。

在这里插入图片描述

第二步:过滤TCP协议的数据包

1)显示过滤器输入:tcp and ip.addr==110.242.68.3,过滤TCP协议的数据包。

在这里插入图片描述

最上面的三个包,就是TCP三次握手的数据包,每个包对应一次握手。

第三步:数据包分析

先分析一下三个握手的包都做了什么

1)先看第一个数据包,源地址(Source字段)是我

在这里插入图片描述

cmd执行 ifconfig 验证一下:
在这里插入图片描述

目的地址(Detintion字段)是百度的地址
Info字段,是请求的描述,可以看到里面有一个 SYN

在这里插入图片描述

总结一下第一个包做了什么:
我的电脑向百度的服务器发送了一个TCP请求,SYN表示这是一个建立连接的请求,这是第一次握手。

2)再看第二个数据包,源地址(Source字段)是百度的地址

在这里插入图片描述

目的地址(Detintion字段)是我的
Info字段是描述,可以看到有一个 SYN 和 ACK

在这里插入图片描述

总结一下这个包做了什么:
百度的服务器(收到我的链接请求以后)向我的电脑发送了一个TCP请求,SYN+ACK表示这是一个应答的请求,这是第二次握手。

3)再看第三个数据包,源地址(Source字段)是我

在这里插入图片描述

目的地址(Detintion字段)是百度的服务器
Info字段是描述,可以看到里面有一个 ACK

在这里插入图片描述

总结一下这个包做了什么:
我的电脑(收到百度服务器的响应请求后)向百度的服务器发送了一个TCP请求,ACK表示这是一个确认请求,这是第三次握手

发送完这个确认请求后,三次握手就完成了,客户端会打开到服务器的单向链接;服务器收到确认请求后,就会打开到客户端的单向链接;两个方向的连接都打开,就可以传输数据了。

第四步:数据报文分析

TCP协议数据报文格式如下图,接下来,我们根据抓到的数据包,分析各个字段的对应关系及作用。

在这里插入图片描述

1)点开TCP协议的数据包,第四行 Transmission Control Protocol 就是TCP协议的数据了。按照首字母区分协议。

  • Source Port字段是源端口,客户端会使用一个随机端口向服务器发起TCP连接
  • Destination Port字段是目的端口,因为我们是用https协议访问百度,所以这里是向服务器的443端口发起TCP连接

在这里插入图片描述

2)序号和确认号用来按顺序重组数据

  • Sequence Number:表示本次传输数据的起始字节在整个数据流中的位置,是相对序号
  • Sequence Number (Raw):原始序号
  • Next Sequence Numvber:下一个包的序号
  • Acknowledgment Number:期望收到下一个包的序号,相对序号
  • Acknowledgment Number(Raw):原始序号

在这里插入图片描述

3)数据偏移表示数据到开始位置的距离,用来计算TCP报文的首部长度

在这里插入图片描述

4)标志位用来确认请求的作用,三次握手中需要注意的两个标志位是:Acknowledgment (ack)和 syn

  • Reserved:保留位
  • Nonce:显式拥塞通知,标明阻塞即将发生,让发送方降低传输速率
  • CWR:减少拥塞窗口
  • ECN-Echo:有两种意思,取决于SYN的值
  • 紧急 URG(Urgent):为1表示高优先级数据包
  • 确认 ACK(Acknowledgment ):为1表示确认号字段有效
  • 推送 PSH(Push):为1表示接收方尽快将这个报文交给应用层而不用等待缓冲区装满
  • 复位 RST(Reset):为1表示出现严重错误,需要重新建立连接
  • 复位 SYN:建立连接时同步序号;SYN=1和ACK=0表示连接的请求,SYN=1和ACK=1表示接收连接的请求
  • 终止 FIN:为1表示传输完成,请求释放链接

在这里插入图片描述

注意看第一次握手的数据包,因为标志位里只有Syn的值为1,所以Flags显示的是SYN,请求的Info字段也就显示 SYN

在这里插入图片描述

再看第二次请求的数据包,因为标志位里Syn和Acknowledgment的值都是1,所以Flags显示的是 SYN,ACK,请求的Info字段也就显示 SYN,ACK

在这里插入图片描述

5)最后就是窗口大小、校验和、紧急指针、选项、填充这几个字段

  • window字段表示窗口大小,告诉对方自己所能接收的最大字节是多少,用于流量控制
  • Checksum字段表示校验和,用来检验数据包的完整性
  • Urgent Poiter字段表示紧急指针,在标志位URG为1的时候有效,代表一个偏移量,和序号字段值相加
  • Options字段表示选项,长度可变
  • Timestamps字段表示填充

在这里插入图片描述

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

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

相关文章

06-数据库检索:如何使用B-树对海量磁盘数据建立索引?

06-数据库检索:如何使用B-树对海量磁盘数据建立索引? 你好,我是陈东。 在基础篇中,我们学习了许多和检索相关的数据结构和技术。但是在大规模的数据环境下,这些技术的应用往往会遇到一些问题,比如说&…

CGAL安装到验证到深入

1、安装CGAL Win10下VS配置CGAL-5.3.1&#xff08;下载、安装、VS属性表配置&#xff09; 测试代码_cgal下载_孙 悟 空的博客-CSDN博客 2、CGAL验证练习 #include <iostream> #include <CGAL/Simple_cartesian.h> typedef CGAL::Simple_cartesian<double> …

800多个看图猜电视剧的含图的ACCESS\EXCEL数据库

虽然说看图猜什么是去年流行的一种手机游戏&#xff0c;但是这种游戏放置在任何年代都算是一种趣味之一&#xff0c;而今天看到一个800多的电视载图猜电视剧的内容&#xff0c;因此就弄下来&#xff0c;毕竟这种数据是永不过期的。 其实&#xff0c;实现迷惑字很简单&#xff0…

柔和舒适的瑜伽垫,设计时尚两面可用

日常健身的时候&#xff0c;瑜伽垫是个很实用的工具&#xff0c;可以大大提升健身时的舒适性&#xff0c;不过在选择瑜伽垫的时候也要注意质量&#xff0c;特别是像厚度、弹力、异味之类的细节&#xff0c;对平时使用的影响都很大。 目前我用的是一款莫比 联名扭蛋兔瑜伽垫&…

2023年前端面试真题之CSS篇

人的一生&#xff0c;总是难免有浮沉。不会永远如旭日东升&#xff0c;也不会永远痛苦潦倒。反复地一浮一沉&#xff0c;对于一个人来说&#xff0c;正是磨练。因此&#xff0c;浮在上面的&#xff0c;不必骄傲&#xff1b;沉在底下的&#xff0c;更用不着悲观。必须以率直、谦…

Knife4jInsight 1.0.0 MVP 版本发布

Knife4jInsight 1.0.0 MVP 版本发布 前言系统用户平台特性主要功能后期计划的功能 平台管理OpenAPI数据源接口文档自动i18n,支持中英双语微服务OpenAPI规范数据源自动注册上报整合开源swagger-ui组件&#xff0c;平台中可进行OpenAPI规范接口设计打通开源注册中心(Nacos\Eureka…

暨南大学旅游管理《乡村振兴战略下传统村落文化旅游设计》许少辉校友——2023学生开学季辉少许

暨南大学旅游管理《乡村振兴战略下传统村落文化旅游设计》许少辉校友——2023学生开学季辉少许

SpringCloud Alibaba - Sentinel

接上文SpringCloud Alibaba - Nacos 1.Sentinel 流量防卫兵 1.1 安装与部署 和Nacos一样&#xff0c;它是独立安装和部署的&#xff0c;下载地址https://github.com/alibaba/Sentinel/releases 下载后的jar放到目录 然后配置 启动并访问,用户名密码都是 sentinel 此时就…

ISP技术概述

原本或许是为了对冲手机系统和APP设计无力感而诞生的拍照功能,现今却成为了众手机厂家除背部设计外为数不多可“卷”的地方,自拍、全景、夜景、小视频等旺盛的需求让这一技术的江湖地位迅速变化。对圈内人士而言,这一波变化带来的后摄、双摄、多摄、暗光、防抖、广角、长焦、…

软件定制开发具有以下特点|APP搭建|小程序

软件定制开发具有以下特点|APP定制|小程序 一、快速响应用户需求 软件定制开发的优势在于&#xff0c;它可以快速响应用户的需求&#xff0c;因为它是在现有软件的基础上进行功能定制、界面定制、服务定制等改造&#xff0c;而不是从零开始进行重新设计与开发&#xff0c;所以…

Spring MVC 请求参数绑定

文章目录 默认⽀持 Servlet API 作为⽅法参数绑定简单类型参数绑定Pojo类型参数绑定⽇期类型参数&#xff08;需要配置⾃定义类型转换器&#xff09;路径变量参数 Spring MVC 是一个用于构建 Web 应用程序的框架&#xff0c;它提供了一种方便的方式来处理 HTTP 请求和响应。在 …

【java】【SpringBoot】【三】开发实用篇 基于SpringBoot整合任意第三方技术

目录 一、热部署 1、手动启动热部署 2、自动启动热部署 3、热部署范围配置 4、关闭热部署 二、配置高级 1、ConfigurationProperties 2、宽松绑定/松散绑定 3、常用计量单位绑定 4、数据校验 三、测试 1、加载测试专用属性 2、加载测试专用配置 3、web环境模拟测…

Delft3D水动力与泥沙运动模拟教程

详情点击公众号链接&#xff1a;Delft3D水动力与泥沙运动模拟教程 前沿 1.Delft3D水动力&#xff0d;泥沙模型的基本原理&#xff1b; 2.Delft3D模型正价曲线网格和边界条件构建方法&#xff1b; 3.Delft3D模型水动力及泥沙模块使用方法&#xff1b; 4.Delft3D模型泥沙运动…

数据库----- 数据库高级

1.2 多表查询分类 将多个表的数据横向的联合起来。 1、 内连接 2、 外连接 a) 左外连接 b) 右外连接 3、 交叉连接 4、 自然连接 1.2.1 内连接【inner join】 语法一&#xff1a;select 列名 from 表1 inner join 表2 on 表1.公共字段表2.公共字段语法二&#xff1a;select …

PMP考试如何报名?麻烦吗?

还是比较麻烦的&#xff0c;PMP考试不是国内的考试&#xff0c;要报两次名&#xff0c;报名条件也很严格&#xff0c;PMP考试报名需要先在PMI网站进行英文报名&#xff0c;英文报名成功后才能在中国国际人才交流基金会网站进行中文报名&#xff0c;具体说明如下。 一、PMP考试…

求链表的倒数第k个节点

思路&#xff1a;利用快慢指针空间差 代码&#xff1a; struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {// write code herestruct ListNode* slow pListHead;struct ListNode* fast pListHead;while(k--){if(fastNULL){return NULL;}fastfast->…

CentOS7.9安装mysql8.0

网上各种安装教程五花八门&#xff0c;各种报错&#xff0c;所以整理了一个完整版本&#xff0c;以下教程作者在2台新服务器测试安装均无问题。 一.下载mysql 下载地址&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions) 或者直接执行命令 wget htt…

乐观锁与悲观锁

概述 悲观锁总会假设最坏的情况&#xff0c;乐观锁总会假设最好的情况。悲观锁和乐观锁最终都是为了保证线程的安全&#xff0c;避免在并发场景下的资源竞争问题&#xff0c;但是&#xff0c;相对于乐观锁&#xff0c;悲观锁对性能的影响更大&#xff01; 悲观锁 共享资源每…

操作系统权限提升(二十六)之数据库提权-MySQL UDF提权

MySQL UDF提权 MySQL介绍 MySQL是最流行的开放源码SQL数据库管理系统&#xff0c;相对于Oracle&#xff0c;DB2等大型数据库系统&#xff0c;MySQL由于其开源性、易用性、稳定性等特点&#xff0c;受到个人使用者、中小型企业甚至一些大型企业的广泛欢迎&#xff0c;MySQL具有…

点大商城V2_2.5.0 全开源独立版 商家自营+多商户入驻 百度+支付宝+QQ+头条+小程序端+unipp开源前端

点大商城V2是一款采用全新界面设计支持多端覆盖的小程序应用&#xff0c;支持H5、微信公众号、微信小程序、头条小程序、支付宝小程序、百度小程序&#xff0c;本程序是点大商城V2独立版&#xff0c;包含全部插件&#xff0c;代码全开源&#xff0c;并且有VUE全端代码。分销&am…