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 ...
随机推荐
- javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- C#基础 Dictionary存储自定义对象作为键值
程序每次向容器Dictionary中插入数据时,都会判断Key值是否已经存在,如果不存在,则插入.否则抛出异常.那么Dictionary又是如何判断Key值是否存在的呢? 请看下面的代码: cla ...
- 纯CSS3美化单选按钮radio
这种纯CSS3美化单选按钮radio的方法适用于以下情况: 1.可兼容IE9以上,需要兼容IE8的要写IE的hack把样式去掉 2.只支持单选按钮radio,因为单选按钮选中样式的圆圈可以用CSS做出 ...
- 细说Nullable<T>类型
目录一.简介二.语法和用法三.类型的转换和运算四.装箱与拆箱五.GetType()方法六.ToString()方法七.System.Nullable帮助类八.语法糖 一.简介 众所周知,值类型变量不能 ...
- unity3d项目导入android studio
第一步 拿到unity3d项目,里面包含以下文件 第二步 在android studio下新建一个project 第三步 将unity3d项目目录下的libs下的jar文件复制黏贴到android s ...
- yiic执行出现不是内部或外部命令的解决办法
右击我的电脑-->属性-->高级系统设置-->高级-->环境变量-->系统变量 设置为"D:\Program Files (x86)\wamp\bin\php\ ...
- linux开机启动smb服务
修改/etc/rc.local文件(增加红色部分) [root@localhost ~]# cat /etc/rc.local #!/bin/sh## This script will be exec ...
- Spring事务管理注意小事项
在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例外(RunTimeExcep ...
- 打造一个简单的Java字节码反编译器
简介 本文示范了一种反编译Java字节码的方法,首先通过解析class文件,然后将解析的结果转成java代码.但是本文并没有覆盖所有的class文件的特性和指令,只针对部分规范进行解析. 所有的代码代 ...
- 手把手教你 基础 整合最优雅SSM框架:SpringMVC + Spring
我们看招聘信息的时候,经常会看到这一点,需要具备SSH框架的技能:而且在大部分教学课堂中,也会把SSH作为最核心的教学内容. 但是,我们在实际应用中发现,SpringMVC可以完全替代Struts,配 ...