jmeter测试TCP服务器/模拟发送TCP请求 设置16进制发送(转)
4.高级功能配置
如增加一个变量名 bank, 其值为 1111,在前面发送的报文中加上${bank}即可引用,如
执行之后就可以在监控器中看到报文中有1111了
3.LengthPrefixedBinaryTCPClientImpl
如果报文还需要加上头的话,需要额外计算一下。比如增加一个command
id和报文长度。比如上文中文本长度在编辑器状态栏上显示155长,假定command id是1.
Integer.toHexString(155)); --- 9b
System.out.println("1 hex " +
Integer.toHexString(1)); ---1
# TCP Sampler configuration
#---------------------------------------------------------------------------
#tcp.handler=TCPClientImpl
tcp.handler=BinaryTCPClientImpl
jmeter测试TCP服务器,使用TCP采样器模拟发送TCP请求。
TCP采样器:打开一个到指定服务器的TCP / IP连接,然后发送指定文本并等待响应。
jmeter模拟发送TCP请求的方法:
1.新建线程组,然后在线程组中新建TCP采样器

TCP采样器中填写服务器地址、端口和“要发送的文本”,其它选项根据需要选填:
re_use connection表示重复发送连接请求
close connection 关闭连接
如果TCP请求需要用户名/密码,可以在登录配置中填写
2.新建“察看结果树”监视器,查看发送的请求和响应的结果。如果需要发送16进制报文这个地方会失败。
jmeter发送16进制TCP报文的方法:
很多TCP服务器报文为16进制,并且多数不能转换成文本发送,而jmeter默认发送文本。
jmeter.properties中修改tcp.handler=BinaryTCPClientImpl ,启动jmeter重新发送,抓包查看既是16进制的tcp报文。
另一个方法:可以在工作台新建–非测试元件–Property Display,Property Display中修改jmeter.properties只对当前进程有效。
转载请注明出处:6san.com
原文地址: http://www.6san.com/716/
Jmeter TCP取样器配置及发送图解
最近在通过Jmeter测试TCP发送请求时,遇到相关问题,现记录
查看管方文档,TCP发送有三种启用方式:
- TCPClientImpl:文本数据,默认为这种
- BinaryTCPClientImpl:传输16进制数据,指定包结束符。这种16进制文件会通过Jmeter GUI来转换
- LengthPrefixedBinaryTCPClientImpl:数据包中前2个字节为数据长度。可在bin/jmeter.properties配置文件中tcp.binarylength.prefix.length设置。
在实际抓包过程中,TCP的数据包很多时候都不是纯文本的,经常是一些二进制文件之类的,所以这里就直接用传16进制方式来传数据
在启动jmeter之前,需要在在启动文件中设置,如下:
#---------------------------------------------------------------------------
# TCP Sampler configuration
#---------------------------------------------------------------------------
# The default handler class
#tcp.handler=TCPClientImpl
tcp.handler=BinaryTCPClientImpl
#
# eolByte = byte value for end of line
# set this to a value outside the range -128 to +127 to skip eol checking
#tcp.eolByte=1000
关键来了,我怎么获取这个16进制数据呢?这里用wireshark可以很好解决这个问题,操作如下:
下图是抓到的包,怎么抓包这里就不介绍了:

第二步:右键点击Data--->Copy-->Bytes-->HEX Stream,如下图:

完成后,直接在Ctrl+V贴入Jemeter的文本框中

发送就成功,查看结果树中正好是我们想要的内容:

参考文档:http://jmeter.apache.org/usermanual/component_reference.html#TCP_Sampler
jmeter测试TCP服务器/模拟发送TCP请求 设置16进制发送(转)的更多相关文章
- jmeter ---测试TCP服务器/模拟发送TCP请求
jmeter测试TCP服务器/模拟发送TCP请求 jmeter测试TCP服务器,使用TCP采样器模拟发送TCP请求. TCP采样器:打开一个到指定服务器的TCP / IP连接,然后发送指定文本并等待响 ...
- jmeter测试TCP服务器/模拟发送TCP请求
jmeter测试TCP服务器,使用TCP采样器模拟发送TCP请求. TCP采样器:打开一个到指定服务器的TCP / IP连接,然后发送指定文本并等待响应. jmeter模拟发送TCP请求的方法: 1. ...
- PHP模拟发送POST请求之五curl基本使用和多线程优化
今天来介绍PHP模拟发送POST请求的重型武器——cURL函数库的使用和其多线程的优化方法. 说起cURL函数,可谓是老生常谈,但网上许多资料都在关键部分语焉不详,列出一大堆手册上的东西,搞得我入门时 ...
- PHP模拟发送POST请求之一、HTTP协议头部解析
WEB开发中信息基本全是在POST与GET请求与响应中进行,GET因其基于URL的直观,易被我们了解,可POST请求因其信息的隐蔽,在安全的同时,也给开发者们模拟发送带来了麻烦.接下来的几篇博文中,我 ...
- 模拟发送http请求的工具推荐
做网站开发时,经常需要发送请求来测试自己的代码是否OK,这时候模拟发送http请求的工具就起到了很大的作用.特别是需要在请求带header时就更加的有必要使用工具.下面推荐的工具有的是基于系统开发的程 ...
- WebClient模拟发送Post请求
WebClient模拟发送Post请求方法: /// <summary> /// 模拟post请求 /// </summary> /// <param name=&quo ...
- jmeter ---模拟发送TCP/UDP/HTTP/FTP等请求包
JMeter安装UDP插件后支持发送UDP协议的请求包,官方介绍安装插件后可以用来测试DNS, NTP, TFTP, Boot servers and many-many other systems. ...
- Jmeter(二十七)模拟发送TCP/UDP/HTTP/FTP等请求包(转载)
转载自 http://www.cnblogs.com/yangxia-test JMeter安装UDP插件后支持发送UDP协议的请求包,官方介绍安装插件后可以用来测试DNS, NTP, TFTP, B ...
- Swoole系列(三):建立TCP服务器并发送数据测试
<?php // 建立tcp服务器下 $host = '0.0.0.0'; $port = 9501; $serv = new swoole_server($host,$port); $serv ...
随机推荐
- 关于iBatis-selectKey的一点笔记
技术前提:我们使用iBatis作为持久层方案 技术场景: 假设我们有两张表,一张主表Main,一张子表Sub,并且主表的主键是由数据库维护的自增长的主键,子表中有一个字段引用这个主键,那么当我 ...
- Fedora27安装宝塔linux面板出现/usr/lib/rpm/redhat/redhat-hardened-cc1找不到的错误
执行下面的命令: sudo dnf install redhat-rpm-config 就可以解决你的问题了
- 将datatable导出为excel的三种方式(转)
一.使用Microsoft.Office.Interop.Excel.DLL 需要安装Office 代码如下: 2 public static bool ExportExcel(Sy ...
- linux下redis的最佳实践(Master-Slave)
本文演示了redis在同一台linux上的安装及运行多个实例,并演示了主从复制,以及如何进行主从的切换. 1. 下载 $ wget http://download.redis.io/releases/ ...
- Vue 不使用Vuex的情况下进行状态管理
在封装自己的Vue ui库的时候,往往要封装一些比较复杂的组件,比如说table,form之类.这些组件由于功能繁杂,还涉及到子组件嵌套及通信,如果没有一套状态管理方案的话很容易导致代码难以阅读.难以 ...
- CF981C Useful Decomposition【树/思维】
[链接]:CF [题意]:给定一棵树,要求拆成若干条简单路径,并且这些路径都经过一个公共节点.给出任意一个解决方案,如不存在输出No. [分析]: 因为是一棵树, 所以如果要求任意两条路线至少有一个公 ...
- IntelliJ IDEA 常用设置/快捷键
经常用到 IntelliJ IDEA 编写java,由于不时需要重装系统,所以Mark一下一些基本的设置选项,以便查询,这篇帖子会一直更新,只要有常用的新的设置或者快捷键 一.常用设置 显示代码行号 ...
- JAVA net 笔记
1.InetAddress 获取主机ip等 2.URL 3.URLConnection (url.openConnection() 创建对象) 4.BufferedReader 5.InputStre ...
- 北京DAY1下午
省选模拟题 周子凯 题目概况 中文题目名 简易比特币 计算 路径 英文题目名 bit calculation Path 输入文件名 bit.in calculation.in path.in 输出文件 ...
- Codechef ForbiddenSum
Mike likes to invent new functions. The latest one he has invented is called ForbiddenSum. Let's con ...