当前位置: 首页 > news >正文

网络知识===wireshark抓包数据分析(一)

wireshark分析:

上图是我进行一个HTTP协议的下载,文件内容大概是1.7M左右。

抓包数据:

 https://files.cnblogs.com/files/botoo/wireshark%E2%80%94http%E4%B8%8B%E8%BD%BD.rar

首先通过wireshark过滤的规则,过滤出满足条件的包。

前三次通信是三次握手。三次握手内容详见我之前的文章:网络知识===wireshark抓包,三次握手分析

第116次是我的http get请求,响应200。

然后服务器开始要向client发送数据了:

122  http协议确认发送

123   第一次发送,server端的seq = 1453   len =  1452   (实际上1506字节包括,1452的数据  和  14的MAC头地址   和   20的IP头  和  20的TCP头)

*这里补充点知识:数据太大就要分片。分片最大的包的单位叫做MTU。1500字节作为最大传输单位!

        MTU=数据 + TCP头+IP头      对应上列:MTU = 1452+20+20=1492

        MTU一般不大于1500字节。

可以对应下图:

 

 124   客户端第一次确认:这里的ACK= 2905  (确认的方式是:123次的seq+len)2905 = 1453+1452

            这样确认的目的是反馈我client收到server的数据是没有丢失的。再sever收到确认后又会继续发送数据

127  & 128  服务器向客户端发送数据  这里是两次,也可以是1次或者4,5,6次这是保证数据发送的高效

129  客户端第二次确认  :这里的 ACK = 5809 (确认的方式是:上一次,即128次的seq+len)5809 = 4357+1452

132 &  133  server发送数据

134 客户端确认

 ... ... ... ...

 ... ... ... ...

以此类推

 ... ... ... ...

直到数据发送结束。但是过程中有一些特殊的情况,我待会结合抓包数据做一下说明。详见wireshark抓包数据分析(二)

 

同时,如果有写的不对的地方希望指正。

 

转载于:https://www.cnblogs.com/botoo/p/7799701.html

相关文章:

  • 用VNC进行远程维护
  • org.springframework.jdbc.BadSqlGrammarException: Cause: java.sql.SQLException: Column count 异常
  • 如何在esxi环境中重启LUN。
  • Android应用程序发送广播(sendBroadcast)的过程分析(2)
  • 如何快速学习一个开源项目源码?
  • 表格花式效果
  • VSCode Vue文件格式化
  • 访问量统计
  • centos6.8 yum安装mysql 5.6
  • sqldatasource控件处理image类型数据
  • 快速构建Windows 8风格应用9-竖直视图
  • c++ 检查工具
  • 网管3.0时代的全面来临——Mocha BSM 先锋引领
  • 让KVM虚拟机支持console功能
  • Oracle的where条件in/not in中包含NULL时的处理
  • 2017年终总结、随想
  • 77. Combinations
  • Angular 2 DI - IoC DI - 1
  • C# 免费离线人脸识别 2.0 Demo
  • ESLint简单操作
  • express如何解决request entity too large问题
  • golang 发送GET和POST示例
  • js 实现textarea输入字数提示
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • PHP的Ev教程三(Periodic watcher)
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • Web Storage相关
  • 阿里云购买磁盘后挂载
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • #HarmonyOS:基础语法
  • (C)一些题4
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (备忘)Java Map 遍历
  • (篇九)MySQL常用内置函数
  • (四) Graphivz 颜色选择
  • (学习日记)2024.01.09
  • (一)为什么要选择C++
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .htaccess配置重写url引擎
  • .java 9 找不到符号_java找不到符号
  • .NET CORE Aws S3 使用
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • //解决validator验证插件多个name相同只验证第一的问题
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @RequestParam详解
  • [2]十道算法题【Java实现】
  • [ccc3.0][数字钥匙] UWB配置和使用(二)
  • [Cocoa]iOS 开发者账户,联机调试,发布应用事宜