一、为什么要设置IP欺骗

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

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

二、IP欺骗设置方法

l  在配置前首先要确定本地IP是固定的,不能是自动获取的(打开网络和共享中心,点开本地连接——属性——IPv4

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

l  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.

五.释放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”一句。

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选 项).

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. Android开发之重力传感器
  2. ffmpeg将图片合成视频
  3. Linux下查看/管理当前登录用户及用户操作历史记录
  4. xp远程桌面登陆需要身份验证问题解决
  5. JS js与css的动态加载
  6. (转)ajax.dll,ajaxpro.dll的区别和用法
  7. 【转载】uclibc和glibc的差别
  8. check the element in the array occurs more than half of the array length
  9. Script to set the Purchase Order Status to ‘OPEN’(将采购订单重新打开)
  10. PAT乙级 1018. 锤子剪刀布 (20)
  11. 开发一个完整的JavaScript组件
  12. 复制、移动和删除:cp, rm, mv
  13. .net EF 事物 订单流水号的生成 (一)
  14. Sencha Cmd的简介
  15. Nodejs安装后修改全局路径配置
  16. Java中使用LocalDate根据日期来计算年龄
  17. Mahout LDA 聚类
  18. FreeNAS-9.10虚拟机测试安装
  19. 2019微软Power BI 每月功能更新系列——3月Power BI 新功能学习
  20. python->解析xml文件

热门文章

  1. android的progressDialog 的使用。android数据异步加载 对话框提示
  2. Asp.Net的两种开发方式
  3. [软件测试]网站压测工具Webbench源码分析
  4. Mac 下安装tomcat
  5. 文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作
  6. [USACO2003][poj2138]Travel Games(dp/最长路)
  7. margin的理解
  8. jQuery理解之(二)功能函数
  9. 详解js中的闭包
  10. WPF控件--利用Winform库中的NotifyIcon实现托盘小程序