wireshark抓包分析tcp数据包

前言

当你看到这篇文章时,你只能看到已经渲染好的文字和图像,而网络数据的交互对我们来说,却是看不见的,所以学习计算机网络原理的时候就会觉得非常的抽象,这一度让我苦恼。

而且网络数据交换真实的模样,到底是不是真的如大多数文章所描绘的一样?

这些疑问让我早就想干这件事了。

所以不如就去看看离我们最近的协议 TCP 到底长什么样?

为了能“看见”TCP,我们需要借助 Wireshark分析网络的利器。

WiresharkWindows最常用的网络抓包和分析工具,称得上手好剑大利器把我们对数据包一目了然。 (也是分析网络性能必不可少的利器)

如果是在 Linux 上网络抓包,那可以使用 tcpdump

(分析网络的工具还有很多,但是工具只是手段,重要的是能实现目的)

初试牛刀:解析各层协议栈

我们可以先在浏览器请求一个网址(xxx.com),然后通过 Wireshark就可以直观的看到分析数据包的页面,其中就展示了各个网络包的头部信息。

如下图所示,协议一栏可以看到,我们这次抓包主要是 TCP 协议。

wireshark抓包分析tcp数据包

接下来,选中某一个网络包后,在下面可以清楚的看到有网络包的各行信息,分别对应TCP/IP协议的不同层级。以下图为例,分别表示:物理层、数据链路层、网络层、传输层

wireshark抓包分析tcp数据包

应用层如果有数据会显示第5层,即一共会出现5层。

wireshark抓包分析tcp数据包

可以对应到我们之前的TCP/IP模型。

  • 应用层
  • 传输层
  • 网络层
  • 网络接口层

wireshark抓包分析tcp数据包

然后,接着再往下,可以更清楚的看到各行信息其实就是各层协议栈的详细信息。

数据链路层里的 MAC 头信息,以及源 MAC 地址和目标 MAC 地址字段等等;

IP 层里看到 IP 头信息,以及Version 4 表示的是IPv4协议(互联网通信协议第四版),Src Port 表示的是网卡的ip地址,Dst Port表示服务器的ip,以及包长度等 IP 协议的各个字段的值和含义;

还有 TCP 层里看到 TCP 头信息(这个我们后面展开细说);

wireshark抓包分析tcp数据包

Wireshark让我们看到了各个分层的方式,以及每一层都有一个字段指向上一层,表明上一层是什么协议。

因为发送数据包的时候会在数据上依次加上应用层、传输层、网络层、链路层的头部,但是对方收到数据包后是从最底层开始层层剥去头部解包的,所以在每层上有一个字段指向上层,表明上层的协议,对方就知道下一步该怎么解包了。

我们可以看到网络分层就像有序的分工,每一层都有自己的责任范围和信息,上层协议完成工作后就交给下一层,最终形成一个完整的网络包。

所描绘的这样。

wireshark抓包分析tcp数据包

回过头来看真实 TCP 头格式

接着我们来看在上篇中的 TCP 报文头部的格式,真实的TCP 报文头部的格式是不是也是这样?

wireshark抓包分析tcp数据包

接着来,可以继续选中Wireshark中的TCP(Transmission Control protocol)层,可以清楚的看到以下几点信息:

  • 源端口目标端口,而TCP的包是没有IP地址的,毕竟那是IP层上的事。
  • 以及 TCP连接所需的四个字段,表示是同一个连接(src_ip, src_port, dst_ip, dst_port)。

如图所示(源端口是63123,目的端口是443;443则表示是HTTPS协议)

wireshark抓包分析tcp数据包

还有如下图所示。在 Wireshark中可以看到 TCP 头格式中四个非常重要的字段:

  • Sequence Number序号,数据包的序号,用来解决网络包乱序问题。
  • Acknowledgement Number,ACK——确认收到,用来解决不丢包的问题
  • Window(Advertised-Window),著名的滑动窗口(Sliding Window),用于解决流控的
  • Flags ,是包的状态,主要是用于操控TCP的状态的

wireshark抓包分析tcp数据包

接着打开TCP中的Flags(状态位)的可以看到 6个状态位,分别是ACK、SYN、FIN、URG、PSH、RST,如果是1表示有效。

而比较主要的是SYN、ACK和FIN。SYN(SynchronizeSequence Numbers)表示建立连接时的同步信号;ACK(Acknowledgement)表示对收到的数据进行确认;FIN (Finish)表示后面没有数据需要发送,则意味着释放所建立的连接。

wireshark抓包分析tcp数据包

在上图中,Flags中的UTG是紧急指针。只有当URG标志置为1时该字段才有效,可以告诉系统报文有紧急内容。

在状态位下还有一个强制性的字段 Checksum 校验和是由发送端计算和存储,由接收端进行验证。目的是为了发现 TCP 首部和数据在发送端到接收端之间发生的任何改动。如果接收方检测到校验有差错,TCP 段就直接丢弃。

wireshark抓包分析tcp数据包

好了,用 Wireshark让你看见 TCP 到底是什么样的,后面还可以接着Wireshark看更多东西,例如TCP建立连接和释放连接,真正又是怎么样三次连接,四次挥手的?

本文【wireshark抓包分析tcp数据包】由作者: 自旋锁 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4240.html

(0)
上一篇 2023-03-11 08:34:48
下一篇 2023-03-11 08:44:45

相关推荐

  • 右键新建菜单里的怎么删除(怎样去掉电脑右键里面的内容)

    最近发现电脑桌面右击菜单除了常规使用的几个选项以外,还有“360桌面”、“魔方”、“图形属性”“显卡信息”等等……后来发现,很多软件安装后都会出现在右击菜单中。很多显卡在装了驱动之后,桌面右键会多出一项或多项菜单,这些功能并不实用,还会拖慢右键的弹出速度,以Intel的集成显卡为甚。迟纯的反应速度严重地影响了使用者的心情。我们最好清除它。实在受不了这些。不仅…

    2023-03-12
    400
  • 怎样自学电脑编程入门,如何学电脑编程入门

    可以从自己感兴趣的领域入手,从基础到进阶学习相关的编程语言,逐步实践做项目。 先跟我一起来了解编程语言及其应用: Python——一种很好的入门语言,用于web应用程序、游戏领域、人工智能和大数据 Java——用于无数种程序中,从游戏到web应用程序再到ATM软件 HTML——任何web开发人员的基本起点 C语言——是一种较古老的语言,C仍然是一个强大的工具…

    为你推荐 2023-03-21
    000
  • 句柄数不断增加怎么解决(句柄数一直增加有影响吗)

    问 MySQL 使用的文件句柄数 突然增加, 我们该如何诊断 实验 我们接着宽油起一个数据库: 翻倍法造表 a : 将 a 表造的大一点: 给 a 表追加一列: 再造个表 b : 让我们来下一个 SQL : 在 SQL 执行的过程中, 观察 MySQL 的文件句柄数, 发现文件句柄在不断上升: 现在我们来诊断 为什么 MySQL 的文件句柄数会上升. 我们动…

    2023-03-16
    300
  • sql索引原理_sql索引有什么用

    表的存储结构 表 -> 分区 -> 堆或B+树 -> 页(数据页、索引页、LOB页,溢出页) 表默认只有一个分区(sql server的分区表技术,可以将表进行水平拆分,这样就会产生多个分区)。 分区里面就是存储的数据,有两种存储形式:堆或B+树,具体结构下面细说。、 页 页是数据存储的最小单位。 页类型分为:数据页、索引页、Log_mix…

    2023-03-08
    800
  • delete语句在SQL的用法(deleteSQL语句)

    大家好,我是宁一。 今天是SQL课程的第十课。 讲讲DELETE 删除语句,用来删除表中的一条或多条记录。 基本语法: DELETE FROM <表名> WHERE <筛选条件>;1、DELETE语句 如果省略WHERE条件,这时候DELETE就会删除整个表的记录。 注意:这里不是删除表,只是删除表中所有数据,还会保留表结构的。 实例…

    2023-03-12
    800
  • c语言入门自学零基础电子书

    每天一个C语言小项目,提升你的编程能力! 贪吃蛇游戏大家应该都不陌生了,要说没玩过的话,可能你是15后吧? 贪吃蛇游戏最初为单机模式,后续又陆续推出团战模式、赏金模式、挑战模式等多种玩法。 用游戏把子上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴…

    2023-03-10
    300
  • 计算机软硬件基础知识难学吗

    计算机入门容易,精通难,很多人看到做计算机相关专业的人都过得比较好,就想计算机肯定是个技术含量低的专业,所以,给人的感觉是个人都能转行去学计算机! 首先,我们来看下计算机入门容易到什么程度,三岁小孩、全职宝妈、老大爷、老太太,某天能打字了,欣喜若狂,我会计算机了…… 再次,办公室文员、办公人员、教师、医生、老板,突然用Word排出了个讲话稿,哇塞,计算机原来…

    2023-03-15
    200
  • rar文件怎么改为正常文件

    文件本身的压缩包损坏造成压缩文件在解压过程中被损坏,压缩文件已损坏怎么办?您可以通过电脑系统或者软件来恢复压缩的文件。来看看这篇文章,里面有如何解决压缩文件损坏问题的详细步骤。 一、通过压缩包自身修复 想要打开压缩好的文件,发现压缩文件打开显示已被损坏,有什么方法可以修复它吗?可以通过压缩包自身来修复。 演示机型:惠普(HP)战X 系统版本:Windows …

    2023-03-14
    500
  • 软文写作技巧教程有什么呢_软文写作技巧有哪些

    软文是一种具有伪装性的广告,它与平常性的文章不一样,目的是为了提升商家的知名度、美誉度。很多人不知道该如何写一篇既吸引人,又能达到企业宣传目的软文,这里金蛛教育的韩老师就教教你,软文的写作技巧。 1、有吸引力的标题 标题是读者第一眼看到文字,因此一个好的标题几乎决定了一篇软文成功的大半,如何写一个有创意,吸引人的标题呢?你可以从以下几个方面入手:第一,结合当…

    2023-03-09
    1000
  • 傅立叶函数介绍,傅里叶级数和傅里叶简介

    傅里叶变换和傅里叶级数是有史以来最深刻的数学发现之一。它们帮助我们将功能分解为基本成分。它们揭示了任何数学函数的基本块,它们使我们能够使用这些块来更好地理解和操作它们。但傅里叶级数和傅里叶变换背后的思想到底是什么,这些“基本成分”是什么? 基本理念 傅里叶级数和傅里叶变换背后的直觉是相同的: 任何函数都可以写成正弦函数之和。 一个如此简单但极其深刻的想法。 …

    2023-03-16
    400

发表回复

登录后才能评论
返回顶部
错说博客上线啦!