qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

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

最近在忙着部署web性能测试的环境后,对IP欺骗进行设置,特地做个笔记,给自己的学习历程留下点足迹。
  一. 什么是IP欺骗?
  做什么事首先要问个为什么,如果知道为什么了,即使不知道如何做,简单,google it,答案总会找得到,google.cn不行,google.com总行,来自全球的搜索结果,总会有帮助。
  IP spoof即IP 电子欺骗,我们可以说是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术。 IP是网络层的一个非面向连接的协议, IP数据包的主要内容由源IP地址,目地IP地址,所传数据构成,IP的任务就是根据每个数据报文的目的地址,路由完成报文从源地址到目的地址的传送。至于报文在传送过程中是否丢失或出现差错,IP不会考虑,那是TCP的事。对IP来讲,源设备与目的设备没有什么关系,它们是相互独立的。IP包只是根据数据报文中的目的地址发送,因此借助高层协议的应用程序来伪造IP地址是比较容易实现的。
  二. 为什么要设置IP欺骗?
  对于某些服务器,是根据IP来分配资源,当某个IP地址访问频繁或者访问量过大时,服务器会拒绝访问,或者让你输入验证码,当然也有可能是来避免搜索引擎robot的任意爬取。
  网上还有些言论是说使用更多的IP来模拟较真实的用户使用环境,来测试负载均衡技术的处理能力,但是我始终想不明白这跟那个有什么关系,如果服务器可以接受同一IP大量访问,负载均衡不照样起作用,照样可以被测试到吗?(私人观点,意见可以保留)
  三. 设置前的准备工作
  1. 要有局域网的环境,因为只能设置局域网内的网段;
  2. 本地的IP设置不能为“自动获取”,必须指定一个静态IP。
  四. 如何设置
  第一步:
  运行Mercury LoadRunner- Tools-IP Wizard
  第二步:
  选择create new setting,点击“下一步”
  此时出现的页面是让输入服务器的IP地址,Loadrunner通过该地址更新路由表。
  客户端计算机上添加新的IP地址后,服务器需要将该地址添加到路由表,以便能够识别返回到客户端的路由。如果服务器和客户端具有相同的子网掩码、IP 类和网络,则不需要修改服务器的路由表。如果客户端和服务器计算机之间有一个路由器,则服务器需要识别经过该路由器的路径。确保将以下路由添加到服务器路由表:从 Web 服务器到路由器的路由,以及从路由器到负载生成器计算机上的所有 IP 地址的路由。
  第三步:
  在输入web服务器地址的页面中输入地址后,直接点击“下一步”
  进入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”,重新启动计算机。
  注:当保存IP地址列表后,下次启用IP欺骗时直接选择load previous setting from.....
第六步:
  启用IP欺骗
  选中Tools下的Expert mode,启动专家模式Expert mode,再点击Tools下的options,在Genearl选项卡中设置以线程方式或进程方式进行性能测试,这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式。
  在controller中,选择 Scenario-〉Enable IP Spoofer,此项设置允许使用IP欺骗。
  第七步:
  验证IP欺骗是否有效
  方法一
  计算机重新启动后,在运行行中输入:CMD,在DOS命令提示符窗口中输入:IPCONFIG,此时便可看到虚拟的IP地址均已经被启用;
  方法二
  在脚本的Action()部分增加如下代码:
  char * 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");
  然后通过控制器设置并运行场景,日志中可以看到IP地址。
  第八步:
  这一部很重要,如果不做这一步,很多IP地址就被占用了,可能你们网管跟你闹上了呵呵。打开IP Wizard,选择restore original settings释放所有虚拟IP。
  五.误区及答疑
  到现在为止,IP spoofer设置就告终了,但是最后有些疑问或者叫误区需要分享一下。
  Q/A:
  1.自己本地的IP地址不在虚拟IP段内,有影响吗?
  答:没有
  2.是否需要配置多个load generator来对应不同的虚拟IP呢?
  答:不用,这个过程是generator自己完成的。
  3.不同的generator是否都需要设置IP spoof呢?
  答:Definitely Yes,不然的话不设IP欺骗的那台只会使用一个本地的IP执行。
  4.虚拟用户数和虚拟IP数量上有什么关系呢?
  答:如果虚拟用户数大于IP数量时,每个用户会得到不同的IP,否则,会有IP重复的现象。
  5. 还有别的办法添加虚拟IP吗?
  条条大路通罗马,试试这个。
  在一台机上虚拟的IP跨网段的处理,可通过在服务器端添加路由来实现。
  例:
  服务器IP:192.168.0.1
  测试机IP:192.168.0.206
  测试机上添加的虚拟IP: 192.168.10.1~128
  那么在服务器端执行以下命令:
  route add 192.168.10.0 mask 255.255.255.0 192.168.0.206

posted on 2014-07-02 16:31 顺其自然EVO 阅读(524) 评论(0)  编辑  收藏 所属分类: loadrunner


只有注册用户登录后才能发表评论。


网站导航:
 
<2014年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜