码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • HTTP协议中Gzip格式的流量分析与识别


    背景

    在协议分析过程中,经常会发现gzip压缩的数据,例如在HTTP协议中,在HTTP头中会标示,内容编码为gzip、DEFLATE。

    但是,还有很多情况,例如一些非HTTP协议,特别是私有协议中,数据同样采用gzip压缩,但是,流量中并未写明数据是gzip压缩格式,这就给分析带来了困难。

    如何解决这个困难呢?只能从数据本身着手了,需要了解gzip压缩后数据的特征和标记,以确定哪些数据是gzip压缩。

    gzip的基础是DEFLATE,它其实是多种压缩文件格式的简称。在RFC1952中对gzip格式进行了定义。

    认识

    对gzip格式的数据,通常使用zlib库就可以解压缩。

    gzip压缩格式的数据的识别,依靠的是gzip格式内的一些特征,gzip格式如下图:

    具体如下:

    10字节的头,包含幻数、版本号以及时间戳,对应ID1、ID2、CM、FLG、MTIME、XFL、OS;

    可选的扩展头extra  data ,如原文件名;

    文件体compressed blocks,包括DEFLATE压缩的数据;

    8字节的尾注,包括CRC-32校验和CRC32以及未压缩的原始数据长度ISIZE。

    识别

    在文件头中,ID1和ID2分别为固定值0x1F,0x8B;而CM则定义了压缩使用的算法,目前仅一种,即DEFLATE压缩,对应值为0x08;FLG、MTIME、XFL、OS分别为标记、时间、可选扩展头标记、操作系统标记。

    对gzip格式的识别,依靠的就是gzip的起始3字节,因为这三个字节目前是固定的,只有我们在数据流中,发现了1F 8B 08,则表示找到了gzip编码数据的起始了,继续分析就简单了。

    附一个测试数据,如果你转码正确,那就对了

    \x1f\x8b\x08\x00\xff\x04rc\x02\xff\x01\x12\x00\xed\xff\xe6\x88\x91\xe6\x98\xaf\xe6\xb5\x8b\xe8\xaf\x95\xe6\x95\xb0\xe6\x8d\xae\xb8_\x11\xaa\x12\x00\x00\x00

     解码后为我是测试数据

    参考文献

    https://mohen.blog.csdn.net/article/details/127879939

  • 相关阅读:
    nginx https 如何将部分路径转移到 http
    【笑小枫的SpringBoot系列】【四】SpringBoot返回统一结果包装
    HiQPdf Library for .NET - HTML to PDF Crack
    如何定时发送云湖社交APP消息?玩转云湖机器人
    给大家分享一下短视频创业要注意的三个关键问题,准备入行的速速收藏
    ubuntu 显卡驱动、Cuda、Cudnn、Pytorch安装教程
    计算机的基本组成
    ubuntu 安装docker
    心理健康数据集:mental_health_chatbot_dataset
    学习笔记-RCE
  • 原文地址:https://blog.csdn.net/u012206617/article/details/127880293
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号