前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LoadRunner 技巧之 IP欺骗 (推荐)

LoadRunner 技巧之 IP欺骗 (推荐)

作者头像
全栈程序员站长
发布2022-07-05 11:19:16
8340
发布2022-07-05 11:19:16
举报
文章被收录于专栏:全栈程序员必看

IP欺骗也是也loadrunner自带的一个非常有用的功能。

需要使用ip欺骗的原因: 1、当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果。 2、某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能。LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力。 3、有一些网站会限制同一个用户同一个IP 的登陆。为了更加真实的模拟实际情况,LoadRunner允许运行的虚拟用户使用不 同的IP 访问同一网站。

代码语言:javascript
复制
IP欺骗的设置方式

打开HP LoadRunner —->Tools —->IP Wizard

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

什么情况?!我们需要为自己的电脑配置固定的IP ,配置固定IP的方式,你懂的!

下面进入正式的配置过程:

第一步:

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

create new setting 创建新的设置

  当第一次使用IP欺骗或已经释放了添加的IP时,就需要选择这一项创建新有设置。

Load previous settings fro 读取IP列表文件

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

Restore original setting 释放已经设置的IP

  释放已经添加的IP 地址。

选择默认选中项:create new setting (创建新的设置) ,点击“下一步”

第二步:

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

让输入服务器的IP地址,Loadrunner通过该地址更新路由表。

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

  如果客户端和服务器计算机之间有一个路由器,则服务器需要识别经过该路由器的路径。确保将以下路由添加到服务器路由表:从 Web 服务器到路由器的路由,以及从路由器到负载生成器计算机上的所有 IP 地址的路由。

这里可以不做任何添加,点击“下一步”。

第三步:

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

默认显示本机的IP 地址,当然,我们还需要添加更多的IP 。点击“Add”进入IP添加页面。

第四步:

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

Class C、Class B、Class A 表示,我们要使用是的A类、B类还是C类IP地址。don’t use any of these 不要使用任何,它会把默认的IP与子网掩码清空。

(C类最多只能模拟255 个IP,如果你的需要更多,那么就需要使用A 类或B类)

from ip 输入框中输入起始ip

Number to 输入框中输入ip地址的个数,也就是说我们需要成多少个用于欺骗的IP

(我上面的配置是从110开始,按顺序生成5个)

Submask根据IP类型输入正确的子网掩码

选中“verify that new ip addresses are not already used”,点击“OK”。

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

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

第五步:

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

点击“save as”按钮,可以将我们设置的IP 保存成一个文件,以后再设置的时候,是在第一步里,我们可以选择第二个选项(Load previous settings fro),从文件导入IP 。

点击“ok”,IP Wizard开始帮我们成成IP 。

在命令提示符号输入ipconfig命令验证:

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

第六步:

打开loadrunner —> Controller ,选择Scenario—>Enable IP Spoofer ,此项打勾后表示允许使用IP欺骗。

代码语言:javascript
复制
创建测试脚本(IP欺骗)

经过上面的配置,你真的已经知道如何使用IP欺骗了么?或者你真的理解了IP欺骗?如何证明你已经使用了IP欺骗?

代码语言:javascript
复制
Action()
{
   //验证IP欺骗代码
    char * ip ;
        ip = lr_get_vuser_ip();
    if (ip)
        lr_output_message("当前虚拟用户使用的IP为: %s", ip);
    else
        lr_output_message("[enable IP spoofing ]选项没有被启用!");


     lr_start_transaction("百度首页");    //设置事务开始

    web_url("www.baidu.com", 
        "URL=http://www.baidu.com/", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t3.inf", 
        "Mode=HTML", 
        EXTRARES, 
        "Url=http://s1.bdstatic.com/r/www/img/i-1.0.0.png", ENDITEM, 
        "Url=http://s1.bdstatic.com/r/www/img/bg-1.0.0.gif", ENDITEM, 
        "Url=/favicon.ico", "Referer=", ENDITEM, 
        "Url=http://suggestion.baidu.com/su?wd=&cb=window.bdsug.sugPreRequest&sid=1440_2031_1945_1788&t=1362056239875", ENDITEM, 
        "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056247256", ENDITEM, 
        "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88%20&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056247969", ENDITEM, 
        "Url=http://suggestion.baidu.com/su?wd=%E8%99%AB%E5%B8%88%20%E5%8D%9A%E5%AE%A2%E5%9B%AD&p=3&cb=window.bdsug.sug&sid=1440_2031_1945_1788&t=1362056251016", ENDITEM, 
        LAST);

     lr_end_transaction("百度首页",LR_AUTO);    //设置事务结束

       return 0;
}

VUGen中运行上面脚本,结果一定是:[enable IP spoofing ]选项没有被启用!

备注:为什么要在脚本里加事物,这也是loadrunner11比较蛋疼的一个问题,当我修改过action循环次数后,再用Controller 跑脚本时,Passed Transactions 为显示为0 。当然,脚本本身没有任何问题,在脚本中添加事物可以预防这个问题的发生。

OK! 别急着保存脚本导入到Controller运行。打开菜单Vuser —>run-time settings

切换到Log选项

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

勾选所有log,不然等一下你会纳闷,为什么只能看到第一个虚拟用户的log。

切换到Miscellaneous选项

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

这里选择虚拟用户是以进程还是线程的方式运行。下面你可能会遇到的问题是要对这里进行修改的。

做完这几步可以把脚本保存,导入到Controller运行。

代码语言:javascript
复制
 验证IP欺骗

第一步:选择Scenario—>Enable IP Spoofer ,此项打勾后表示允许使用IP欺骗。(这里前面已经说过,这里只是再提醒一下)

第二步:勾选“Tools”—“Export Mode”

第三步:“Tools”—“Options”—“General”

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

这里又有一个设置以进程方式或线程方式进行性能测试。这里和run-time settings 里的设置是什么关系?

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

第四步

运行脚本,查看虚拟用户log

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

在脚本运行页面,点击Vusers…—-> 右键点击虚拟用户,在弹出的菜单中打开“show Vuser log” 可以看到每个用户使用的IP是不同的。

当然,还有另一种查看日志的方式:

菜单栏:Results —> Results Settings…

LoadRunner 技巧之 IP欺骗 (推荐)
LoadRunner 技巧之 IP欺骗 (推荐)

C:\Users\Administrator\AppData\Local\Temp 就是你运行脚本的目录,找到log\目录下面,也可以查看日志。

代码语言:javascript
复制
遇到的错误

  在运行脚本的过程中发现有不少的错误请求,于是,找开查看发现以下错误提示:“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 ”,如下:

代码语言:javascript
复制
..............
[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=On
ExtCmdLineConc=-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添加多次。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/110204.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年8月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IP欺骗的理解误区
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档