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

 

posted @ 2016-05-13 11:35  Believer007  阅读(14601)  评论(3编辑  收藏  举报