LoadRunner学习知多少--IP欺骗使用

使用IP欺骗功能时,需要将系统防火墙,杀毒软件关闭(如果有影响的话)

一、为什么要设置IP欺骗

1、
当某个IP的访问过于频繁,或者访问量过大时,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果。

2、
某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能。LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和测试服务器均衡处理的能力。

3、有一些网站会限制同一个用户同一个IP 的登陆。为了更加真实的模拟实际情况,LoadRunner允许运行的虚拟用户使用不 同的IP 访问同一网站。

二、IP欺骗设置方法

  • 在配置前首先要确定本地IP是固定的,不能是自动获取的

  • 所添加的IP只能是局域网内的网段,即只能添加192段,127段,10段的IP地址

  • IP Spoofer 在连接 Load Generators 之前启用

打开开始菜单中的LoadRunner文件夹下的Tools文件夹,点击IP Wizard:

第一次运行IP Wizard需要选择第一项“Create new
settings”,如果以前运行过,可以选择第二项,选择保存好的文件;第三项用于使用IP欺骗进行测试完成后,释放IP的。(因为该操作会占用大量的IP资源,可能会导致其他机器没有IP可用的尴尬局面,使用该项,可以恢复到原来的状况)。

这里选择第一项,“下一步”,出现IP Wizard的第二个窗口:

这里输入Web Server的IP地址(这里输入应用程序所在的服务器的IP地址,IP
Wizard将会检查服务器路由表是否需要更新,如果需要更新的话,将会产生相应的脚本帮助你来更新服务器路由表,如果服务器和客户端在同一网段,这个IP可以不填)。然后“下一步”,出现向导的第三个窗口:

从“From IP”文本框中输入要使用IP范围的第一个IP值,然后在“Numbers  to
Add”输入一个数字,表示IP范围的值;“Submask”使用默认情况,取决于使用的那种类型的网络IP,一般局域网内采用Class
C即可。

建议此处选择Save as
保存IP。保存IP列表后,下次使用时,可以直接导入IP列表;也可以直接修改保存的IP列表文件,再导入。

设置完成后,重新启动计算机。

重启后,在命令行输入ipconfig查看IP:

三.在场景中使用IP欺骗

1.勾选“Scenario”--“Enable IP spoofer”;

2.勾选“Tools”—“Export Mode”;

3.“Tools”—“Options”—“General”

Multiple IP address mode选择“IP address allocation per
process”

这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式。

4.“Diagnositics”—“Configuration”

“Web Page Diagnostics”设置为Disable.

四、验证是否生效

方法一:

在脚本中添加如下代码:

char *ip = lr_get_vuser_ip();
if
(ip)
     lr_output_message("The IP address
is %s", ip);
else
    
lr_output_message("IP spoofing disabled");

注:这个在generator中是不生效的,所以在回放代码时看到的都是“IP spoofing
disabled”.在Controller中设置了启用IP欺骗后,日志中就可以看到。如下图:

方法二:

Controller的运行页,运行场景,在Vusers中,状态列中右键可以查看Vuser日志,弹出的提示框头几行就有显示当前使用的IP.

前提是:在Run-time Settings中的Log中设置Extended
log下面的三个都勾选中,否则只能看到第一个虚拟用户的log

方法三:

菜单栏:Results ---> Results Settings...

C:\Users\Administrator\AppData\Local\Temp
 就是你运行脚本的目录,找到log\目录下面,也可以查看日志。

五. 释放IP

打开开始菜单中的LoadRunner文件夹下的Tools文件夹,点击IP Wizard:

选中第三项:

重启计算机即可。

六、使用中遇到的问题

1. 启用IP欺骗后,运行1个虚拟用户的场景都失败;不启用IP欺骗后,运行场景通过;

原因:查看失败的虚拟用户使用的IP地址,在服务器端通过ping等命令查看网络是否互通;如果服务器ping不通虚拟ip,说明网络设置有问题,检查网络设置。

2.   运行开始菜单下的IP-Wizard,提示以下错误:

原因:如果IP设置为“自动获取”,在运行IP Wizard程序时会弹出错误提示;运行IP
Wizard的机器必须使用固定的IP,不能使用动态的IP.

3.添加IP欺骗后使用的IP,会有提示框提示保存IP列表,确定,取消等按钮,建议保存IP列表再确定完成。

原因:保存IP列表后,下次使用时,可以直接导入IP列表;也可以直接修改保存的IP列表文件,再导入。

4.添加IP欺骗和释放IP,都要重启机器后才会生效

原因:重启后,网络配置才会生效。

5.运行场景时,报错“Error... Failed to connect to load generator.Check the
output windows for more details”

解决:手工启动agent服务。

6.运行场景报错“Action.c(30):Error: Socket descriptor not found. Hint:the
problem might be solved applying the following:(1) Update Run-Time Settings to
Run Vusers as a process.(2)Add  the following line into mdrv.exe,[lr_socks]
section:’ ExtCmdLineConc=-UsingWinInet Yes’”

解决方法:

a.根据错误提示,在Run-time Settings中的“Miscellaneous”项中设置“run vuser as a
process”;在安装目录中的dat文件夹中查找mdrv.dat,找到[lr_socks]段,在最后添加“ExtCmdLineConc=-UsingWinInet
Yes”一句。

近些天做了系统的性能测试,其中对于gis地图这块,仅是打开地图一个操作,若给系统加压后,系统就报错,意思上地图服务关闭连接不上。后来得知,公司用的gis这块的服务不允许一个IP多次访问,于是想到了loadrunner虚拟IP功能。我也是第一次做,网上查了一些资料,翻了本书,现将操作步骤记录一下,为了以后翻看方便吧。

虚拟IP,顾名思义就是给自己网卡添加多个IP地址。

1、首先在场景运行之前,开启IP Spoofer功能)(Scenario->Enable IP Spoofer)

2、然后确认DHCP服务是关闭状态(由于,DHCP服务是自动获得IP),其实就是给电脑手动分配地址。我用的是无线,以无线为例,在网络连接中查看属性,DHCP服务是否开启(操作步骤:打开网络连接->打开无线网络的属性->选择Internet协议(TCP/IP)点击查看其属性->高级)

我的本一开始是开启状态,如图:添加IP地址的按钮是灰色不可用的

3、查看电脑目前具体的IP地址详细信息(运行->cmd->ipconfig
/all;另外也可以右击网络连接图标->状态->支持->详细信息),然后根据详细信息,手动配置IP地址及DNS信息。

4、然后再点击高级按钮,可以看到添加IP地址的按钮可用了,然后就可以添加IP地址了,添加IP地址有两种方法

一种是可以手动添加IP地址(我试过,只能添加5个)

点击添加后

另一种是可以利用loadrunner自带的IP Wizard功能,给网卡批量添加IP地址,其具体的方法如下:

1)、打开IP Wizard功能(开始->所有程序->Mercury Lodrunner->Tools->IP
Wizard)

题外话,若DHCP服务启动,IP Wizard功能是不可用的,会有如下提示

其解决办法,就是禁掉自动获得IP,手动添加静态IP,参照步骤2

2)、接着说打开IP Wizard后,选择第一项,添加ip,点击“下一步”

   
说明:loadrunner在做IP欺骗时,真实的虚拟了IP地址,该IP地址均真实存在,可以ping通,可以建立网络链接,在不使用时必须进行释放,否则这些IP地址将一直存在

3)、此步让输入server的IP地址,我是输入的要访问的服务器地址(不知道是否正确,后面步骤也提示此地址无效不可用,暂时不清楚究竟该输入什么,但是结果不影响),然后点‘下一步’

4)点击添加按钮

可以添加IP段,输入IP地址的第一个地址,和所要添加的数量即可

输入相应的第一个IP地址和数量之后,点击OK按钮,验证IP是否已使用

然后提示哪些IP没有被添加上(我是输入开始IP是192.168.2.2,总共数量是250个,然后提示信息如下:)

点击“确定”后,显示添加了哪些IP信息

5、
然后重启网卡,使新增的IP都生效(禁用网卡,启动网卡及可靠),然后查看IP是否生效(运行->cmd->ipconfig /all)

6、运行场景之前,设置IP虚拟是线程或者进程模式,在启动了IP欺骗之后,

在工具菜单下选择 tools--expert mode,
进入tools--options--general,选择是按进程还是线程来加载IP(必须在专家模式下且已经启用ip欺骗后 才能设置)

选择哪种方式运行(参考http://www.51testing.com/html/23/n-218923.html

到此为止,虚拟IP设置完毕了,然后设置具体的场景之后,就可以运行脚本了。

在此需要说明一下,我的是一个脚本,不用添加多个generator,我看网上有的网友在运行之前还得手动添加多个IP,其中查了下,其实大家有一个普遍的误区::和Generator搞混。以为添加多个IP后,需要添加多个IP对应的Generator才可以使用。(同一个Generator只需要以其某一个IP添加到Generator列表中即可以使用其它的IP),一开始我也烦恼,加压如何在generator手动添加多个IP,看了这句话,放心了,添加一个足矣。

运行后,如何查看是否真正地使用了不同的IP,其方法有两种:

1) 场景的日志打开,并且是扩展日志(Extended log),选择了“Date returned by
server”项,运行后,选择某一个用户,右击,查看其日志内容

可以看到其IP地址,如下图所示:

2)在脚本的int函数中添加如下代码:

注题外话:若在脚本中直接运行,没有日志,若将此代码放在代码中间,直接运行脚本,系统会报错

然后在场景中新加载脚本,场景日志也是打开状态,选择标准日志即可,同样在日志中,可以查看当前虚拟用户的虚拟IP地址

并且看了几个不同的用户,他们的IP地址不同,由此可见实现了IP地址的虚拟!

注,我测试的系统server不允许同一个IP多次访问,所以在运行设置的时候,Duration中不设置运行时间,为了起到给系统加压的效果,可以开始的用户多些,且加载的间隔时间短些即可(比如,50个用户加压,可以一开始20个,间隔时间为10,这样我可以实现至少40个用户同时在使用系统)。需要说明的是,再次给系统加压,还是会出现server关闭的现象,但是失败的用户就1,2个左右,不是之前的大批量失败了。

b.在选择了expert mode后,选择option-general,选中“ip address allocation per
process”

c.如果仍然报错,在菜单栏中点击Diagnostics—configuration项,将web page
diagnositics项的disable去掉(该路径是在lr11中的位置,若是lr8.0,则在Diagnositics—Distribution,disable
Web page Disagnositics选 项).

LoadRunner学习知多少--IP欺骗使用,布布扣,bubuko.com

时间: 2024-10-05 19:00:28

LoadRunner学习知多少--IP欺骗使用的相关文章

LoadRunner中的IP欺骗的设置以及误区

LoadRunner中的IP欺骗的设置以及误区 最近在忙着部署web性能测试的环境后,对IP欺骗进行设置,特地做个笔记,给自己的学习历程留下点足迹. 一. 什么是IP欺骗? 做什么事首先要问个为什么,如果知道为什么了,即使不知道如何做,简单,google it,答案总会找得到,google.cn不行,google.com总行,来自全球的搜索结果,总会有帮助. IP spoof即IP 电子欺骗,我们可以说是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术. IP是网络层

loadrunner - IP欺骗

一.什么是IP欺骗 IP spoof即IP 电子欺骗,我们可以说是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术. IP是网络层的一个非面向连接的协议, IP数据包的主要内容由源IP地址,目地IP地址,所传数据构成,IP的任务就是根据每个数据报文的目的地址,路由完成报文从源地址到目的地址的传送.至于报文在传送过程中是否丢失或出现差错,IP不会考虑,那是TCP的事.对IP来讲,源设备与目的设备没有什么关系,它们是相互独立的.IP包只是根据数据报文中的目的地址发送,因此

LoadRunner 技巧之 IP欺骗 (推荐)

IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因:1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果.2.某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能.LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力.3.有一些网站会限制同一个用户同一个IP 的登陆.为了更加真实的模拟实际情况,LoadRunner允许运行

使用IP欺骗Loadrunner并发测试小结

测试要求: 在本次测试中,我需要并发50个User,每一个User占用一个独立的IP,并且只执行一次脚本.脚本中发起两个请求,其中第一次请求返回200后才执行第二个请求.使用win7 OS. 前置及Generator设置: 我的Run-time Settings这样设定: Run Logic: Number of Iterations: 1 (保证只执行一次脚本) Log: Enable Log. Always send messages.(不是只在出错时发送log.我需要通过log来验证我的测

LoadRunner学习笔记--未经排版

LoadRunner学习笔记 并发用户数量: 与服务器进行交互的在线用户数量 请求响应时间 从客户端发送请求到得到整个响应的时间 一般包括网络响应时间+server的响应时间 事务相应时间 完成这个事务所用的时间 是性能测试中重点关注的指标 吞吐率 单位时间在网络上传输的数据量(吞吐量:网络上传输的数据总量) 指从server返回客户端的 是衡量网络性能的主要指标 TPS 每秒钟系统能够处理事务的数量 点击率 每秒发送的HTTP请求的数量 点击率越大对server的压力也就越大 资源利用率 对不

IP欺骗

IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因:1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果.2.某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能.LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力.3.有一些网站会限制同一个用户同一个IP 的登陆.为了更加真实的模拟实际情况,LoadRunner允许运行

jmeter使用IP欺骗压力测试

最近在使用jmeter进行压力测试时需要使用类似于loadrunner的IP欺骗功能,经问津度娘无果后决定再次耐心研究jmeter官方文 档,终于发现在jmeter2.5以上的版本有此功能的实现,由于发现很多网友都在寻找此问题答案,遂将本次测试的过程的记录下来以帮助更多的同学: 准备工作: 1.window7一台,安装jdk1.6环境,此处就不再累赘讲述. 2.下载最新jmeter 2.11,链接地址:http://jmeter.apache.org/download_jmeter.cgi,下载

jmeter使用IP欺骗进行压力测试

loadrunner的IP欺骗功能很强大,耐心研究jmeter官方文档,发现在jmeter2.5以上的版本有此功能的实现~ 准备工作: 1.window7一台,安装jdk1.6环境. 2.下载最新jmeter,链接地址:http://jmeter.apache.org/download_jmeter.cgi,下载zip包解压即可,双击bin/jmeter.bat启动jmeter; 3.使用IP欺骗功能必须得本地有多个可用IP,通常普通的PC机只有一个物理网卡,这就需要我们手工设置多IP绑定同一网

Jmeter也能IP欺骗!

之前有小伙伴问到jmeter有没有和loadrunner一样的ip欺骗功能,这篇文章介绍一下什么是ip欺骗,他有什么用,咱们用jmeter的时候,ip欺骗怎么做.   ip欺骗是什么?    ip欺骗就是模拟ip.什么意思呢,一个电脑就只有一个ip地址,当然如果有多块网卡的话,会有多个ip地址,一般服务器上有个网卡,咱们自己的电脑一般都只有一个ip地址,但是你做压测的时候有的系统为了防止恶意刷请求,服务端会判断每个请求过来的ip是不是同一个,如果同一个ip地址在一段时间内频繁请求的话,就把这个i