loadunner使用socket协议来实现多客户端连接同一服务器脚本(使用到IP欺骗技术)

简介: 第一部分: #include "lrs.h" vuser_init(){ lrs_startup(257); return 0;}   第二部分: Action(){ char *ReturnValue_Remote; char *ReturnPort_Remote; char *ReturnValue_Local; char *ReturnPort_Local; char *AcutalBuffer; int BufferSize; char *ip; //编写获取LR分配的Vuser IP函数,将IP保存在ip变量中。

 

第一部分:

#include "lrs.h"


vuser_init()
{
lrs_startup(257);

return 0;
}

 

第二部分:

Action()
{

char *ReturnValue_Remote;
char *ReturnPort_Remote;
char *ReturnValue_Local;
char *ReturnPort_Local;
char *AcutalBuffer;
int BufferSize;

char *ip;

//编写获取LR分配的Vuser IP函数,将IP保存在ip变量中。
ip=lr_get_vuser_ip();

if(ip)

lr_vuser_status_message("the ip address is %s:",ip);
else

lr_vuser_status_message("IP spooler disabled");

//输出获取到lr分配的ip值。
lr_output_message("the current assign ip is :%s",ip);

//将ip变量保存到一个参数中,并输出该参数的值。
lr_save_string(ip,"VirtualIP");
lr_output_message( lr_eval_string("{VirtualIP}"));

//在lrs_create_socket函数中localhost使用<>:<>形式来参数化
lrs_create_socket("socket0","TCP","LocalHost=<VirtualIP>:<RandomPort>","RemoteHost=192.168.1.113:8888",LrsLastArg);

 

while(1)

{


ReturnValue_Remote=lrs_get_socket_attrib("socket0",REMOTE_ADDRESS);
ReturnPort_Remote=lrs_get_socket_attrib("socket0",REMOTE_PORT);
ReturnValue_Local=lrs_get_socket_attrib("socket0", LOCAL_ADDRESS);
ReturnPort_Local=lrs_get_socket_attrib("socket0",LOCAL_PORT);

lr_start_transaction("获取远程主机地址及端口");

lr_output_message("this RemoteHost address is %s :", ReturnValue_Remote);

lr_output_message("this RemoteHost Port is %s : ",ReturnPort_Remote);

lr_end_transaction("获取远程主机地址及端口", LR_AUTO);


lr_start_transaction("获取本机地址及端口");

lr_output_message("this LocalHost address is %s :", ReturnValue_Local);

lr_output_message("this LocalHost Port is %s : ",ReturnPort_Local);

lr_end_transaction("获取本机地址及端口", LR_AUTO);


// lr_think_time(3);


lr_start_transaction("发送数据包");

lrs_send("socket0","buf0",LrsLastArg);

lr_end_transaction("发送数据包", LR_AUTO);


lr_start_transaction("获取BUFF数据大小及内容");

lrs_get_buffer_by_name("buf0",&AcutalBuffer,&BufferSize);

lr_output_message("buf0 size is %d :",BufferSize);

lrs_save_param_ex("socket0","user",AcutalBuffer,0,BufferSize,"ascii","param");

lr_output_message("the contect buf0 is %s :",lr_eval_string("<param>"));

lr_end_transaction("获取BUFF数据大小及内容", LR_AUTO);


}

lrs_disable_socket("socket0",DISABLE_SEND);

lrs_close_socket("socket0");

return 0;
}

 

第三部分:

#include "lrs.h"


vuser_end()
{

// lrs_disable_socket("socket0",DISABLE_SEND);

// lrs_close_socket("socket0");

lrs_cleanup();

return 0;
}

 

第四部分:

;WSRData 2 1

send buf0 32

"\x41\x45\x48\x50\x0B\x00\x00\x00\x01\xFF\xFF"    ==》心跳包数据
-1

技术改变世界! --狂诗绝剑
目录
相关文章
|
2天前
|
网络协议 Dubbo Java
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
8 0
|
2天前
|
网络协议 物联网 Linux
你不能不知道的:无公网IP,SSH远程连接CentOS服务器【内网穿透】
你不能不知道的:无公网IP,SSH远程连接CentOS服务器【内网穿透】
|
3天前
|
JavaScript 前端开发 搜索推荐
Vue 的服务器端渲染(SSR)和客户端渲染(CSR)在渲染过程、性能、用户体验等方面都存在显著的区别
【5月更文挑战第8天】Vue 的 SSR 和 CSR 在渲染上有明显差异。SSR 服务器端生成 HTML 返回给浏览器,提供更快首屏加载和更好的 SEO,但增加服务器负担。CSR 客户端渲染,首次加载可能较慢,但交互更流畅,开发更简单。两者各有优劣,需根据项目需求权衡选择。
10 2
|
3天前
|
安全 Linux 网络安全
Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件
Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件
14 0
|
9天前
|
Apache 项目管理 数据安全/隐私保护
Windows安装TortoiseSVN客户端结合Cpolar实现公网提交文件到本地服务器
Windows安装TortoiseSVN客户端结合Cpolar实现公网提交文件到本地服务器
|
10天前
|
Apache 项目管理 数据安全/隐私保护
TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器
TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器
|
10天前
|
数据安全/隐私保护 Windows
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问-2
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问
|
10天前
|
存储 网络协议 文件存储
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问-1
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问
|
10天前
|
缓存 网络安全 开发工具
Git服务器报错:host key for (ip地址) has changed and you have requested strict checking
Git服务器报错:host key for (ip地址) has changed and you have requested strict checking
|
12天前
|
监控 安全 持续交付
【专栏】Webhook是服务器主动发送事件通知的机制,打破传统客户端轮询模式,实现数据实时高效传递。
【4月更文挑战第29天】Webhook是服务器主动发送事件通知的机制,打破传统客户端轮询模式,实现数据实时高效传递。常用于持续集成部署、第三方服务集成、实时数据同步和监控告警。具有实时性、高效性和灵活性优势,但也面临安全风险和调试挑战。理解并善用Webhook能提升系统性能,广泛应用于现代软件开发和集成。