zoukankan      html  css  js  c++  java
  • 网络知识===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抓包数据分析(二)

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

  • 相关阅读:
    面试遇到的问题汇总
    linux系统的安装和配置
    apache重写URL时,排除静态资源
    WordPress限制游客查看文章
    Mysql主从复制读写分离
    Postgres主从
    django-rest-framework-simplejwt
    JavaWeb项目部署到Linux服务器
    Centos8.2云服务器环境安装Tomcat8.5
    java的pdf转jpg
  • 原文地址:https://www.cnblogs.com/botoo/p/7799701.html
Copyright © 2011-2022 走看看