jmeter 接口重放(投票活动)
目的
这几天公司弄了个投票的活动,召集大家一起投票。自己比较懒,就想这个投票是不是可以直接抓包进行重放通过jmeter集成到jenkins里面去每天来跑。试了下成功了,这里把对应的方案抛出来。
第一步,抓包
抓包我用的burpsuite,具体的使用过程大家可百度。
- 手机同电脑连接到同一个wifi
- 设置手机代理ip为电脑ip,代理端口为电脑监听端口
- 发送请求进行抓包
- 回放验证抓包是否成功
抓包的结果:
使用前端1
POST /doVote HTTP/1.1
Host: vote.sztopbrand.com
Content-Length: 61
Accept: */*
Origin: http://vote.sztopbrand.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Linux; Android 5.1.1; NX529J Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036872 Safari/537.36 MicroMessenger/6.3.27.880 NetType/ctlte Language/zh_CN
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://vote.sztopbrand.com/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,en-US;q=0.8
Cookie: XSRF-TOKEN=eyJpdiI6IjE3XC9SUXN4QnRYTVhnaENUYnIrMWVnPT0iLCJ2YWx1ZSI6InlPaUw5S3JXQlpDUGlVdUlHbXR0TjFaZXdjTDBaNnlQYjl4UjFwVlNHQlhpclVncVdhSDRrZk1ZVGhBWjcwbmR2Y0xPSGZLKzJsRWp5bjNoaEo2WGNnPT0iLCJtYWMiOiI2NGZlMTBlNTIzMTc1MGFlODIzYTYyNGYyNzYwNDRiNzYyOTg3YzkyOTFkNDc1NjFiZjdhMjdkNmMxYzg2MmFhIn0%3D; laravel_session=eyJpdiI6Img0dG9KMGFDZERPODQxRFNjRFVvV3c9PSIsInZhbHVlIjoiV0VOZFNwMnd0K2R1b3ZjM1FCa0ptTmlhUDNNQmsrcjVFN0E1Uk54Y0dPVk9WSWxXeXl5RGFKKzd2TkxmcEFQa3I2TGV5dWFJZWN1TURBK1EwMGttRnc9PSIsIm1hYyI6IjM4ZjAyZTFkOTc4MzBkZjhjYjU2MzgyZTJlZWFhZDgzYjk4ODQ0YzIxZjFjN2E2YTNiYmFkODQyZWYwNjM4ZjgifQ%3D%3D; Hm_lvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479118062,1479134782,1479174047,1479192380; Hm_lpvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479192380
Connection: close company_id=71&_token=VuqAHrMtF3DfvF8cQDHGmFasi8JFOwvBtSqPutgM
使用前端2
POST /doVote HTTP/1.1
Host: vote.sztopbrand.com
Content-Length: 61
Accept: */*
Origin: http://vote.sztopbrand.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Linux; Android 6.0; MX6 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036872 Safari/537.36 MicroMessenger/6.3.30.920 NetType/WIFI Language/zh_CN
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://vote.sztopbrand.com/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,en-US;q=0.8
Cookie: __utma=136377015.1353196735.1479114830.1479114830.1479114830.1; __utmz=136377015.1479114830.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); XSRF-TOKEN=eyJpdiI6IitTc3cwNTNQSDlSR21LRDdYRUNqVGc9PSIsInZhbHVlIjoiVDZCSHpxN2ZUV1pxMFFBOXFNV3J0TWFDaW9kZ1pseDBYUW9yVjFQdUxYZVdEcThyU1BwOFhxaXFOU3ZKR3lJYm5obW04dzBDWGZacjZ4UW1jUVhqOGc9PSIsIm1hYyI6IjgwMjIwMmNiNGE4OGI3YmUwNTc5MzVkNGU2YTQ4ODNkNGU5MjY3ZDAwZTIzZWZkYjBjMmM4MGM1ZDg0NjcwZGMifQ%3D%3D; laravel_session=eyJpdiI6Imh0TE4yelk5WTVBTzg5Sm9xcVBJd3c9PSIsInZhbHVlIjoibDFzV2tGV0dqaWxEZGczb3dIeDJCT014RzYyZFZJTE9cL0hyTThPK2xXUjNtVXNRenp5c3Axa3BMZ0NNRW9hUFU2SytnOXNiaXVHSWtCSmhVMnZZTk5BPT0iLCJtYWMiOiIyMTJiMjQ4MzhlYmU4YjAyMmFhN2I5YWIwZjc2NGZlY2U3YTE4MzA5NTY1MjY5NzA1ZGYyMWEwNjEwOWRmOTVlIn0%3D; Hm_lvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479117072,1479191845,1479192768; Hm_lpvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479192768
Connection: close company_id=71&_token=h7PMxnaxonS0FjvU2UBfSJSvdjKHUz2aBKN5POOl
请求对比,时效验证
对比:
对比的目的是判断两个请求在哪些内容存在区别,方便模拟手机
时效验证:
验证是否有时效校验,如果有的话就不能进行重放了
cooki看了好几个,没法找出规律,那么无法直接模拟手机了。不过时效验证通过了,那么可以直接抓包进行重发攻击了。
创建jmeter测试任务
整体截图

单个请求的配置,包括请求体,请求头,cookie



cookie的手动配置
需要注意的是,抓包获取的cookie不能像通过firefox或者Chrome通过调试的方式直接导出需要手动来配置
jmeter的cookie配置

抓到的包
POST /doVote HTTP/1.1
Host: vote.sztopbrand.com
Content-Length: 61
Accept: */*
Origin: http://vote.sztopbrand.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Linux; Android 5.1.1; NX529J Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036872 Safari/537.36 MicroMessenger/6.3.27.880 NetType/ctlte Language/zh_CN
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://vote.sztopbrand.com/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,en-US;q=0.8
Cookie: XSRF-TOKEN=eyJpdiI6IjE3XC9SUXN4QnRYTVhnaENUYnIrMWVnPT0iLCJ2YWx1ZSI6InlPaUw5S3JXQlpDUGlVdUlHbXR0TjFaZXdjTDBaNnlQYjl4UjFwVlNHQlhpclVncVdhSDRrZk1ZVGhBWjcwbmR2Y0xPSGZLKzJsRWp5bjNoaEo2WGNnPT0iLCJtYWMiOiI2NGZlMTBlNTIzMTc1MGFlODIzYTYyNGYyNzYwNDRiNzYyOTg3YzkyOTFkNDc1NjFiZjdhMjdkNmMxYzg2MmFhIn0%3D; laravel_session=eyJpdiI6Img0dG9KMGFDZERPODQxRFNjRFVvV3c9PSIsInZhbHVlIjoiV0VOZFNwMnd0K2R1b3ZjM1FCa0ptTmlhUDNNQmsrcjVFN0E1Uk54Y0dPVk9WSWxXeXl5RGFKKzd2TkxmcEFQa3I2TGV5dWFJZWN1TURBK1EwMGttRnc9PSIsIm1hYyI6IjM4ZjAyZTFkOTc4MzBkZjhjYjU2MzgyZTJlZWFhZDgzYjk4ODQ0YzIxZjFjN2E2YTNiYmFkODQyZWYwNjM4ZjgifQ%3D%3D; Hm_lvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479118062,1479134782,1479174047,1479192380; Hm_lpvt_0d1031f7c74d8a4a33cac86fce2fc8f4=1479192380
Connection: close company_id=71&_token=VuqAHrMtF3DfvF8cQDHGmFasi8JFOwvBtSqPutgM
- 配置说明:
- 名称:对应字段值的标示
- 值:标示对应值(查看会以;进行分隔)
- 域:host地址
- 路劲:对应host请求的路劲
- 安全:按需填写
最后测试结果:

验证通过,之后就是接入jenkins配置成计划任务了!
jmeter 接口重放(投票活动)的更多相关文章
- 用c#开发微信 (17) 微活动 3 投票活动 (文本投票)
前面介绍了微活动<大转盘> 和 <刮刮卡>,这次介绍下微投票,微投票分二种,一种是文本投票, 一种是图片投票. 下面介绍文本投票的详细步骤: 1. 新建文本投票活动 ...
- CSDN博客投票活动开始了
自己坚持写博客,一方面是为了将自己对知识点的理解做一个总结,另一方面也是因为自己看到了很多无私奉献分享自己知识的小伙伴们,因此自己也想像他们那样尽自己微薄之力把自己对某一知识点的理解分享给大家,或许算 ...
- Jenkins+Ant+Jmeter接口自动化集成测试实例
Jenkins+Ant+Jmeter接口自动化集成测试实例 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C:\jenkins目录下,目录位置随 ...
- 第9期《jmeter接口自动化实战》零基础入门!
2019年 第9期<jmeter接口自动化实战>课程,12月6号开学! 上课方式:QQ群视频在线教学 本期上课时间:12月6号-1月18号,每周五.周六晚上20:00-22:00 报名费: ...
- jmeter接口压测的反思
jmeter接口压测的反思 1.keepalive的坑:连接数满了,导致发起的请求失败. 2.token关联?是数据库取做参数化,还是随机数生成(需要改代码) 3.签名问题如何处理? 4.压测负载机端 ...
- Jmeter接口之响应断言详解
响应断言 : 对服务器的响应进行断言校验 Apply to 应用范围: main sample and sub sample, main sample only , sub-sample only , ...
- JMeter接口压测和性能监测
JMeter接口压力测试总结 一.安装JMeter 1. 在客户端机器上安装JMeter压测工具,我这里安装的版本是apache-jmeter-5.2.1,由于JMeter是JAVA语言开发的 ...
- JMeter接口自动化发包与示例
JMeter接口自动化发包与示例 近期需要完成对于接口的测试,于是了解并简单做了个测试示例,看了看这款江湖上声名远播的强大的软件-Jmeter靠不靠谱. 官网:https://jmeter.apach ...
- 微信小程序开发总结-怀庄酒业投票活动
使用微信小程序投票活动云开发 怀庄酒业活动 使用云开发.开始准备使用django开发自己的后台,但是发现功能比较简单,使用云开发更省事 项目结构: cloudfunctions目录下是三个云函数 ba ...
随机推荐
- javascript常用开发笔记:一个简单强大的js日期格式化方法
前言:一直没找到好用的javascript日期格式化工具,自己写了一个,方便以后复用 1.主要功能 (1)支持任意顺序的日期格式排列:yyyy=年,MM=月,dd=日,HH=时,mm=分,ss=秒,s ...
- 高CPU、数据库无法读写的真凶
有兴趣的同学可以参考如下系列文章,都是针对dump分析的实战和总结: Windbg DUMP分析(原创汇总) http://www.cnblogs.com/LoveOfPrince/p/6653341 ...
- 《物联网框架ServerSuperIO教程》-21.终端控制传感器或设备,形成回路控制。附:demo源代码
21.1 概述 ServerSuperIO以前所做的工作逐步为形成回路控制或级联控制打下基础,例如:服务连接器和设备驱动连接器的开发与应用.总之,是通过多种形式下发命令控制设备(驱动)或传感器 ...
- cookie笔记(一)
1.浏览器存储信息的一个工具 2.容量有限,每个域名一般50个.详情 3.形式:键=值: 4.获取:document.cookie; 5.设置:document.cookie="uid=we ...
- gawk的用法
GNU gawk工具的功能是将指定文件中符合指定模式(pattern)的行按指定的动作(action)进行格式化处理 语法:gawk [options] [program] [file-lis ...
- Spring Security3详细配置
Spring Security3详细配置 表名:RESOURCE 解释:资源表备注: 资源表 RESOURCE(资源表) 是否主键 字段名 字段描述 数据类型 长度 可空 约束 缺省值 备注 是 ID ...
- ArcGIS API for JavaScript根据两个点坐标在地图上画线
ArcGIS API for JavaScript根据两个点坐标在地图上画线比如说a(xxxx,xxxxx),b(xxxx,xxxxx).利用这两个点画一条线 var polyline = new e ...
- while和do while循环的简要概述
循环结构 1.while结构 在英文中"while"这个词的意思是"当",而在 Java 程序设计中,也可以将其理解为"当",其语法结构是: ...
- Python:Anaconda安装虚拟环境到指定路径
1 曾经的困扰 有段时间,想使用基于不同python版本的anaconda,就直接从官网下载了两个不同的anaconda版本进行安装.刚开始的时候,还觉得也没啥问题.用了一小段时间,在安装其他的第三方 ...
- java源码学习(四)ArrayList
ArrayList ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下, ...