一、为什么要设置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选 项).

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

IP欺骗使用的更多相关文章

  1. Lr IP欺骗设置

    IP欺骗设置IP工具:IP Wizard 开启IP欺骗时会关闭DHCP(也就是关闭IP自动获取 更改为手动设置IP) 注:添加IP欺骗,和释放IP,都要重启机器后才会生效,IP Wizard要管理员身 ...

  2. LoadRunner使用技巧-IP欺骗的使用

    设置IP欺骗的原因         1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果. 2.某些服务器配置了负载均 ...

  3. 转 LoadRunner 技巧之 IP欺骗 (推荐)

    IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因: 1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量 ...

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

    loadrunner的IP欺骗功能很强大,耐心研究jmeter官方文档,发现在jmeter2.5以上的版本有此功能的实现~ 准备工作: 1.window7一台,安装jdk1.6环境.   2.下载最新 ...

  5. IP欺骗原理与过程分析

    IP欺骗攻击法 原创:r00t <r00t@unsecret.org> QQ: 22664566 http://www.unsecret.org --------------------- ...

  6. LoadRunner IP欺骗(转)

    直接转了篇运用LR来实现IP欺骗的文章. http://www.cnblogs.com/fnng/archive/2013/03/02/2940284.html

  7. Web Performance Test : IP切换/IP欺骗

    译者前言 本文翻译自<Visual Studio Performance Testing Quick Reference Guide 3.6> 有关于IP Switching的章节.< ...

  8. jmeter使用IP欺骗压力测试

    最近在使用jmeter进行压力测试时需要使用类似于loadrunner的IP欺骗功能,经问津度娘无果后决定再次耐心研究jmeter官方文 档,终于发现在jmeter2.5以上的版本有此功能的实现,由于 ...

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

    测试要求:   在本次测试中,我需要并发50个User,每一个User占用一个独立的IP,并且只执行一次脚本.脚本中发起两个请求,其中第一次请求返回200后才执行第二个请求.使用win7 OS.   ...

随机推荐

  1. [软件测试]网站压测工具Webbench源码分析

    一.我与webbench二三事 Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能.Webbench ...

  2. [BZOJ 2241][SDOI2011]打地鼠(枚举+预处理)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2241 分析: 鉴于R,C的取值很小,于是可以人为枚举R和C的大小,然后判定这个规格的锤 ...

  3. 【Aaronyang原创】用linq取出一个集合中重复的数据

    文章已经迁移:http://www.ayjs.net/2013/07/69/ 文章已经迁移:http://www.ayjs.net/2013/07/69/ 文章已经迁移:http://www.ayjs ...

  4. [Aaronyang] 写给自己的WPF4.5 笔记[2依赖属性]

    人生的意义不在于拿一手好牌,而在于打好一手坏牌 --Aaronyang的博客(www.ayjs.net)-www.8mi.me =============时隔两年后再看WPF========== 因为 ...

  5. 每天一个linux命令(22):chgrp命令

    在 lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别 码都可以.Chgrp命令就是change grou ...

  6. Future模式

    Future模式简介 Future模式有点类似于网上购物,在你购买商品,订单生效之后,你可以去做自己的事情,等待商家通过快递给你送货上门.Future模式就是,当某一程序提交请求,期望得到一个答复.但 ...

  7. 过滤器-->GZIP压缩

    1.创建一个 可以使用GZIPOutputStream 压缩的流 package com.zh.yasuo2; import java.io.IOException; import java.util ...

  8. 扩展KMP

    刘雅琼论文 http://wenku.baidu.com/view/8e9ebefb0242a8956bece4b3.html 论文讲的非常详细. 给定母串S,子串T,n=strlen(S),m=st ...

  9. Hibernate-一级缓存session

    hibernate提供的一级缓存 hibernate是一个线程对应一个session,一个线程可以看成一个用户.也就是说session级缓存(一级缓存)只能给一个线程用,别的线程用不了,一级缓存就是和 ...

  10. SpringMVC实战

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...