设置IP欺骗的原因:
多个IP地址的设置:
如果是动态IP,打开时会出现如下窗口:
注意:当用完后,要把IP地址释放,不然其他人用不了这些IP。
点开始——程序——lr——tools——IP wizard,此时会打开如下窗口:
点第三个,释放已经设置的IP,然后依次下一步,下一步。
在controller中的应用:
1、在conreoller中,Scenario——选Enable ip spoofer(允许使用ip欺骗)
2、conreoller中,tools——选expert mode
3、tools——options——General中关于线程还是进程的设置必须和run-time settings里面的一致,否则IP欺骗失效
4、点Generators——Add所有新添加的IP——每个都去connect到Ready状态
5、添加脚本,Vusers数量,设置场景
有两种方案来设计场景
a、 本地使用虚拟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地址发送消息
b、 负载生成器使用虚拟IP设计场景
在设置该类场景时,需要添加负载生成器,建立负载生成器时输入创建的虚拟IP,每个负载生成器为一个虚拟用户组,该场景是通过进程方式进行性能测试。
如何添加负载生成器创建场景在这里就不多描述了。
但需要注意,选中Tools下的Expert mode,启动专家模式
再点击Tools下的options
在Genearl选项卡中设置已线程方式或进程方式进行性能测试,这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式
注:
1、连接新添加IP之前,必须开启lr Agent Process,否则失败
2、如果run时候报网络方面错,可以查看防火墙之类的东西,比如关闭卡巴斯基等,此次测试就是因为卡巴斯基的缘故run全部failed
3、要虚拟很多IP的情况:在一台机上虚拟的IP跨网段的处理,可通过在服务器端添加路由来实现。
例:
【服务器】IP:192.168.0.1
【测试机】IP:192.168.0.2
测试机上添加的虚拟IP: 192.168.10.1~254
那么在【服务器】端执行以下命令:
route add 192.168.10.0 mask 255.255.255.0 192.168.0.2
注:【格式: route add 虚拟IP网段号 mask 255.255.255.0 测试