LR-ip欺骗

LR-ip欺骗

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

  如果是Win7系统,要以系统管理员的身份运行

  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,说明网络设置有问题,检查网络设置。


遇到的错误

  在运行脚本的过程中发现有不少的错误请求,于是,找开查看发现以下错误提示:“Error: Socket descriptor not found.  Hint: the problem might be solved applying the following: (1) Update Run-Time Settings to Run Vuser as a process. (2) Add the following line into mdrv.dat, [lr_socks] section: 'ExtCmdLineConc=-UsingWinInet Yes'.

解决方法
1、根据错误提示,在run-time setting中的Miscellaneous项中设置“run vuser as a process”;(前面已将教怎么设置)
 

2、...\Program Files (x86)\HP\LoadRunner\dat\mdrv.dat  

查找[lr_socks] 在后面添加“ ExtCmdLineConc=-UsingWinInet Yes ”,如下:

复制代码

..............
[lr_socks]
ExtPriorityType=hook
WINNT_EXT_LIBS=lr_socks.dll
WIN95_EXT_LIBS=lr_socks.dll
LINUX_EXT_LIBS=liblr_socks.so
SOLARIS_EXT_LIBS=liblr_socks.so
HPUX_EXT_LIBS=liblr_socks.sl
AIX_EXT_LIBS=liblr_socks.so
LibCfgFunc=lr_socks_configure
ExtMessageQueue=0
SecurityMode=OnExtCmdLineConc=-UsingWinInet Yes........

复制代码

 

3、如果仍然报错,在菜单栏中点击Diagnostics->configuration项,将web page diagnostics项改为:Enable (这一招只能说眼不见心不烦),我觉得还有更好的解决办法。

 

 

IP欺骗的理解误区

 

理解误区

    1、和Generator搞混。以为添加多个IP后,需要添加多个IP对应的Generator才可以使用。(同一个Generator只需要以其某一个IP添加到Generator列表中即可以使用其它的IP。)

    2、在上一个错误基础上,对于同一个脚本,创建多个Vuser执行组,然后以不同IP选择同一个物理Generator来执行。( 实际上,在场景中除非需要在这个Generator上运行多个不同脚本,否则没有必要多次以不同IP选择。)

 

其实只要记住两个要素即可使用这个功能:

     1、 用IP wizard 添加多个IP

     2、在Controller中通过Enable IP Spoofing

 

而在使用IP欺骗功能上应该注意三点:

   1、虚拟IP是同一个Generator上的多个IP,这种分配过程由Controller自动来进行;

   2、对于同一个Generator,你模拟的用户数量多于IP数量时,将会发生IP重复的现象,否则将随机分配不同的IP

   3、对于同一个Generator,以其某一个IP添加到Generator中即可,不需要用不同的IP添加多次。


你可能感兴趣的:(ip欺骗)