LoadRunner穿越防火墙测试

Loadrunner穿越防火墙测试

  首先提出一个问题:什么时候使用穿越防火墙技术?

  答:当Controller位于防火墙外时,您可以穿越防火墙运行Vuser并监控服务器。

  为什么使用穿越防火墙技术?

  答:当服务真正部署时都会使用硬件防火墙来增强网络的安全性,我们很多时候不能将测试计算机与被测服务器置于同一局域网内,但为了降低网络传输对性能测试的影响,我们通常要使用防火墙内的负载生成器对服务器进行性能测试,此时防火墙外的Controller与防火墙内的负载生成器的连接便成了问题,所以我们使用穿越防火墙技术使之建立连接。

  好下面开始介绍穿越防火墙的原理:

  在部署的项目中使用防火墙意味着可以在特定的端口号上防止对专用网络或从专用网络进行未经授权的访问。例如,您可以指定无法从外界访问除邮件端口(23)以外的任何端口,您也可以指定除邮件端口和Web端口(80)以外的任何端口都没有外部连接。端口设置是由系统管理员配置的。

  在常规LoadRunner场景(不穿越防火墙)中,Controller可以直接访问在远程计算机上运行的LoadRunner代理。这使Controller可以直接连接到那些计算机。

  当穿越防火墙运行Vuser或监控服务器时,这一直接连接将被防火墙阻断。Controller无法建立该连接,因为它没有在防火墙中打开端口的权限。使用基于HTTPS或安全TCP/IP(使用防火墙上的标准SSL端口[端口443])的通信机制,LoadRunner可以解决此问题。LoadRunner代理安装在防火墙内运行Vuser的负载生成器计算机上,或为要监控的服务器充当中介(称为“介体”)的代理计算机上。该代理通过防火墙上的端口443与Mercury Interactive侦听器计算机和MI侦听器进行通信。

  那么Loadrunner代理如何穿过防火墙与MI监听器进行联系的呢?

  第一步:loadrunner代理初始化通过端口443到MI侦听器的连接(见下图)

  当LoadRunner代理与MI侦听器进行连接时,MI侦听器将记录有关使用该代理传递给它的符号名连接到该代理的信息。Controller连接到MI侦听器后,将通过端口50500与MI侦听器进行通信。

  第二步:Controller通过端口50500连接到MI侦听器(见下图)

  Controller将使用代理的符号名,并给出MI侦听器计算机的名称。如果已经存在一个连接,从具有相同符号名的代理连接到此MI侦听器,则说明该连接已经建立。连接到该代理后,您就可以穿越防火墙运行或监控Vuser。

  第三步:Controller和代理相连接(见下图)

  Controller和loadrunner代理都通过MI监听器进行联络。

  以上说明了Controller和loadrunner代理都通过MI监听器的联系方式,在第二篇文章中我们介绍如何设置穿越防火墙。

  配置穿越防火墙的方法主要分以下几步:

  1、在防火墙内运行Vuser的计算机上或要监控的服务器上安装LoadRunner代理。

  要穿越防火墙运行Vuser,则防火墙内运行Vuser的负载生成器计算机上必须安装LoadRunner代理。该代理可作为Windows服务或作为从Startup文件夹中运行的可执行程序添加

  要检查是否已安装,请选择:“开始”>“程序”>“Mercury LoadRunner”>“LoadRunner代理服务/进程”。

  如果“代理服务”或“代理进程”出现在LoadRunner选项的列表上,则表示已经安装了该代理。

  2、将LoadRunner代理配置为穿越防火墙进行操作。

  防火墙内的计算机可以是运行Vuser的负载生成器计算机,也可以是连接到Controller要监控的服务器的介体计算机。您可以将防火墙内的LoadRunner代理配置为可以穿越防火墙进行操作。Controller计算机位于防火墙之外。

  A、单击“开始”>“程序”>“Mercury LoadRunner”>“高级设置”运行“代理配置”,或者运行<LoadRunner根文件夹>\launch_service\bin\AgentConfig.exe。

  B、选中“启用防火墙代理”复选框,然后单击“设置”。

 C、按照如下值设置:

  选项

  默认值

  描述

  MI侦听器名

  无

  Mercury Interactive侦听器计算机(MI侦听器)的名称、全名或IP地址。

  本地计算机密钥

  无

  一种符号字符串描述符,用于通过MI侦听器计算机在位于防火墙后的Controller主机和代理计算机之间建立唯一连接。

  连接超时(秒)

  20秒

  您希望代理在重新尝试连接到MI侦听器计算机之前所等待的时间长度。如果是零,连接将从代理开始运行起一直保持打开状态。

  MI侦听器用户名

  无

  连接到MI侦听器计算机时所需的用户名。

  MI侦听器密码

  无

  连接到MI侦听器计算机时所需的密码。

  服务器域

  无

  连接到MI侦听器计算机时所需的域名。只有使用NTLM时才需要此字段。

  连接类型- TCP/HTTP

  TCP

  根据所使用的配置选择TCP或HTTP。

  连接类型- HTTP

  代理服务器名

  无

  代理服务器的名称。如果“连接类型”选项为“HTTP”,则此选项为强制选项。

  连接类型- HTTP

  代理服务器端口

  无

  代理服务器连接端口。如果“连接类型”选项为“HTTP”,则此选项为强制选项。

  连接类型- HTTP

  代理服务器用户名

  无

  具有连接到代理服务器权限的用户的用户名。

  连接类型- HTTP

  代理服务器密码

  无

  用户的密码。

  连接类型- HTTP

  代理服务器域

  无

  如果在代理服务器配置中进行了定义,则为用户的域。只有使用NTLM时才需要此选项。

  使用安全连接(SSL)

  禁用

  使用安全套接字层协议启用连接。

  使用安全连接

  (SSL) -检查服务器证书

  无

  验证由服务器发送的SSL证书。选择“中”可以验证服务器证书是否已由授权的证书颁发机构签名。选择“高”可以验证发件人IP是否与证书信息相符。只有将“使用安全连接”设置为“True”时,此设置才可用。

  使用安全连接

  (SSL) -私钥密码

  无

  在SSL证书身份验证过程中可能需要的密码。此选项只有在启用了“客户端证书所有者”选项后才有意义。

  使用安全连接

  (SSL) -使用客户端证书

  禁用

  启用此选项可以载入SSL证书(如果服务器要求允许进行连接)。只有启用了“使用安全连接”选项后,此选项才有意义。

  3、配置防火墙。

  将防火墙配置为允许防火墙内的代理与防火墙外的计算机之间进行通信。

  tcp配置:LoadRunner代理将尝试使用端口443与MI侦听器建立连接。要建立此连接,需要启用防火墙的端口443上的HTTPS服务的传出连接。这样,代理将在代理配置的“连接超时”字段中指定的时间间隔(以秒为单位)内连续尝试与MI侦听器进行连接。成功连接后,MI侦听器将连接回代理。从这一刻起,代理将侦听来自MI侦听器的命令。

  HTTPS配置 :LoadRunner代理通过使用在“代理端口”字段中指定的代理端口来尝试与MI侦听器建立连接。要建立此连接,需要启用防火墙的端口443上的HTTPS服务的传出连接。这样,代理将在代理配置的“连接超时”字段中指定的时间间隔(以秒为单位)内连续尝试与MI侦听器进行连接。成功连接后,代理服务器上的代理将连接到MI侦听器,而MI侦听器将通过代理服务器连接回代理。从这一刻起,代理将侦听来自MI侦听器的命令

  4、安装穿越防火墙进行监控组件(仅穿越防火墙进行监控)。

  要穿越防火墙监控服务器,需要在防火墙内的代理计算机上安装该组件。通过LoadRunner CD对LoadRunner进行自定义安装,仅选择“防火墙监控器”选项。

  5、在防火墙外的计算机上安装并配置MI侦听器。

  安装Controller时将自动包括MI侦听器,所以您可以将Controller

  MI侦听器只能安装在Windows计算机上。

  A、          单击“开始”>“程序”>“Mercury LoadRunner”>“高级设置”运行“MI侦听器配置”

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-28 11:05:48

LoadRunner穿越防火墙测试的相关文章

穿越防火墙 让远程桌面自由连接

有些时候,我们需要在公司.学校.网吧或者其他内网环境远程管理某台计算机或者服务器.拿我自己来说,我需要远程管理一台服务器.但是,我所处的环境是学校机房,也就是一个典型的内网环境,学校的网络出口处有一个非常强悍的防火墙,除了常用的端口统统封掉.所以,我无法用远程桌面连接我的服务器.我试过很多软件,比如RealVNC.PCAnywhere等,都是没有作用的,分析其原因就是,在防火墙处,除了管理员设置允许连接的端口外,其余一律阻止. 其实不仅是学校,现在人们越来越注重安全了,而最简单的方法就是禁用端口

loadrunner进行负载测试时,服务器总是报错。怎么解决?

问题描述 loadrunner进行负载测试时,服务器总是报错.怎么解决?附上我的jdbc连接类publicclassconnsqlserver{/***创建连接*/privatestaticConnectioncn=null;//创建StatementprivatestaticStatementstmt=null;privatevoidgetConnection(){if(cn!=null){return;}Contextctx;try{ctx=newInitialContext();DataS

关于JAVA解决NAT穿越防火墙以及解决多级代理方面的问题

问题描述 各位师兄:要研究关于JAVA解决NAT穿越防火墙以及解决多级代理方面的问题,想搜集一些资料.希望能提供一些好资料,避免海量查询之苦,谢谢 解决方案 解决方案二:记号-解决方案三:脚印--`解决方案四:你要做什么?你可以使用UDP的方式进行连接和访问,尽量不要用TCP的方式.解决方案五:为什么要用UDP呢?UDP的丢包率太大,而且从实时性上也无法保证我程序的需要.解决方案六:到我的blog上找找吧,我翻译过一篇UDP/TCP打洞的文章!gloomyfish搜索一下就可以看到!解决方案七:

loadrunner录制脚本测试问题

问题描述 loadrunner录制脚本测试问题 用loadrunner录制脚本测试时Hits per Second图没有曲线图是怎么回事,大家知道的帮帮忙吧.谢谢了! 解决方案 你用的是loadrunner 11破解版吗? 破解版会有此问题,如果在曲线设置菜单中进行了操作,就绘制不出曲线图了 解决方案二: 1.当前工作环境请说明一下 2.使用的什么协议说明一下 3.如果使用的是http,有可能协议选择不合理

C#写的发送邮件的程序如何穿越防火墙?

问题描述 用C#System.Net.Mail.SmtpClient写的邮件发送,在本机上可以运行,但是上传至服务,出现"无法连接"错误,估计是服务器防火墙或杀毒软件的原因,但是又不能停止服务器杀毒软件,有办法穿越吗? 解决方案 解决方案二:设置防火墙,将其纳入可信区,你若能穿出去,人家自然也有本事穿进来解决方案三:不能穿越防火墙解决方案四:不是吧,那就没有办法实现在邮件发送了?解决方案五:用TCPRemoating解决方案六:吧邮件内容用二进制的格式序列化,好象可以穿越防火墙,解决方

软件测试工具LoadRunner中的测试协议选择

在学习LoadRunner协议选择之前,我觉得我们有必要了解一下协议的基本概念.首先我们知道,计算机与计算机之间的通信都离不开通信协议,接着我们来说说通信协议的概念.通信协议是什么,通信协议实际上是一组规定和约定的集合.说白了就是两台或者多台计算机在通信时必须约定好本次通信做什么,例如是进行文件传输,还是发送电子邮件;然后约定怎样通信,什么时间通信等.因此,通信双方要遵从相互可以接受的协议(相同或兼容的协议)才能进行通信,如目前因特网上广泛使用的TCP/IP协议等,任何计算机连入网络后只要运行T

2016 NSS Labs下一代防火墙测试 中国厂商一举夺魁

2月29日,著名国际独立安全研究和评测机构NSS labs公布了2015年度下一代防火墙的测试评结果,对其邀请参加公开测试的全球十二个主流品牌的下一代防火墙产品进行了综合评估.在这次测试中,中国厂商山石网科力压众国际知名厂商,以高达99%的综合威胁检查率以及排名第一的总体拥有成本,获得"推荐级".在NSS Lab的安全价值表中,山石网科的下一代防火墙位于最右上位置,显示来最佳客户价值.NSS Labs 自2011年开始,每年展开该项测试.这是中国厂商第一次参加下一代防火墙产品的公开测试

“穿越”防火墙的XML技术

程序员可能会经常碰到这样的事情:建立一个servlet应用程序,它与公司的数据库相连接,为客户提供一种特定的服务,这个应用程序受到一个强大的验证机制保护,全世界有成千上万的客户都在使用它.现在就出现了一个问题:当应用程序处在公司的防火墙之外时,你将如何从应用程序提供用户对数据库的访问?你知道,网络管理员是不会专门为你的应用程序与数据库相连接而打开一个特殊端口的. HTTP隧道技术和XML 如何越过防火墙与客户/服务器应用程序相连接这个问题已经困扰程序员很久了.在多数情况下,一个公司的防火墙总是尽

Oracle客户穿越防火墙难题

oracle|防火墙 近来由于工作需要,在Windows XP平台上安装了Oracle9i数据库作为测试之用,一切正常.但当客户机连接服务器时却总是超时,我首先想到了防火墙,当我打开1521端口时,连接操作仍然失败.我又怀疑网络有问题,用telnet server_ip:1521尝试,连接被接受,说明1521端口已经被打开. 没有办法,查询Oracle资料后才明白,network listener 只起一个中介作用,当客户连接它时,它根据配置寻找到相应的数据库实例进程,然后spawned一个新的