zoukankan      html  css  js  c++  java
  • 流量回放的学习记录一

        首先,文章涉及到 JMETER 的部分参考了 https://blog.csdn.net/weixin_40686603/article/details/114589428  这是原文链接,作者是我的同事,为同事打个广告。

        那么我们开始进入正文。

        JMeter 是应用最广泛的测试工具没有之一,即便是各个开源的平台,很大程度也是以 JMeter 作为 executor 来实现这种功能的,开源的 JMeter 源码需要阅读,因为计划要做流量回放平台,流量的录制基于 APISIX,所以我来做流量回放的部分。

        流量回放,顾名思义,就是把生产上的流量录制下来,在任意地方回放,关于为什么做流量回放很多文章已经说得非常清楚了,此处不再赘述。

        当前总结出流量回放平台比较出名的平台有滴滴的 sharingan(很重要,最后的设计思路也是参考了 sharingan),aliyun的 doom,去哪儿的 ARES,文章比较多的工具是 go-replay,tcpplay 等。为什么不直接使用工具回放,而是调研平台,有几个原因:

       一,公司正在通过统一框架,将公司内的业务服务生态统一起来,自己开发的好处是定制程度高,可以随时修改;

       二,人员成本可控.

       基于这两点原因,参考了 sharingan 来实现我们自己的流量回放平台。不直接使用 sharingan 的理由是,我们公司是 java 技术栈,而 sharingan 是基于 go 开发的,有定制版 GOROOT,故放弃了。

       所以,流量回放平台如何设计?

       

        重画了一次设计图,避开了其他一些生态相关的事情。

        所以我们的重点是,如何在代码层面实现流量回放?也就是根据日志,重新构造http请求再发出去。因为当前的平台 executor 使用的是 jmeter,所以我们要学习如何在代码层面构造 jmeter的 测试计划。

        HashTree 是 JMeter 脚本的数据接口,所有通过 GUI 构造出来的 JMX 脚本最终被解析接 HashTree 上的一个个节点来顺序执行。

        这是哈希树的介绍 https://zh.wikipedia.org/zh-hans/%E5%93%88%E5%B8%8C%E6%A0%91

        所有的 JMeter 的组件,都被视为哈希树的一个节点,我们要做的事情是把流量及其他操作,配置好以后,插入 hashtree,并调用 jmeter engine 执行它 。

  • 相关阅读:
    CTFHub题解-技能树-Web-文件上传(00截断、双写后缀)【三】
    CTFHub题解-技能树-Web-文件上传(.htaccess、MIME绕过、文件头检查)【二】
    CTFHub题解-技能树-Web-文件上传(无验证、前端验证)【一】
    CTFHub题解-技能树-Web-SQL注入(Cookie注入、UA注入、Refer注入)【三】
    记一次centos7重启后docker无法启动的问题
    ctfshow——web_AK赛
    Windows10安装MongoDB
    centOS7安装docker和docker-compose
    xray—学习笔记
    ctfhub技能树—sql注入—过滤空格
  • 原文地址:https://www.cnblogs.com/spillage/p/15016283.html
Copyright © 2011-2022 走看看