jmeter如何发送一个十六进制的TCP请求报文,以及响应问题的解决

Jmeter tcp压测实践 github地址,欢迎star 项目需要针对socket协议接口进行性能测试。选定了比较熟悉的 Jmeter 工具,现记录下过程。 新建 Tcp Sampler Jmeter 提供了3个Tcp实现类: TCPClientImpl。这是实现文本消息交换的基本类。在TCP取样器中,Text to send字段提供不同字符集的文本常量或可变字符串信息。 BinaryTCPClientImpl。这... 阅读详情
AI摘要

本文介绍了使用Jmeter添加TCP取样器进行设备压测的方法。首先需安装并配置Jmeter环境,接着阐述了完整流程,包括添加线程组和取样器、输入参数等,还罗列了参数解释及配置文件修改方法。最后分享了请求不停问题的解决办法,即添加固定返回值和结束符验证。

首先安装有jmeter以及配置好安装环境

安装和配置环境这里不细讲!
jmeter的下载地址:https:// jmeter.apache.org
JDK下载地址:https://www.oracle.com

jmeter添加tcp取样器做设备压测

#第一次遇到要做产品设备的压测,接到需求:做设备上传TCP请求的压力测试,本人对jmeter不太熟悉。而且还要第一次做tcp的请求。虽然没接触过过但是网上文章很多但是很杂但是一些基础还是有设置教程。今天整理一份对产品硬件向服务器发送十六进制报文请求登录心看跳返回希望对大家有帮助!

一:先看一个完整的流程

1.jmeter添加线程组并添加tcp取样器
添加tcp取样器
2.输入参数(重点讲这里的参数设置);
在这里插入图片描述
3.请求成功;
在这里插入图片描述

罗列图二中的解释

TCPClient classname:表示处理请求的类,默认是TCPClientImpl类.因为我是发送16进制报文就选择填入:org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl

ServerName or IP Port Number:这里输入主机服务器IP地址和端口号

Re-use connection:如果选中,这个链接处于保持打开状态,不选中就是读取数据后就关闭,一般我是直接勾选这个就行。

Close connection:若选中,这个链接将会在运行中取样器之后被关闭

SO_LINGER:enable/disable(启用/禁用)这个SO_LINGER设置特定的值,单位为秒,(个人对这个不是太理解)

End of line (EOL) by value:表示结束符,如果设置值在-128到127之外将会跳过eol 检查,可以在jmeter.properties文件中增加属性eolByte进行设置。(可以不填写)

Connect TimeOUt:连接超时可以自己设置tcp请求连接的超时时间(单位毫秒,0 表示禁用超时)

Response Timeout:请求响应超时,与请求连接是一样的设置(单位毫秒,0 表示禁用超时)

Set NoDelay:若选中,它将会禁用Nagle’s算法(利用缓存功能)

Text to Send: 发送文本信息,这填入16进制报文(注意:不能留空格)

Login User:用户名-可不填

Password:密码-可不填

配置jmeter文件

1.要发送一个tcp请求要设置jmeter中的配置需要修改bin目录下的jmeter.properties文件将tcp.handler=BinaryTCPClientImpl显示,若配置文件没有这一项就自己添加进来保存。(我自己的就没有显示所以这个是我自己添加进来的)
在这里插入图片描述
2.配置文件更改好之后重启jmeter并填入上面的粗体信息,添加结果树和聚合报告一个简单的tcp压测就完成了一般是能正常返回若是响应码在400-499或者500-599之前都是响应失败的。

二:问题解决

下面是我遇到的一些问题和解决的办法
发起tcp请求之后,请求没有停止,一直是发情请求的状态。在这里插入图片描述
只能强制停止该请求但是响应肯定是错误的。
在这里插入图片描述
这个问题困扰了我一天,因为这是设备请求成功之后会不断与服务器进行一个心跳的交换,表示设备在线,没有固定的返回值没法判断,所以需要开发人员配合在服务器的响应返回值中的末尾添加一个固定的返回值并在发请求的End of line (EOL) by value中添加结束符进行响应验证,(注意:响应的结束符是16进制的这里要转成十进制数字填入)

响应末尾设置固定返回值是转换成十进制后范围在-128到127之间
响应末尾设置固定返回值
在End of line (EOL) by value中转换成十进制填写在发送请求就成功了!!
在这里插入图片描述
随笔日记。(亲测有效!有理解错误的地方多多纠正,希望我的经验对大家有帮助!)

【计算机网络(2)】从十六进制的ip数据报中得到详细字段信息 本博文介绍如何将十六进制的ip报文拆分出具体的字段信息。社会计算机网络和网络协议分析的初学者参考(今天看了网络协议分析期末复习重点的最后一个大题,竟然一头雾水,然后快马加鞭翻阅各种资料,然后差不多学会 了) 阅读详情

相关推荐

Jmeter 压测TCP请求步骤

公司需要,这两天苦学了一番jmeter的tcp压测,现在回头想想挺简单的,以此记录一下,方便以后查看 1.什么是TCP请求? 该协议主要用于在主机间建立一个虚拟连接,以实现高可靠性的数据包交换。IP协议可以进行IP数据包的分割和组装,但是通过IP协议并不能清楚地了解到数据包是否顺利地发送给目标计算机。而使用TCP协议就不同了,在该协议传输模式中在将数据包成功发送给目标计算机后,TCP会要求发送...

Crazy_Orange的博客 2万+

jmeter压测TCP动态报文

jmeter压测TCP动态报文

BOOLTechnology的博客 2891

手把手教学Jmeter之TCP取样器(含遇到的坑)

Jmeter.TCP取样器 ##需求:公司需要做一个模拟设备,模拟发送报文,要求是先发一个签到报文,然后再发送正文。后续还有要从上一个报文取数据拿到下一个发送报文。 先介绍一下tcp取样器的界面,上面红色圈起来部分是我要讲的。 名称,注释: 顾名思义就不讲了。。 TCPClient classname: 这是重点,这代表了你发出去的TCP报文是什么格式的,Jmeter自己提供的是实...

woshilishu的博客 2万+

使用Jmeter压测HTTP、TCP请求

使用Jmeter压测HTTP、TCP请求

weixin_45795312的博客 4942

【Jmeter】【TCP】TCP取样器说明

对于TCP请求的压测,需要用到Jmeter的TCP取样器:右键线程组->添加->取样器->TCP取样器 下面对TCP取样器的各选项进行说明: 选项 说明 TCPClient classname 代表了发出去的TCP报文的格式,Jmeter缺省的三个类: TCPClientImpl:实现基于文本格式的套接字应用的测试 BinaryTCPClientImpl:用来发送十六进制报文 LengthPrefixedBinaryTCPCl...

weixin_37124805的博客 2392

JMeter TCP 取样器 行尾字节值是 62,是代表的什么意思?

JMeter TCP取样器通过EOL字节值(默认62,即">"字符)识别报文结束。当从Socket流中读取到该字节时,即判定响应报文接收完成并停止读取。关键注意事项:必须填写十进制数字62;若服务端报文实际不含">"或中间误现该字符,将导致连接重置或数据截断。验证时需通过抓包确认真实结束字节,其他参数如SO_LINGER和超时设置也影响测试结果。该机制本质是通过特定终止符划分TCP消息边界。

u013928175的专栏 426

jmeter BeanShell tcp 性能测试, 发送和接受数据详细示例

jmeter 使用 beanshell 发送tcp请求实例 基于可能预测到的很近的未来,会有项目对程序中tcp协议的接口进行性能测试,为了避免到时候两眼一抹黑,在领导的压力下 oh 不,应该是自身积极主动的推进下,进行未雨绸缪的测试活动 tcp sample了解 新建一个tcp sample 配置 tcp 信息 TCPClient classname: 填写TCP报文格式(有三类),默认前缀:org.apache.jmeter.protocol.tcp.sampler. TCPCli

cagezxy的博客 3795

jmeter执行接口报"status":500,"error":"Internal Server Error","exception":"java.lang.IllegalArgumentExcep"

jmeter执行接口,响应报如下: {“timestamp”:“2020-05-12 10:16:51”,“status”:500,“error”:“Internal Server Error”,“exception”:“java.lang.IllegalArgumentException”,“message”:“JWT must have 3 tokens”,“path”:"/detection/api/user/saveOrUpdate"} 原因:请求头未添加动态认证数据 解决方法: 去使用正则替换写死

测试入坑之路 1万+

jmeter查看结果报文_JMeter-JMeter TCP 测试(发送16进制报文)

******************************************************************************1、新建线程组,然后添加,TCP取样器2、TCP取样器设置:端口号 xxxxx 、connect/response Timeout 、3、关于发送16进制的报文当前JMeter支持HEX形式,也就是16进制的报文输入配置当前支持三种格式 :1....

weixin_33506900的博客 2139

jmeter(十一):TCP Sampler

目录 TCP Sampler结构: jmeter进行tcp请求测试的步骤: 运行server.py文件,启动server端 添加线程组 添加View Results Tree 添加TCP Sampler 设置TCP Sampler 执行并查看结果树 TCP请求主要用于在主机间建立一个虚拟连接,以实现高可靠性的数据包交换。IP协议可以进行IP数据包的分割和组装,但是通过...

每天进步一点点 6522

消费级显卡跑大模型:RTX 3060 12G 部署 70 亿参数 AI 编程助手的优化实战

本文详细介绍了如何在消费级显卡RTX 3060 12G上,通过量化、投机解码和分页KV-Cache等核心优化技术,成功部署并流畅运行70亿参数的CodeLlama-7B编程助手。文章提供了从环境配置、模型准备到参数调优的完整实战笔记,实测显存占用降至7.3GB,生成速度达21.7 token/秒,为开发者和技术爱好者提供了可行的本地AI部署方案。

weixin_29053067的博客 1261

Jmeter tcp 压测实践

项目需要针对socket协议接口进行性能测试。选定了比较熟悉的 Jmeter 工具,现记录下过程。Jmeter 提供了3个Tcp实现类:这是实现文本消息交换的基本类。在TCP取样器中,Text to send字段提供不同字符集的文本常量或可变字符串信息。这是一个用于实现文本信息交互的类。Text to send字段中提供十六进制编码的二进制文本常量或变量信息。这个类跟上一个的类似,但是在发送数据之前会加一个二进制的字节长度数据前辍。

nhb687096的博客 2310

AI人工智能领域多模态大模型的数字孪生应用

本文旨在系统性地介绍多模态大模型在数字孪生领域的最新应用进展,探讨其技术原理、实现方法和应用价值。内容范围涵盖从基础概念到前沿技术,从理论分析到实践案例。文章首先介绍多模态大模型和数字孪生的基本概念,然后深入分析两者的结合点,接着通过具体案例展示应用实践,最后探讨未来发展趋势和挑战。多模态大模型:能够同时处理和融合多种数据模态(如文本、图像、视频、音频等)的大型人工智能模型数字孪生:物理实体或系统的虚拟副本,通过实时数据同步实现虚实交互跨模态融合:将不同数据模态的信息进行有效整合和关联的技术。

AI云原生与云计算技术学院 1325

用jmeter压测tcp

在工作中有个接口是tcp协议的,然后需要压测一下,就想到jmeter有现成的tcp取样器,百度了一下,压测流程大致和http差不多,需要注意的是tcp请求的一些设置,在此记录一下~

weixin_44857268的博客 7846

Unity 开发Apple Vision Pro物体识别追踪ObjectTracking

当您在 visionOS 应用中实现对象跟踪时,您可以将现实世界中的物体无缝集成到人们的周围环境中,以增强他们的沉浸式体验。通过跟踪一个或多个物体的 3D 位置和方向,您的应用可以使用虚拟内容增强它们。您可以使用对象跟踪来提供与人周围环境中的对象的虚拟交互,例如:引导某人使用某件物品的功能、阅读其历史或了解其在周围环境中的行为。使用虚拟手册帮助人们解决家居用品和电器的问题。

Cool-浩 1186

英语语法-句法

摘要:本文系统梳理了英语句法知识,重点解析了五种基本句型及其扩展结构。内容包括句子类型(陈述句、疑问句、祈使句、感叹句)、复合句构成(从句分类与连词使用)、特殊句型(倒装、强调、引语转换)等。特别强调句子成分分析技巧,指出每种句子成分可由不同词法单元充当,需掌握成分识别与划分方法。文章还提供了往期语法系列链接,形成完整的英语语法学习体系,帮助读者建立从词法到句法的系统认知框架。

STCNXPARM的博客 8816

jmeter TCP接口压力测试

启动jmeter,添加线程组、TCP取样器、察看结果树 1.添加线程组 2.添加TCP取样器 3.添加监听器察看结果树 配置TCP取样器参数信息 1.TCPClient classname:报文格式,分3种: org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl:普通文本传输 org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl:十六进制报文 org.apache.jmeter.pro

viola_M的博客 1万+

YOLO26改进策略【YOLO和Mamba】| 替换骨干 Mamba-YOLO26-L !!! 最新的发文热点

Vision Clue Merge模块在Mamba - YOLO模型中同样重要,主要负责在模型的下采样过程中处理特征图,为后续的特征融合和目标检测任务提供更有效的信息。

Limiiiing的博客 473

jmeter进行tcp压测的脚本编写

,因为这个结束符只有在-128到127之间才有效,而我们的结尾字节算出来是155超过了支持的范围,超过范围的计算步骤如下:以十六进制9b,十进制155为例。5)Re-use connection:表示是否重复使用该连接发送请求,如果勾选,表示可以共用一个socket。(3)计算步骤2中的数据位1100101的十进制为101,符号位1为负数,因此最终计算结果为-101。(2)计算该二进制的补码(最高位-符号位为1表示这是一个负数,0表示正数,(1)计算标记位的二进制--10011011。

abcmiao123456的博客 1507

Vue3 - 强力解决前端下载二进制流pdf文件、下载成功后打开空白问题解决,或者获取PDF文件流,将blob对象转换成下载链接打开后一片空白(无论是否使用pdf插件下载,还是原生方法下载都完美解决)

vue3前端下载二进制流pdf文件,下载成功,打开空白问题解决,js下载PDF文件流,打开空白问题,VUE3 h5中的文件流下载和指定的url下载总结(解决下载后的pdf打开空白情况)pdfjs打开文件流空白,解决pdf文件流,预览全是空白页,pdf文件流,下载正常,但是预览全是空白页,前端JS获取PDF文件流,将blob对象转换成下载链接打开后一篇空白的问题,前端文件流下载后文件空白,前端下载文件流PDF文件显示空白 或 无法打开,在线预览PDF文件打不开白屏怎么办,前端axios请求二进制数据流转换生成

🏆 前端领域优质创作者 4618

Autosar MCAL-S32K324 Fls配置-基于EB

Autosar MCAL Flash配置,基于S32K324,EB软件

赞的博客 1516

Jmeter之TCP取样器

1.在线程组中添加“TCP取样器” 2.填写数据 以下截图是必须配置的 TCPClient classname: 填写TCP报文格式(有三类),默认前缀:org.apache.jmeter.protocol.tcp.sampler. TCPClientImpl:普通文本传输,可设置他的编码格式(eg:json串) BinaryTCPClientImpl:十六进制...

weixin_33826268的博客 1055

Flutter应用安卓逆向之hook分析研究---附dart版本对照表(必看篇)

搜索md5、rsa、aes等关键字分析要破解的加密算法,使用frida进行hook可疑函数的偏移地址。,双击进去找到ssl_crypto_x509_session_verify_cert_chain函数的偏移地址进行hook掉;Flutter应用是内置进行ssl证书校验的,无法通过常规方法抓到包,需要通过frida把它内置的ssl校验hook掉。重构完成后会生成新的apk,把它安装到模拟器或者真机中并打开运行,此时系统会在。关键字的函数进行hook(因为其返回的是字符串类型)中,拖进ide搜索字符串。

云霄IT的博客 8442
上一篇: fiddler如何设置抓取谷歌浏览器页面HTTPS的请求
下一篇: Jmeter和jdk的下载和安装
Max__lu
博客等级 码龄6年 3粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值