wireshark抓包分析TCP数据包

article/2025/11/7 2:47:12

1、直接从TCP的三次握手开始说起

三次握手就是客户与服务器建立连接的过程

  • 客户向服务器发送SYN(SEQ=x)报文,然后就会进入SYN_SEND状态
  • 服务器收到SYN报文之后,回应一个SYN(SEQ=y)ACK(ACK=x+1)报文,然后就会进入SYN_RECV状态
  • 客户收到服务器的SYN报文,回应一个ACK(ACK=y+1)报文,然后就会进入Established状态

图片来自百度百科

举例时间到!我们把客户端比作男生,服务器比作女生

第一次握手就像是男生对女生的告白:我喜欢你我们在一起吧。(之后,男孩就要等待女孩的回复,因为要确定女孩听到他说的话)

第二次握手则是女生的回应:好呀好呀。(之后,女孩也要等待,因为要确定男孩听到她的答复)

第三次握手就是男生的回应:真好,我们去吃火锅吧~。(此时,两人都确定对方收到了消息,关系成功建立)

也就是客户端和服务器数据的传输

接下来,我们抓包分析一下三次握手建立的过程


第一次握手:我向服务器发送了SYN,并设置Seq=0(x),请求与服务器建立连接

第二次握手:服务器向我回应了SYN,并设置Seq=0(y),ACK=1(x+1)

第三次握手:我收到服务器的SYN报文,回应一个ACK=1(y+1)

2、再接着说说四次挥手

四次挥手就是客户与服务器断开连接的过程

  • 客户发送一个FIN,断开与服务器的连接
  • 服务器收到FIN,回应一个ACK,确认序号为收到的序号加1
  • 服务器关闭客户端的连接,并发送一个FIN
  • 客户回发ACK确认,并将确认序号设置为收到序号加1

图片来自百度百科

又到了举例时间!我们同样把客户端比作男生,服务器比作女生

第一次挥手:随着时间的流逝,女生变了,于是男生给女生发了分手短信,然后等待女生的回复

第二次挥手:女生听到后,伤心欲绝,就告诉男生:分手就分手,我把你的东西收拾收拾都还给你。男生就知道了女生同意了分手,于是等待女生把东西收拾好交还给他

第三次挥手:女生把男生的东西都收拾好,给男生发了第二条短信让他来取

第四次挥手:男生收到后,在回复最后一条短信,我知道了,我现在去取。于是关系断了

也就是客户端和服务器的连接中断

接下来,抓包看一下四次挥手的过程

第一次挥手:我向服务器发送FIN,Seq=3092,Ack=183

第二次挥手:服务器回发了ACK,Seq=183,Ack=3093

第三次挥手:服务器发送FIN,Seq=183,Ack=3093

第四次挥手:我向服务器回复了ACK,Seq=3093,Ack=184

3、TCP报文段格式分析

话不多说,直接上图

wireshark抓包分析

源端口和目的端口:各占16位,这两个字段分别填入发送该报文段应用程序的源端口号和接收该报文段的应用程序的目的端口号

序列号:占32位,TCP连接中传送的数据流中的每一个字节都编上一个序号,序号字段的值则指的是本报文段所发送的数据的第一个字节的序号

确认号:占32位,表示期望收到对方下一个报文段的第一数据字节的序号。

数据偏移:占4位,又称首部长度。指出首部的长度,即数据离开报文段开始的偏移量。

保留:占6位,留待后用,目前置为0

标志:占6位,又称控制字段,各位都有特定意义

  • 紧急URG,表示本报文数据的紧急程度,URG=1表示本报文具有高优先级
  • 确认ACK,ACK=1时,确认号字段才有意义
  • 推送PSH,PSH=1时,表示请求接收端TCP将本报文段立即送往其应用层
  • 复位RST,RST=1时,表示TCP连接中出现了严重错误,必须释放传输连接,而后在重建
  • 同步SYN,该位在连接建立时使用,起着序号同步的作用
  • 终止FIN,用来释放一个链接

窗口:占16位,该字段用于流控制

校验和:占16位,该字段的校验范围是整个报文段(包括首部和数据)

紧急指针:占16位,当URG=1时有意义,指出紧急数据的末尾在报文段中的位置,使得接收端能知道紧急数据的字节数

选项与填充:最长可达40B

 

 

 

 

 


http://chatgpt.dhexx.cn/article/vFY5ExBR.shtml

相关文章

wireshark抓ping数据包以及简单分析

目录 相关知识 1.Ping原理 2.ICMP报文协议 3.wireshark 一、wireshark抓数据包 二、报文分析 三、总结 相关知识 1.Ping原理 Ping是一句DOS 命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢 PING (Packet Inte…

wireshark抓包数据:理解与分析

注明:本文为原创文章,转载请注明出处。参考文章见本文末尾。 wireshark是一个非常好用的抓包工具,本文根据平时抓包经验,对之前wireshark抓包的一些常见知识点进行了整理。 有不当之处,欢迎指正 1.SYN,F…

WireShark抓包后数据分析

在分析数据之前,我们先了解一下我们传输数据的结构体系,如下图: 这是两种体系,我们常用的一般都是TCP/IP体系结构。 TCP/IP体系架构分析 不难发现,TCP/IP体系中包含着很多我们熟悉的协议,比如说&#xff1…

Wireshark --> 抓包(网络分析)工具

前言 贴一张wireshark抓包的总图,便于理解分析网络分层 ​ 为了让大家更容易「看得见」 TCP,我搭建不少测试环境,并且数据包抓很多次,花费了不少时间,才抓到比较容易分析的数据包。 接下来丢包、乱序、超时重传、…

Wireshark抓包工具使用以及数据包分析

多年之后,愿你有清风与烈酒,也有人是你的归途。 打开Wireshark抓包工具开始抓包会看到如下展开内容: 这里我是对wlan进行抓包,192.168.2.112是我当前wifi的ip地址。 点击某个包,可以查看具体内容,差不多刚…

使用wireshark抓网络报文(抓包)并分析其中数据

如何使用wireshark抓网络报文(抓包) 1、 物理层数据帧2、 数据链路层以太网帧头部信息3、 互联网层 IP 包头部信息4、 传输层 TCP 数据段头部信息 本文包内容分析转载自下午茶的芬芳,感谢作者的分享。 网络下载好wireshark打开软件按下开始捕…

wireshark抓包分析数据怎么看 wireshark使用教程

大家都知道Wireshark是非常流行且知名的网络抓包数据分析工具,可以截取各种网络数据包,并显示数据包详细信息,常用于开发测试过程各种问题定位、网络故障排查等情况。但是很多网友不清楚如何使用Wireshark抓包看数据,下面IT备忘录…

Wireshark网络抓包分析

目录 1. 以太网协议头(数据链路层) -- 14byte 2. IP数据头(网络层) -- 20byte 3. ARP抓包分析 3.1 ARP介绍 3.2 报文格式 3.3 抓包分析 3.3.1 先arp -d把arp表清空。 3.3.2 过滤ARP协议的数据包 3.3.3 Ping 目标IP 3.3.4 第一个数据包请求分析 3.3.5 第二个数据包应…

利用python简单分析抓包数据

利用python简单分析抓包数据 wireshark的数据 先读一行看看长啥样 import json data_file rE:\download\data.json with open(data_file,r,encodingutf8) as f:data_list json.loads(f.read())print(data_list[0])用格式化工具看 完整代码&最终结果 import jsondata_…

wireshark抓包分析ping数据包

目录 1.抓取数据包 2.ping request数据包解析 2.1 ICMP 2.2 传输层 2.3 以太帧 2.3 数据链路层 3. ping reply数据包解析 1.抓取数据包 先用管理员权限打开WireShark应用,并在条件过滤栏输入“icmp”。打开cmd,输入:ping www.baidu.co…

Wireshark-----抓包分析

目录 一、Wireshark简介 二、安装与使用 三、抓包分析 1.初次抓包 2.捕获选项设置 3.ARP协议抓包分析 4.IP协议抓包分析 5.TCP协议抓包分析 6.UDP协议抓包分析 7.ICMP协议抓包分析 参考文献 一、Wireshark简介 Wireshark是一款世界范围最广、最好用的网络封包分析软件…

计算机网络——数据包抓取与分析

数据包抓取与分析 目录 一、实验目的 二、实验内容 三、实验环境 四、实验步骤与过程 一、实验目的 学习安装、使用协议分析软件,掌握基本的数据报捕获、过滤和协议的分析技巧,能对抓取数据包进行分析。 二、实验内容 协议分析软件的安装和使用、学…

抓包与分析

(一)作业目的 (1)了解网络通信的分层实现过程,了解不同层次PDU的逐层封装与解封过程; (2)了解数据通信的过程,进一步认知协议的构成与通信过程,进而对TCP/IP分…

Wireshark抓包分析基础

Wireshark抓包分析 (仅作为个人笔记,如有雷同,请联系删除。。) 下载:https://www.wireshark.org/#download 1、设置时间格式:视图–>时间显示格式 2、设置解析:视图–>Name Resoluti…

Java抓包分析四(基于jnetpcap进行抓包)——分析Http请求数据包

在上篇文章中Java抓包分析三(基于jnetpcap进行抓包)——抓取Http请求数据包,我们讲解了TCP三次握手的过程和如何抓取Http数据包,但是我们并没有进行一个数据分析,接下来这篇文章我们将要开始对Http抓取的数据报进行深入…

【HTTP】Fiddler(二) - 使用Fiddler做抓包分析

上文( http://blog.csdn.net/ohmygirl/article/details/17846199 )中已经介绍了Fiddler的原理和软件界面。本文主要针对Fiddler的抓包处理。 Fiddler抓取HTTP请求。 抓包是Fiddler的最基本的应用,以本博客为例,启动Fiddler之后,在浏览器中输入http://blog.csdn.net/ohmygi…

MySQL索引优化实战EXPLAIN解析

先来介绍一下具体的业务场景 当用户登录后,需要查看能够学习的课程,不同的用户看到的课程是不同的,课程存在权限,权限是被下面lesson_user_permissions表控制的,其中sys_user_id 和 lesson_id 作为联合主键 另外还有一…

MySQL索引优化面试题

mysql索引优化熊大注意我们是以innodb为例 创建表sql如下: CREATE TABLE user (id bigint(11) NOT NULL AUTO_INCREMENT COMMENT 主键,age int(10) NOT NULL COMMENT 年龄,name varchar(100) NOT NULL COMMENT 姓名,card_no varchar(64) CHARACTER SET utf8 COLLATE utf8_gen…

【MySQL】深入理解MySQL索引优化器工作原理

本文导读 本文将解读MySQL数据库查询优化器(CBO)的工作原理。简单介绍了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程。 一、MySQL 优化器是如何选择索引的 下面我们来…

MySQL索引优化与查询优化

1. 索引失效案例 1 全值匹配 2 最佳左前缀法则 3 主键插入顺序 如果 这个数据页已经满了,我们需要把当前 页面分裂 成两个页面,把本页中的一些记录移动到新创建的这个页中。页面分裂和记录移位意味着:性能损耗 !所以如果我们想尽量避免这样…