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

技术改变世界! --狂诗绝剑
目录
相关文章
|
安全
基于Reactor模式的高性能服务器之Acceptor组件(处理连接)
本节介绍了对底层 Socket 进行封装的设计与实现,通过 `Socket` 类隐藏系统调用细节,提供简洁、安全、可读性强的接口。重点包括 `Socket` 类的核心作用(管理 `sockfd_`)、成员函数的功能(如绑定地址、监听、接受连接等),以及 `Acceptor` 组件的职责:监听连接、接收新客户端连接并分发给上层处理。同时说明了 `Acceptor` 与 `EventLoop` 和 `TcpServer` 的协作关系,并展示了其成员变量和关键函数的工作机制。
299 2
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle客户端与服务器端连接建立的过程
Oracle数据库采用客户端-服务器架构,客户端通过其网络环境与服务器通信,实现数据库访问。监听程序负责建立连接,通过命令lsnrctl可启动、停止及查看监听状态。本文介绍了监听器的作用及相关基础管理操作。
503 0
|
存储 数据库 Python
使用HTTP POST协议将本地压缩数据发送到服务器
总的来说,使用HTTP POST协议将本地压缩数据发送到服务器是一个涉及多个步骤的过程,包括创建压缩文件,设置HTTP客户端,发送POST请求,以及服务器端的处理。虽然这个过程可能看起来复杂,但一旦你理解了每个步骤,就会变得相对简单。
501 19
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
466 22
|
网络协议 开发者 Python
Socket如何实现客户端和服务器间的通信
通过上述示例,展示了如何使用Python的Socket模块实现基本的客户端和服务器间的通信。Socket提供了一种简单且强大的方式来建立和管理网络连接,适用于各种网络编程应用。理解和掌握Socket编程,可以帮助开发者构建高效、稳定的网络应用程序。
800 10
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
3178 16
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
|
弹性计算 安全 Windows
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
|
11月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
910 10
|
11月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
927 8