zoukankan      html  css  js  c++  java
  • Wireshark抓取HTTP数据包

    捕获HTTP GET数据包

    打开Wireshark,设置合适的网卡

    打开浏览器随便浏览一个网页,便可在Wireshark上显示出网页的数据包

    Wireshark过滤显示HTTP GET数据包:在过滤器中输入http.request.method==GET

    观察Packet List面板中info字段,选择有"GET"字样的数据包,右键选择追踪HTTP流,进入数据流追踪窗口,可以得到这一次HTTP传输的所有数据包

    捕获cookie数据包

    在过滤器中输入http mathces "Set-Cookie",观察Packet List 面板中的Cookie数据包,右键选择追踪HTTP数据流即可显示这一次HTTP传输的所有数据包


    HTTP缓存机制

    • HTTP为了提高用户响应速度使用了缓存技术。缓存有多种规则,根据是否需要重新向服务器发起请求来分类,可以将其分为强制缓存、对比缓存。

    • 强制缓存指如果缓存有效,不需要再查询服务器,而对比缓存不管是否有效,都需要与服务器进行确认。

    两类缓存规则可以同时存在,强制缓存优先级高于对比缓存。
    对比缓存有两种规则: Last-Modified:lf Modified-Since和Etag: lf-None-Match规则。

    Last-Modified:lf-Modified-Since规则

    • Last-Modified:指服务器在响应请求时,在头部告知浏览对象的最后修改时间。

    If-Modified-Since:在客户机再次请求相同资源时,客户机通过此字段告知服务器本地缓存中此浏览对象的最后修改时间

    • 服务器收到请求后检查头部的lf-Modified-Since字段所含时间,与被请求对象的最后修改时间进行比对。若对象的最后修改时间晚于lf-Mdified-Since,说明对象已被改动过,则重新返回对象,状态码置2000K;若对象的最后修改时间早于或等于f-Modifid-Since,说明对象没有变动,则响应304 Not Modified,告知浏览器可以使用其缓存

    • ETag /1f-None-Match规则

      • ETag:服务器对象的唯一标识符, 浏览器可以根据ETag值缓存数据。
      • ​ ETag:服务器对象的唯一标识符, 浏览器可以根据ETag值缓存数据。
      • ​ lf-None-Match:客户机再次请求服务器时,通过此字段告知服务器客户端缓存数据的Etag值。
      • 服务器收到请求后发现头部的fNone Match与被请求对象的唯标识进行比对, 如果两个值不相同,说明对象已被改动,则响应此对象,返回状态码200如果相同, 说明对象没有变动,则响应304 Not Mdife告知河览器可以使用其缓存。

    HTTP的Cookie机制

    ​ HTTP协议本身是无状态的,不支持服务端保存客户浏览器的状态信息。但在电子商务等应用类事务中,服务器需要跟踪保持客户端的状态信息,技术人员首先发明了Cookie 技术,再有了后来的Session技术。一般用Cookie 表示储存在客户端浏览器中的数据,而Session 是保留在Web应用服务器中的客户端数据。Cookie 技术基本上由四个部分组成,其中包括Web服务器HTTP响应消息中的Cookie首部行Set Cookie和用户浏览器请求消息中的Cookie 首部行Cookie.由于大部分网站都使用了Cookie,因此捕获一次Cookie交互的数据包是非常容易的。

  • 相关阅读:
    系统分析师考试
    系统分析师
    软件设计师考试
    海恩法则”的启示:制度不落到实处事故必发
    eclipse下生成Java类图和时序图,生成UML图
    bzoj4010【HNOI2015】菜肴制作
    atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模
    【数据结构和算法16】堆排序
    这一路走来,冷暖自知 (附算法demos)
    c++实现二叉搜索树
  • 原文地址:https://www.cnblogs.com/Weber-security/p/12583970.html
Copyright © 2011-2022 走看看