wireshark数据包详细栏每个字段对应的分层。

1、分层介绍

1.1、数据链路层

我们点开这个字段,从该字段中可以看到相邻两个设备的MAC地址

1.2、网络层

本层主要负责将TCP层传输下来的数据加上目标地址和源地址。

1.3、传输层

这一层用到了TCP协议

tcp包头

每个字段对应的TCP包头

2、TCP握手过程分析

TCP三次握手示意图

第一次握手:客户端向服务器发送一个SYN段(表示发起连接请求),并且包含客户端的一个初始序列号seq=0

第二次握手:服务端返回一个ACK(对客户端连接请求的应答)+SYN(表示服务端发起连接请求),并且包含服务端的一个初始序列号seq=0,同时返回一个确认号ack=1

第三次握手:客户端给服务端返回一个ACK(对服务端连接请求的应答),并更新自己的序列号seq=1,返回一个确认号ack=1

Wireshark分析握手过程

这是我发起连接请求后抓到的数据包

第一次握手

可以看到,客户端发起一个SYN请求,初始序列号为0

 第二次握手

服务端返回SYN+ACK,并且包含服务端的一个初始序列号seq=0,同时返回一个确认号ack=1

 第三次握手

客户端返回一个ACK,并且返回一个确认号ack=1,并且将自己的序列号seq更新为1

到此,TCP三次握手就结束了。客户端与服务端之间已经成功建立起连接。

3、TCP数据传输过程分析

我们常说TCP是可靠性的传输协议,那么它是如何实现可靠性的数据传输呢,就是通过序列号和确认应答提高可靠性。

我们从客户端往服务端发送了两次数据,第一次发送了一个字符串"hello",第二次发送了一个字符串"word"。首先客户端发送“hello”时,初始序列号seq为1,服务端接收到数据后,会给一个应答,表示我已经收到了消息,并且这个应答号ack = seq + “接收到的数据长度”,客户端再继续发送时,序列号更新为服务端的应答号的值。

下面我们就抓包看下这个过程。

客户端分别向服务器发送了两次消息,第一次发送了一个字符串“hello”,第二次发送了字符串"word"。

我先从客户端往服务器发送一个字符串 "hello",我们可以看下,大小为6个字节。

可以看下初始序列号seq为1

然后看下服务器返回了什么,服务器作了一个应答ack=7,表示接受到了客户端的信息

再看下第二次发送字符串"word"的情况,序列号seq更新为上一次服务端的应答号ack,变为7

看下服务端的应答,确认号ack为12

4、TCP四次挥手分析

TCP四次挥手示意图

第一次挥手:客户端发起一个FIN,表示客户端希望断开连接。

第二次挥手:服务端返回一个ACK,表示对客户端断开请求的应答。

第三次挥手:服务端发起一个FIN,表示服务端希望断开连接。

第四次挥手:客户端返回一个ACK,表示对服务端断开请求的应答。

理论上挥手是需要四次的,但抓包分析时,只抓到了三次挥手过程,第二次握手和第三次握手合并为一次了。

第一次挥手

客户端发起一个FIN请求(表示客户端希望断开连接),序列号seq=12,应答号ack=23。注意这里的应答是上一次数据通信过程中的应答。

第二次,第三次挥手

服务端返回一个ACK(表示对客户端断开请求的应答) + FIN(表示服务端希望发起断开请求),应答号ack=13,序列号seq=23

 第四次挥手

客户端返回一个ACK(表示对服务端断开请求的应答),应答号ack=24,序列号seq=13

使用Wireshark抓包分析TCP协议相关推荐

  1. 用wireshark抓包分析TCP协议的三次握手连接、四次握手断开

    用wireshark抓包分析TCP协议的三次握手连接.四次握手断开 一.TCP三次握手图解 二.TCP得四次挥手过程 三.用Fiddler抓包,分析验证一个HTTPS网站的TCP连接过程 一.TCP三 ...

  2. Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析

    Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析 一.介绍计算机网络体系结构 1.计算机的网络体系结构 在抓包分析TCP建立链接之前首先了解下计算机的网络通信的模型,我相信学习过计 ...

  3. 接口协议之抓包分析 TCP 协议

    TCP 协议是在传输层中,一种面向连接的.可靠的.基于字节流的传输层通信协议. 环境准备 对接口测试工具进行分类,可以如下几类: 网络嗅探工具:tcpdump,wireshark 代理工具:fiddl ...

  4. Wireshark抓包分析TCP连接、发送数据与断开过程

    准备工具: 1. 两台连接到同个局域网的电脑,或者虚拟机; 2. 在其中一台电脑安装Wireshark; 3. 在两台电脑上面都有TCP&UDP测试工具软件 TCP连接建立过程(三次握手): ...

  5. wireshark抓包分析TCP数据包

    1.直接从TCP的三次握手开始说起 三次握手就是客户与服务器建立连接的过程 客户向服务器发送SYN(SEQ=x)报文,然后就会进入SYN_SEND状态 服务器收到SYN报文之后,回应一个SYN(SEQ ...

  6. 【极客思考】计算机网络:Wireshark抓包分析TCP中的三次握手与四次挥手

    [前提说明] 前段时间突然看到了一篇关于TCP/IP模型的文章,心想这段时间在家里也用wireshark抓了点包,那么想着想着就觉得需要复习一下网络知识,于是就有这篇博文的诞生.当然网上关于TCP相关 ...

  7. wireshark抓包分析tcp连接与断开

    其实对于网络通信的学习,最好还是能够自己抓到包详细地看一下,不然只单单通过文字和图的描述印象不够深刻.本文通过实际的抓包操作来看一下tcp的连接与断开是怎样的. 首先需要去https://www.wi ...

  8. 用wireshark抓包分析TLS协议

    一.SSL/TLS简介 1.协议介绍 SSL/TLS是保护计算机网络通讯安全的一类加密协议,它们在传输层上给原先非安全的应用层协议提供加密保护,如非安全的HTTP协议即可被SSL/TLS保护形成安全的 ...

  9. Wireshark抓包分析ARP协议

    「作者主页」:士别三日wyx 「作者简介」:CSDN top100.阿里云博客专家.华为云享专家.网络安全领域优质创作者 「专栏简介」:此文章已录入专栏<计算机网络零基础快速入门> 使用W ...

  10. Wireshark抓包分析TCP的三次握手

    一.TCP三次握手连接建立过程 Step1:客户端发送一个SYN数据包(SYN=1,Seq=X,ACK=0)给服务端,请求进行连接,这是第一次握手: Step2:服务端收到请求并且允许连接的话,就会发 ...

最新文章

  1. axios 参数对象的值为数组时,后端无法接收(待解决)
  2. bsdiff php,Apk差分升级Android客户端和Node.js服务端实现
  3. [PHP] 算法-数组重复数字统计的PHP实现
  4. linux下Qt编写串口调试助手,如何在linux下用QT写一个简单的串口调试助手
  5. typora.io使用教程
  6. 大数相加c语言思路,大数相加
  7. 数据显示,中国近一半的独角兽企业由“BATJ”四巨头投资
  8. [JavaScript] DOM操作技术
  9. Python爬虫必备技能,Xpath提取数据规格详解
  10. Altium AD20电源分割的方法,AD内电层的电源分割,AD电源层电源分割
  11. 百度地图获取经纬度的方式
  12. oracle实现批量drop表,ORACLE下批量DROP表格
  13. SpringCloud Gateway网关为认证中心和用户微服务构建统一的认证授权入口
  14. Xenu Link Sleuth
  15. vim 强制保存修改只读文件
  16. MWPhotoBrowser性能优化
  17. 向VISUAL SVN SERVER上传文件时报错
  18. MATLAB中拉氏变换/拉氏反变换如何代入数值求解具体结果(简析syms函数和sym类型)
  19. 联发科MT6732芯片处理器介绍,MT6732平台资料下载
  20. 黎曼猜想为何如此重要?若被证明将增加一千多条数学定理

热门文章

  1. Unity3d随机数生成
  2. 烟台蓬莱机场停车费一天多少钱,烟台机场停车哪里便宜
  3. 【Redis】《Redis 开发与运维》笔记-Chapter10-集群
  4. python怎么设置为中文-python怎么变成中文版
  5. plsqldev使用指南
  6. PLC接入工业互联网解决方案
  7. 合格PLC电气工程师需要会什么?
  8. Axure rp8.1.0.3381激活码(2019-07-26 亲测可用)
  9. 分享插件 Web前端助手、Restlet Client、Adblock-Plus
  10. Eclipse字体颜色控制