IP欺骗

使用loadrunner进行IP欺骗首先要注意以下两点:

 

1、 本地的IP设置不能为“自动获取”,必须指定一个静态IP

如果本地是动态获取IP,在运行IP Wizard时会弹出提示:

 

The IP wizard does not support DHCP-enabled network cards.

Your cards are either DHCP-enabled or configured with invalid settings.

Please contact your system administrator.

 

此时只需要将IP地址改成静态IP地址就可以了

 

2、 所添加的IP只能是局域网内的网段

 

只能添加192段,127段,10段IP地址

好下面开始介绍如何使用IP欺骗

 

一、添加IP地址

第一步:

运行Mercury LoadRunner- Tools-IP Wizard

弹出的IP设置向导中的各项含义如下:

1、 create new setting  新建IP列表

当我们第一次使用IP欺骗或已经释放所添加的IP时,需要选择此项添加新的IP地址

2、 load previous setting from file  读取IP列表文件

从以前设置的IP地址列表文件中读取IP地址

3、 restore original setting  释放已设置的IP

释放已经添加的IP地址

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

第二步:

选择create new setting,点击“下一步”

此时出现的页面是让输入服务器的IP地址,loadrunner通过该地址更新路由表。

客户端计算机上添加新的IP地址后,服务器需要将该地址添加到路由表,以便能够识别返回到客户端的路由。如果服务器和客户端具有相同的子网掩码、IP类和网络,则不需要修改服务器的路由表。

 

注意:如果客户端和服务器计算机之间有一个路由器,则服务器需要识别经过该

路由器的路径。确保将以下路由添加到服务器路由表:从Web服务器到路由器

的路由,以及从路由器到负载生成器计算机上的所有IP地址的路由。

第三步:

在输入服务器地址的页面中不输入任何地址,直接点击“下一步”

进入IP添加页面

点击“add”进行添加

第四步:

在from ip输入框中输入起始ip,在Number to输入框中输入ip地址的位数

输入正确的子网掩码

选中“verify that new ip addresses are not already used”

点击“ok”,此时IP Wizard会自动按照设置生成IP地址,并且将已经占用的IP列出

第五步:

确认可用IP地址列表内容后,点击“ok”

此时IP Wizard提示需要重新启动计算机,点击“save as”保存IP列表

点击“ok”,重新启动计算机

第六步:

在网上邻居的属性中查看TCP/IP协议可以看到网卡被绑定了好多IP地址上了

 

二、在loadrunner中使用虚拟IP

第一步:

打开controller,在controller中,选择 Scenario-〉Enable IP Spoofer,此项设置允许使用IP欺骗。

第二步:

设计场景:

有两种方案来设计场景

1、  本地使用虚拟IP设计场景(不带负载生成器使用localhost进行测试)

在设置该类场景时,在场景中添加一个录制好的脚本,该脚本中添加如下代码便可看到虚拟用户在使用哪个IP地址进行消息发送,该场景是通过线程方式进行性能测试。

char * ip;

ip=lr_get_vuser_ip();

if (ip)

{

    lr_vuser_status_message("The ip address is %s",ip);

}

 else

lr_vuser_status_message("IP spoofing disabled");

       在controller中执行该脚本时,查看虚拟用户运行状态,便可看到当前虚拟用户使用的哪个IP地址发送消息

2、  负载生成器使用虚拟IP设计场景

在设置该类场景时,需要添加负载生成器(其他负载机),建立负载生成器时输入创建的虚拟IP,每个负载生成器为一个虚拟用户组,该场景是通过进程方式进行性能测试。

如何添加负载生成器创建场景在这里就不多描述了。

但需要注意,选中Tools下的Expert mode,启动专家模式

再点击Tools下的options

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

三、使用虚拟IP测试完成后

打开IP Wizard,释放所有虚拟IP,并将IP设置成原来的IP就可以了。

 

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

网络上介绍如何增加IP欺骗的文章已经很多,这里就不再赘述,只说明下在使用过程中要注意的几个方面:

1、本地的IP不能设置为“自动获取”,必须指定一个静态IP;
原因:如果设置为“自动获取”,在运行IP Wizard时会弹出错误提示;
   提示信息为:IP向导不支持启用DHCP的网卡。您的卡启用了DHCP或者配置了无效设置。请与系统管理员联系。

2、添加IP欺骗使用的IP后,会有提示框提示保存IP列表,确定,取消等按钮;建议保存IP列表后再确定完成;
原因:保存IP列表后,下次使用时,可以直接导入IP列表;也可以直接修改保存的IP列表文件,再导入;

3、添加IP欺骗,和释放IP,都要重启机器后才会生效;
原因:重启后,网络配置才会生效;

4、在controller中使用ip欺骗的注意事项;
(1)勾选“场景”->“启用IP欺骗器”;
(2)勾选“工具”->“专家模式”;
(3)“场景”->“选项”->“常规”->“多个IP地址模式”;
这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式

5、设置IP欺骗后,验证其是否生效;
有两种方法查看:
(1)可用如下代码段来查看:
char *ip = lr_get_vuser_ip();
if (ip)
     lr_output_message("The IP address is %s", ip);
else
     lr_output_message("IP spoofing disabled");
注意:如果把上面这一段加入代码中间,第一句要修改下:

char *ip;(这句放在函数起始部位,对变量ip进行声明)
ip=lr_get_vuser_ip();(这个和后面的if-else语句一起放在要输出的地方)

另:这个在generator中是不生效的,所以在回放代码时看到的都是"IP spoofing disabled",在contorller中设置了启用IP欺骗,日志中就可以看到;

(2)controller的运行页,运行完场景后,在通过、失败的虚拟用户处,右键可显示VUser日志;
弹出的提示框头几行就有显示当前使用的IP;

6、使用IP欺骗过程中,会有出现下述问题:
启用IP欺骗后,运行1个虚拟用户的场景都失败;不启用IP欺骗后,运行场景通过;
原因:查看失败的虚拟用户,使用的IP地址(查看方法可使用第5点中的方法),在服务器端通过ping等命令查看网络是否互通;
如果服务器ping不通虚拟IP,说明网络设置有问题,检查网络设置;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值